Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MYSQL] Wyświetlanie zdjęcia po ścieżce (path)
Yoozer
post
Post #1





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 26.05.2009

Ostrzeżenie: (0%)
-----


Witam
Na wstępie chcę zaznaczyć, że wykorzystane skrypty nie są mojego autorstwa są jedynie przerobione pod bazę z której korzystam. Pochodzą z różnych źródeł.

Mam już stworzoną bazę, wyświetlanie rekordów, dodawanie przez formularz.

Najpierw przedstawię trochę kodu, aby było wiadomo o co chodzi.
Formularz dodawania zdjęć:
  1. <form method="post" enctype="multipart/form-data">
  2. <table width="350" border="0" cellpadding="1" cellspacing="1" class="box">
  3. <tr>
  4. <td width="246">
  5. <input type="hidden" name="MAX_FILE_SIZE" value="2000000">
  6. <input name="userfile" type="file" id="userfile">
  7. </td>
  8. <td width="80"><input name="upload" type="submit" class="box" id="upload" value=" Upload "></td>
  9. </tr>
  10. <p> </p>
  11. </form>

Skrypt dodający dane zdjęcia (typ, ścieżkę itp.) do Bazy MySQL:
  1. <?php
  2. require "connection.php";
  3. connection();
  4. $uploadDir = 'C:/serwer/strony/uploads/';
  5. if(isset($_POST['upload']))
  6. {
  7. $fileName = $_FILES['userfile']['name'];
  8. $tmpName = $_FILES['userfile']['tmp_name'];
  9. $fileSize = $_FILES['userfile']['size'];
  10. $fileType = $_FILES['userfile']['type'];
  11. $filePath = $uploadDir . $fileName;
  12. $result = move_uploaded_file($tmpName, $filePath);
  13. if (!$result) {
  14. echo "Error uploading file";
  15. }
  16. {
  17. $fileName = addslashes($fileName);
  18. $filePath = addslashes($filePath);
  19. }
  20. $query = "INSERT INTO upload2 (name, size, type, path ) ".
  21. "VALUES ('$fileName', '$fileSize', '$fileType', '$filePath')";
  22. mysql_query($query) or die('Error, query failed : ' . mysql_error());
  23. echo "<br>Files uploaded<br>";
  24. }
  25. ?>

Formularz dodający rekordy:
  1. <form action="logowanie_udane.php" method="post">
  2. <span class="styllog">Nazwa:<br /></span>
  3. <input type="text" name="Nazwa" /><br />
  4. <span class="styllog">Typ:<br /></span>
  5. <input type="text" name="Typ" /><br />
  6. <span class="styllog">Opis:<br /></span>
  7. <textarea name="Opis" cols="60" rows="3"></textarea>
  8. <br />
  9. <input type="submit" value="dodaj" name="main" />
  10. </form>

Skrypt dodający rekordy do bazy:
  1. <?php
  2. // odbieramy dane z formularza
  3. $Nazwa = $_POST['Nazwa'];
  4. $Typ = $_POST['Typ'];
  5. $Opis = $_POST['Opis'];
  6. if($Nazwa and $Typ and $Opis) {
  7.    $connection = @mysql_connect('localhost', 'admin', 'admin')
  8.    or die('Brak połączenia z serwerem MySQL');
  9.    $db = @mysql_select_db('energomex', $connection)
  10.    or die('Nie mogę połączyć się z bazą danych');
  11.    $ins = @mysql_query("INSERT INTO stacje_trafo SET Nazwa='$Nazwa', Typ='$Typ', Opis='$Opis'");
  12.    $id = mysql_insert_id();
  13.    if($ins) echo '<font color="#fff">Rekord o ID: '.$id.' został dodany poprawnie</font>';
  14.    else echo 'Błąd nie udało się dodać nowego rekordu';
  15.    mysql_close($connection);
  16. }
  17. ?>

Wreszcie wyświetlenie rekordów z bazy w tabeli:
  1. <?php
  2. $wynik = mysql_query("SELECT * FROM stacje_trafo")
  3. or die('Błąd zapytania');
  4. if(mysql_num_rows($wynik) > 0) {
  5.    echo "<table cellpadding=\"2\" border=1 align=center bgcolor=#FAFAFA>";
  6.    echo "<tr>";
  7.    echo "<th>".Nazwa."</th>";
  8.    echo "<th>".Typ."</th>";
  9.    echo "<th>".Opis."</th>";
  10.    echo "</tr>";
  11.    while($r = mysql_fetch_array($wynik)) {
  12.        echo "<tr>";
  13.        echo "<td>".$r[1]."</td>";
  14.        echo "<td>".$r[2]."</td>";
  15.        echo "<td>".$r[3]."</td>";
  16.        echo "<td>
  17.       <a href=\"logowanie_udane.php?a=del&id_stacje={$r[0]}\">DEL</a>
  18.       <a href=\"logowanie_udane.php?a=edit&id_stacje={$r[0]}\">EDIT</a>
  19.       </td>";
  20.        echo "</tr>";
  21.    }
  22.    echo "</table>";
  23. }
  24. $id = trim($_GET['id_stacje']);
  25. if($a == 'del' and !empty($id)) {
  26.    mysql_query("DELETE FROM stacje_trafo WHERE id_stacje='$id'")
  27.    or die('Błąd zapytania: '.mysql_error());
  28.    echo '<font color="#fff"> Rekord został usunięty z bazy </font>';
  29. }
  30. ?>

Zdjęcie jest dodawane do katalogu "uploads/", dane o zdjeciu sa wpisywane jako kolejny rekord w tabeli "upload2"
dodatkowe rekordy do bazy w tabeli "stacje_trafo" są dodawane oddzielnym formularzem
Jak umożliwić wyświetlanie zdjęć ?
(IMG:http://www.energomex.pl/table.jpg)
1. Czy zlikwidować dodatkową tabelę ze zdjęciami "upload2"? i zamiast tego upychać zdjęcia w kolumnie bez dodatkowych zmiennych jedynie samo "Path" w odpowiedniej tabeli - "stacje_trafo" ?
2. Czy mogę wykorzystać istniejącą już tabelę ze zdjęciami "upload2" ?
3. Stworzyć następną kolumnę za "Opis" ? która będzie przekierowaniem do skryptu wyświetlającego zdjęcia przypisane po ID ?

Proszę o pomoc, jeśli ktoś nie ma czasu to proszę o kontakt ze mną i możemy się dogadać.

Ten post edytował Yoozer 27.05.2009, 19:41:37
Powód edycji: [erix] temat się przesiadł do sąsiedniego przedziału
Go to the top of the page
+Quote Post

Posty w temacie
- Yoozer   [PHP][MYSQL] Wyświetlanie zdjęcia po ścieżce (path)   26.05.2009, 22:56:28
- - TheaSiX   Myślę, że warto byłoby dodawa...   26.05.2009, 23:33:31
- - Yoozer   Wszystkie te informacje o plikach (NAME, SIZE itp)...   26.05.2009, 23:59:34
- - TheaSiX   tak możesz wyświetlać obraz opieraj...   27.05.2009, 00:33:34
- - Yoozer   Ok zrobiłem, ale jest problem ponieważ ścieżka pat...   27.05.2009, 17:18:06
- - TheaSiX   [PHP] pobierz, plaintext <?phpecho "<im...   27.05.2009, 21:52:33
- - Yoozer   Nie, to samo Parse Error w linii 12   27.05.2009, 22:57:45
- - erix   Średnik zjadłeś w jednej linii...   27.05.2009, 23:25:56
- - TheaSiX   w 4 linii zapomniałeś ";" [PHP] pobierz...   27.05.2009, 23:29:09
- - Yoozer   Dziękuję. Mimo zaprzestania generowania ...   27.05.2009, 23:34:40
- - TheaSiX   Czy jak ładujesz plik to pojawia się on na serwerz...   28.05.2009, 00:00:49
|- - Yoozer   Cytat(TheaSiX @ 28.05.2009, 01:00:49 ...   28.05.2009, 01:05:26
- - TheaSiX   jeśli folder jest zawsze taki sam nie ma sensu do ...   28.05.2009, 08:10:21
- - Yoozer   Tak wydrukował zmienną $nazwa z wsz...   28.05.2009, 13:13:19
- - TheaSiX   zrób jakąś stronę np. test.html i wpisz tam [HTML...   28.05.2009, 18:32:21
- - Yoozer   Nie wyświetliło, żadnym sposobem ...   28.05.2009, 21:20:52
- - nospor   no ale do obrazka w <img> nie mozna podawac ...   28.05.2009, 21:36:54
- - Yoozer   Ok działa: <img src="uploads/berwick1...   29.05.2009, 00:22:00
- - TheaSiX   masz na myśli zwykły: [HTML] pobierz, plaintext ...   29.05.2009, 01:09:36
- - Yoozer   Tak, tylko w wyświetlaniu bazy zamiast rekord...   29.05.2009, 01:34:05
- - TheaSiX   [PHP] pobierz, plaintext <?php$id_s = $r[...   29.05.2009, 08:08:54
- - Yoozer   OK, najpierw wyświetlanie bo to nadal nie działa j...   29.05.2009, 15:48:05
- - TheaSiX   link do zdjęcia? czyli te dwa EDIT i DEL ? jeśli ...   29.05.2009, 16:52:04
|- - Yoozer   Cytat(TheaSiX @ 29.05.2009, 17:52:04 ...   29.05.2009, 18:43:11
- - TheaSiX   To zależy.. możesz zrobić ogólne usuwanie całego r...   30.05.2009, 15:33:58


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 26.09.2025 - 14:33