Diskuze: Zobrazování miniatury u záznamu v SQL tabulce
V předchozím kvízu, Online test znalostí SQL a databází, jsme si ověřili nabyté zkušenosti z kurzu.
Člen
Zobrazeno 16 zpráv z 16.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí SQL a databází, jsme si ověřili nabyté zkušenosti z kurzu.
Přidáš si tam normálně sloupec typu varchar, kde bude cesta k obrázku, který k záznamu patří.
Z tvého dotazu není (alespoň mě) vůbec jasné pro jaký účel to řešíš jestli to bude nějaká deskrop appka, nějaká web galerie, nebo já nevím co ... tak že existuje celá řada řešení. Některá vhodnější, jiná méně.
Jde mimo jiné i o to kde máš obrázky uložené. Pokud máš např. nějakou tabulku kam obrázky ukládáš, přidej do stávající tabulky sloupec s převzatým klíčem entity z tabulky obrázků. Pak se jednoduše na obrázek dostaneš přes ID. Případně to co říkal David je také správně, ale pokud budeš mít pro celou aplikaci jediný obrázek symbolizující "náhled" je zase kravina rozšiřovat kvůli tomu DB tabulku a u každého záznamu tam ukládat to stejné. V takovém případě si cestu k obrázku ulož někam jinam a jen jednou (nějaký config, ini, XML s nastavením, ... cokoli jiného).
Chci udělat web, kde se budou hledat jednotlivé produkty. A pak, aby v případě, že bude k danému produktu dostupný obrázek, aby měli možnost uživatelé po najetí myši se podívat na náhled daného produktu.
To, že bych tam mohla přidat k jednotlivým produktům i obrázek mě napadlo nyní, tzn. zatím mám jen vytvořenou tabulku popisovanou výše a nemám žádnou další tabulku pro ukládání obrázků apod.
Můžete mi, prosím, kluci dát nějaký příklad?
Když přidám tedy sloupeček typu VARCHAR, jak by měl být tento sloupeček zaplněn odkazem v případě, že obrázky budou uloženy na serveru, kde by web bežel?
Děkuji
Do sloupce s obrázkem uložíš cestu k obrázku: třeba www.web.cz/…/obrazek.jpg
A pak normálně do img src vložíš tuhle adresu, kterou vytáhneš z
databáze, to už asi víš jak
Děkuji, snažím se zapsat cestu obrázku do pole typu VARCHAR, ale nějak si nevím rady s jeho fungováním.
1. pokus:
('1994','BARUM',' ','1','Pavel',' ','<img src="/pokus/1.jpg">'),
2. pokus:
('1994','BARUM',' ','1','Pavel',' ','<img src=/pokus/1.jpg>'),
Předpokládám, že ani jeden z výše mnou uvedených způsobů nebude správně?
Ted uplně nevím o co se snažíš, chceš napsat SQL dotaz? A jinak piš tam jenom tu cestu, bez img src
Chtěla jsem do posledního sloupečku umístit odkaz, kde mám nahraný obrázek a pak pomocí SQL dotazu tuto tabulku zobrazit, abych zjistila, zda se obrázky zobrazují, či nikoliv.
pro zobrazení tabulky jsem použila:
<?php
$databaze="checklist";
$spojeni=mysql_connect("sql1.webzdarma.cz","checklist","heslo");
$co="SELECT * FROM tabulka";
$navrat=mysql_db_query("checklist", $co, $spojeni);
echo ("<table border=\"1\">");
for ($i=0;$i<mysql_num_fields($navrat); $i++){
echo ("<td><strong>".mysql_field_name($navrat, $i)."</strong></td>");
}
while (list($year, $distributor, $description, $number, $name, $limit, $img) = mysql_fetch_row($navrat)){
echo ("<tr><td>$year</td><td>$distributor</td><td>$description</td><td>$number</td><td>$name</td><td>$limit</td><td>$img</td></tr>");
}
echo ("</table>");
?>
Pokud uvedu do posledního sloupce (u mě pojmenovaného jako img) tento kód:
'/pokus/1.jpg'
Už by se měl obrázek zobrazit u daného záznamu, nebo mě napadá ještě jedna věc co se týká zobrazení, zda $img nevyžaduje nějaký speciální zápis?
Tak jestli do db ukládáš "/pokus/1.jpg" tak proměnnou img bys měla dosadit do img src:
<img src=$img>
A nepoužívej mysql_ ale koukni se na PDO.
Tak jsem zkusila tyto možnosti:
('1994','BARUM',' ','1','Pavel',' ','/pokus/1.jpg'),
('1994','BARUM',' ','1','Pavel',' ','pokus/1.jpg'),
('1994','BARUM',' ','1','Pavel',' ','http://www.xxx.cz/pokus/1.jpg'),
A k tomu použila zatím mnou výše uvedený kód (upraven o pole pro img)
<?php
$databaze="checklist";
$spojeni=mysql_connect("sql1.webzdarma.cz","checklist","heslo");
$co="SELECT * FROM tabulka";
$navrat=mysql_db_query("checklist", $co, $spojeni);
echo ("<table border=\"1\">");
for ($i=0;$i<mysql_num_fields($navrat); $i++){
echo ("<td><strong>".mysql_field_name($navrat, $i)."</strong></td>");
}
while (list($year, $distributor, $description, $number, $name, $limit, $img) = mysql_fetch_row($navrat)){
echo ("<tr><td>$year</td><td>$distributor</td><td>$description</td><td>$number</td><td>$name</td><td>$limit</td><td><img src=$img></td></tr>");
}
echo ("</table>");
?>
Avšak v tabulce se mi nedaří obrázek zobrazit.
Obrázek je oficiálně uložen cestou:
http://www.xxx.cz/pokus/1.jpg
že by v ní byl nějaký problém?
to předposlední echo uprav na
echo ("<tr><td>$year</td><td>$distributor</td><td>$description</td><td>$number</td><td>$name</td><td>$limit</td><td><img src=\"$img\"></td></tr>");
chybí ti uvozovky u atributu src
To bude ono, počítal jsem s tím že to tam má uložený i s uvozovkama...
Tak netuším, kde může být chyba. Zkoušela jsem dávat
('1994','BARUM',' ','1','Pavel',' ','/pokus/1.jpg'),
('1994','BARUM',' ','1','Pavel',' ','http://www.xxx.cz/pokus/1.jpg'),
<?php
$databaze="checklist";
$spojeni=mysql_connect("sql1.webzdarma.cz","checklist","heslo");
$co="SELECT * FROM tabulka";
$navrat=mysql_db_query("checklist", $co, $spojeni);
echo ("<table border=\"1\">");
for ($i=0;$i<mysql_num_fields($navrat); $i++){
echo ("<td><strong>".mysql_field_name($navrat, $i)."</strong></td>");
}
while (list($year, $distributor, $description, $number, $name, $limit, $img) = mysql_fetch_row($navrat)){
echo ("<tr><td>$year</td><td>$distributor</td><td>$description</td><td>$number</td><td>$name</td><td>$limit</td><td><img src=\"$img\"></td></tr>");
}
echo ("</table>");
?>
A výsledek stále stejný (viz vložený obrázek). Proč mi zároveň naskakuje do sloupečku "limit" zřejmě náznak na zobrazení souboru?
Nemá tam být v obrázku hockey_img, ale pouze img.
Jeee kluci, nedalo mi to a zkoušela různé kombinace a najednou to funguje. Alespoň tedy tak, že se zobrazí obrázek.
Zakopaný pes byl v tom, že když jsem dala "SELECT * FROM", tak mi to vypsalo všechny sloupečky vč. ID a tím se mi posunul i zápis pro zobrazení obrázku, a proto byla snaha ho zobrazit ve sloupci "limit".
Když jsem zadala "SELECT year, distributor .... FROM", tak už se mi obrázek zobrazuje v tabulce.
Ještě bych chtěla funkci zobrazování obrázku rozšířit o
následující:
pokud by byl u dané položky obrázek dostupný, zobrazila by se např. ikonka
fotoaparátu a když by se myší na tento fotoaparát najelo, tak by se ukázal
daný obrázek.
Bude zapotřebí změnit jen tuto část kódu?
<img src=\"$img\">
googlitjsem různé kombinace
<a href=\"$img\"><img src=\"$img\" width=\"50\" height=\"50\" alt=\"obrázek\"></a>
smiesek: Děkuji.
Trošku to plní jiný účel, než jsem si představovala a tak bych měla dotaz týkající se zobrazení obrázku do bubliny.
Na internetu jsem našla, že by se to dalo implementovat do
title=""
.
Zkoušela jsem různé kombinace a nějak se mi to nedaří. Máte někdo
zkušenosti a mohl by mi poradit, jak zapsat do
title=""
cestu pro zobrazení obrázku z pole? V mém případě $img.
První pokus:
title=\"$img\"
Zobrazuje mi to pouze url cestu, kde je obrázek uložen.
Druhý pokus:
title=<img src=\"$img\" />
Tady mi už zlobí závorky. Asi místo závorek musím použít uvozovky, ale v těch se ztrácím a vždy kombinace co mě napadla, tak havarovala.
Vím, že tam budu muset asi nějak zakomponovat syntax pro img.
Děkuji za případné rady.
Zobrazeno 16 zpráv z 16.