Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wyswietlanie z bazy MySQL obrazka i opisu do niego
Forum PHP.pl > Forum > PHP
idas
Yo!
Mam pewien problem. Kod mojego okna wyglada tak [zrobiony na podstawie ksiazki "PHP i MySQL Witryna WWW oparta na bazie danych" Kevin Yank"]:
  1. <?php
  2. //strona 84; Laczymy sie z baza i przypisujemy wartos polaczenia do zmiennej
  3. $dbcnx = @mysql_connect('localhost', 'root', 'aaa');
  4. if(!$dbcnx)
  5. {
  6. exit('<p> W tej chwili nie mozna zalogowac sie do MySQL!</p>');
  7. }
  8.  
  9. //Jesli sie polaczylismy to sprawdzamy podlaczenie sie do bazy danych DVD
  10. if(!@mysql_select_db('DVD'))
  11. {
  12. exit('<p>Nie mozna sie polaczyc z baza danych DVD!</p>');
  13. }
  14.  
  15.  
  16. $id_filmu = $_GET['id_filmu'];
  17.  
  18. $sql = "SELECT opis_film, nazwapliku, typmime, danepliku
  19. FROM filmy
  20. WHERE id='$id_filmu'";
  21.  
  22. $result = @mysql_query($sql);
  23.  
  24. if (!$result) {
  25. exit('Problem podczas pobierania danych z tabeli filmy!');
  26. }
  27.  
  28.  
  29. $file = mysql_fetch_array($result);
  30.  
  31. if (!$file) {
  32. exit('Nie znaleziono pliku o podanym id w bazie danych!');
  33. }
  34.  
  35. $opis_film = $file['opis_film'];
  36. $filename = $file['nazwapliku'];
  37. $mimetype = $file['typmime'];
  38. $filedata = $file['danepliku'];
  39.  
  40. header("content-disposition: inline; filename=$filename");
  41. header("content-type: $mimetype");
  42. header('content-length: ' . strlen($filedata));
  43.  
  44. echo $filedata;
  45.  
  46. echo $opis_film;
  47.  
  48. exit();
  49. ?>

Omowienie kodu:
- zmienna $id_filmu to przesylany identyfikator filmu w URL
- w zmiennej $opis_film jest pobrana wartosc z tablicy filmy w bazie MySQL
- w $filedata jest plik graficzny
Klopot w tym ze nie wyswietla mi ten skrypt na raz i obrazka i tekstu :/ Moge wyswietlic, albo tekst, albo obrazek. Wydaje mi sie, ze wszystko przez linijke header("content-type: $mimetype");, ktora okresla mi typ na "nie" tekst :/
Jak wymaze ta linijke header("content-type: $mimetype"); i echo $filedata; to tekst sie wyswietla. Jednak w takiej formie jak powyzej to nie dziala :/
Ktos pomoze?
Dzieki
kwiateusz
zdaje mi sie że musiałbyś to rozbić na 2 pliki bo w jednym nie można dwóch nagłówków przesłać od obrazka i tekstu...
idas
Rozbic jak?
Bo robiac include('plik_test.php'), gdzie w tym pliku mam cala procedure pobierania wartosci opis_film i pozniej robiac echo $opis_film, efekt jest caly czas ten sam :/
macek
dziwnie jakoś to robisz ;| a jaki cel dokładnie chcesz osiągnąć ?
dobra książka na początek smile.gif
Kicok
W pierwszym pliku łączysz się z bazą danych i pobierasz sam opis filmu. Wyświetlasz go mniej więcej tak:
  1. <?php
  2. echo($opis_film);
  3. echo('<br /><br /><img src="get_img.php?id_filmu=' . $id_filmu . '" border="0" />');
  4. ?>


A w drugim pliku (get_img.php) łączysz się z bazą danych, pobierasz typmime i danepliku, wysyłasz nagłówki i dane zdjęcia
idas
Kicok Szefie dzieki dziala winksmiley.jpg
macek co dziwnie robie? Tak po prostu jest w tej ksiazce...
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.