Autor Zpráva
Karel Urban
Profil
Dobrý den, prosím o radu. Mám problém se zobrazením obrázků uložených v databázi mysql. Konkrétně se jedná o e-shop. V databázi mám uložené jednolivé položky zboží + v posledním poli typu blob obrázek. Výsledek v prohlížeči je ten, že všechny charakteristiky zboží se vypíšou, ale obrázek "vyleze" v textové podobě. Nějak prostě potřebuju prohlížeči říct, že tu poslední položku má zobrazovat jako obrázek. Zkoušel jsem použít funkci HEADER, ale nefunguje mi to. Navíc mam pocit, že zobrazí pouze jeden obrázek. Pro upřesnění přidávám ukázku kodu. Předem díky za pomoc.

$spojeni = mysql_connect("localhost", "root", "") or die (mysql_error());
mysql_select_db("mysql") or die(mysql_error());
$result = mysql_query("select * from alu where roztec like '3/98%' order by cena") or die(mysql_error());
while($row = mysql_fetch_array($result)){
echo
$row['vyrobce']. " ".$row['model']."<br />"
.$row['specifikace']."<br />"
.$row['cena']."</br>"

.$row['obrazek']."<br />";
};
gogy27
Profil
nemal by si dat ten $row['obrazek'] do img? myslim tym <img src="<?php $row['obrazek']" ?>> nwm ci to je spravne... ale za pokus to stoji
Karel Urban
Profil
Dík za radu. Taky se mi to jeví jako logický a nic proti ničemu. Dělal jsem to podobným stylem(přidal jsem tam jen ukončení skriptu po echo), nicméně to nefunguje.

echo ?> <img src="<?php $row['obrazek'] ?>"> <?

Nebo jsem zkoušel druhej způsob. Dát celej img do uvozovek a neukončovat skript ( echo "<img src=' $row['obrazek'] ' >" ), což mi začalo zobrazovat obrázky, nicméně prázdný, takže usuzuju, že to "nesežralo" ten vnitřek s tou proměnnou. Řek bych, že problém může bejt v uvozovkách, ale nevim. První uvozovky jsou po echu, pak bych asi dal jednoduchý, ale co dát pak k tý proměnný? Zkoušel jsem apostrof, ale to nefunguje.
gogy27
Profil
Karel Urban
echo "<img src=/"$row['obrazek']/" >"
skus takto ale nwm ci to bude ok
tiso
Profil
[#4] ???
Karel Urban - pchať obrázky do databázy je blbosť... Okrem toho ak ho chceš vypísať tak potrebuješ ďalší http request:

echo '<img src="/subor-ktory-vypluje-obrazok.php?id=123">'


a subor-ktory-vypluje-obrazok.php:

<?php
//vyber obrazok z db podla $_GET['id']
//posli hlavicky
//posli obrazok
?>
Karel Urban
Profil
Ok díky, doufám, že to nějak rozlousknu, ale vzhledem k tomu, že s programováním začínám(resp. dělám si pouze e-shop pro sebe a pak končim), tak je to pro mě dost stručný :)). Pokud jde o ukládání souborů do databáze nebo odkazování na ně, jsem pro odkazování. Nicméně po úsilovným hledání jsem nikde nenašel, jak ten "odkaz na soubor" v poli vypadá(jesi je to nazev_souboru.jpg nebo jak), co je to za typ pole apod, jak to pak vyvolám..... Takže to pachtim takhle.
tiso
Profil
Karel Urban - ukladaj si obrázky do nejakého adresára, a do databázy si budeš ukladať iba cestu k nim. Ten stĺpec v DB si sprav typu varchar(255), a potom budeš na obrázok odkazovať ako si si to napísal v [#3]
Karel Urban
Profil
čili teda nějak takhle?:
v databázi ve sloupci pro obrázek bude cesta ve stylu: nazev_adresare/nazev_souboru.jpg,
(adresar bude umístěnej tam, kde se spouští skript nebo tam, kde jsou uložený databáze?)
ve skriptu pak teda bude stačit vypsat to, co jsem si napsal ve #3 a obrázek by se měl v pohodě načíst
tiso
Profil
Karel Urban - presne tak, adresár s obrázkami tam kde máš PHP skript, pokiaľ nepoužívaš nejaké include s podadresárov...
Karel Urban
Profil
ok, ještě jednou díky moc za rady. Jdu testovat. :)
pepo
Profil *
ahoj, ja mam uz len jeden dotaz k tomuto, ako poslem nazov suboru do stlpca v dB? Dik za tip..

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: