Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL] Grafika z bazy danych
Forum PHP.pl > Forum > Przedszkole
pikasso
Hej mam taki problem mianowicie mam utworzoną tabele firma znajdują się w niej jakieś rekordy.
Jednym z nich jest Logo
i teraz moje pytanie brzmi jeżeli podam ścieżkę do obrazka jako wartość w polu logo np. C:\galeria\1.jpg
to jak mam to odczytać za pomocą PHP?
No chyba ze podacie jakiś inny sposób pobierania obrazków z bazy danych smile.gif z góry dziękuję smile.gif
Mlodycompany
  1. <?php
  2. $result = mysql_query("SELECT * FROM `tabela`");
  3. $row = mysql_fetch_array($result);
  4. echo '<img src="'.$row['zdjecie'].'">';
  5. ?>
pikasso
Zrobiłem coś takiego wkleiłem i nie widzi obrazka niestety smile.gif powinien być znaczek Google dla przykładu ale jest puste pole

  1. <?php
  2. @$db = mysql_connect("localhost", "root", "123456z") or die("nie mozna polaczyc z baza danych".mysql_error());
  3. mysql_query("set charset latin2");
  4. mysql_select_db("ksiazka") or die("nie mozna wybrac bazy danych"); 
  5. $result = mysql_query("SELECT * FROM `firma`");
  6. $row = mysql_fetch_array($result);
  7. echo '<img src="'.$row['C:AppServwwwKTlogo_plain.png'].'">';
  8. ?>


a tak wyglada insert do mojej bazy
  1. INSERT INTO `ksiazka`.`firma` (`idFirma`, `idMiasto`, `idTelefon`, `Nazwa`, `Logo`, `Kod_poczt_firm`, `Ulica_firm`, `Branza`) VALUES (NULL, '2', '2', 'bx', 'C:\\AppServ\\www\\KT\\logo_plain.png', '10-100', 'ghj', 'hhgg');


oto wynik zapytania mojego smile.gif

piotrooo89
tu
  1. <?php
  2. echo '<img src="'.$row['C:AppServwwwKTlogo_plain.png'].'">';
  3. ?>


daj:
  1. <?php
  2. echo '<img src="'.$row['Logo'].'">';
  3. ?>
pikasso
Nie wiem dalej nic nie idzie może to wina typu zmiennej jaka dałem dla wiersza gdzie wklejam ścieżkę dostępu?
bo dałem varchar ale chyba teraz myślę ze to jest źle ...
  1. CREATE TABLE Firma (
  2. idFirma INT UNSIGNED NOT NULL AUTO_INCREMENT,
  3. idMiasto INT UNSIGNED NOT NULL,
  4. idTelefon INT UNSIGNED NOT NULL,
  5. Nazwa VARCHAR(100) NULL,
  6. [b]Logo VARCHAR(70) NULL,[/b]
  7. Kod_poczt_firm VARCHAR(6) NULL,
  8. Ulica_firm VARCHAR(30) NULL,
  9. Branza VARCHAR(40) NULL,
  10. PRIMARY KEY(idFirma),
  11. INDEX TelFirma_FK(idTelefon),
  12. INDEX MiastoFirma_FK(idMiasto),
  13. FOREIGN KEY(idTelefon)
  14. REFERENCES Telefon(idTelefon) ON DELETE RESTRICT ON UPDATE CASCADE,
  15. FOREIGN KEY(idMiasto)
  16. REFERENCES Miasto(idMiasto) ON DELETE CASCADE ON UPDATE RESTRICT
  17. );
Shili
daj: echo $row['Logo']; i powiedz co Ci wypisuje.
pikasso
wyrzuca coś takiego

Cytat
C:\AppServ\www\KT\logo_plain.png

i potem wyskakuje ta pusta ikonka mimo że usunełem poprzedni wpis wyświetlający
Shili
To wklej to do paska adresu i sprawdź czy pod tym adresem jest obrazek.
pikasso
Nie nie wyskakuje jak wkleję ten adres w przeglądarkę
ale jak wrzucę obrazek w przeglądarkę to wyskakuje taki odnośnik
Cytat
file:///C:/AppServ/www/KT/logo_plain.png
Shili
C:\AppServ\www\KT\logo_plain.png <- ten adres przeglądarka powinna Ci samodzielnie przekodować na poprawny (poprawny jest zależny od przeglądarki.

Swoją drogą nie możesz dodać ścieżek względnych?
pikasso
zmieniłem nazwę pliku na 1.png
Cytat
c:\AppServ\www\KT\1.png

po wklejeniu w przeglądarkę tego linku przeglądarka normalnie go interpretuje i wyświetla obrazek
ale gdy ma wyświetlić poprzez mySQL i PHP to tylko wyrzuca ten kod co wyżej i pusta ikonkę obrazka
Shili
A jak wyświetlasz czystym htmlem?
czyli na stało wpisanym znacznikiem img?
pikasso
chyba na stałe wpisanym znacznikiem bo nie mogę wziąć zobaczyć źródła strony
Shili
Chodziło mi o stworzenie na stronie, na przykład na samej górze body znacznika:
  1. <img src="c:\AppServ\www\KT\1.png" />
pikasso
zrobiłem i nic nie wyświetla
Shili
Czyli błąd nie jest na poziomie php.

Ponawiam pytanie - czy koniecznie muszą być ścieżki absolutne i nie możesz stworzyć ścieżek względnych?
pikasso
Mogą być ścieżki względne ale jak sie je tworzy questionmark.gif
Shili
To dodaj sobie ten plik 1.png do folderu, w którym masz swój plik php i dodaj ścieżkę typu 1.png, sprawdź, czy wtedy wyświetli. U mnie wyświetla. Ścieżki typu http://cośtam/plik.jpg też wyświetla.

Ścieżki względne to ścieżki od folderu z plikiem.

Czyli mając układ:

- katalog1
-- plik1.php
-- plik2.php
-- obrazek
-- katalog2
--- obrazek1.png
--- plik3.php

żeby z pliku1 wyświetlić obrazek musisz wpisać: katalog2/obrazek1.png, a żeby z pliku3 obrazek: ../obrazek.png
../ <- przenosi folder wyżej.
Lejto
poczytaj o grafice w mysql tu:
http://www.diaboli.pl/index.php?site=blob
pikasso
Ok w końcu działa poprawnie smile.gif
Trzeba było wejść przez localhosta i poprostu wejść do folderu z grafika i wtedy kopiować adresy i te adresy wklejac do bazy danych smile.gif oto przykład biggrin.gif
Cytat
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.