Autor Zpráva
Pavel Calta
Profil *
Dobrý den, prosím o radu: mám např. internetový obchod, kde chci mít na jedné stránce text, popis,.. ale chci tam mít i fotky a protože každý produkt má jiný počet fotek a stránky jsou dynamické jak udělat zobrazení fotek? Napadlo mě použít pole s čísel index a jejich hodnoty (cesta k fotce) poslat na výstup fotce. Nevím jak to zrealizovat. Má někdo nějaký nápad?
Díky Pavel Calta
Anonymní
Profil *
Nevím jak máš dělaná ten obchod, ale pokud má každý výrobek svoje ID tak je lepíš udělat si tam další sloupec třeba foto a do toho si ukládat názvy fotek. Pak totiž jen vypíšeš daný produkt podle ID a máš hotovo.
Já to dělam tak, že pro každou fotku generuju unikátní číslo a náhled dělam s "s_" takže stačí jeden sloupec vlastně na náhled i na velkou fotku.
djlj
Profil
Pavel Calta
Ke každému produktu si ulož ve zvláštním sloupci i adresy obrázků - například oddělené středníkem. Po výběru z databáze to rozděl pomocí explode a vypiš foreachem ;).
Pavel Calta
Profil *
Jo ten Foreach mě nenapadl. zkusím děkuji
25k_ZZZ
Profil *
Nebude snad lepsi tabulka?

ID_obrazku | ID_produktu


... ???
djlj
Profil
25k_ZZZ
Zbytečný dotaz na databázi navíc ;)
25k_ZZZ
Profil *
ale ta udrzovatelnost, ta udrzovatelnost ...
navic takhle ma spravny navrh vypadat ;-)
djlj
Profil
ale ta udrzovatelnost, ta udrzovatelnost
No podle mě udržovatelnost (v případě nějakého administračního rozhraní) není vůbec složitá. Sám tohle používám, protože víc než o „hezký návrh“ mi jde o výslednou rychlost provedení dotazu a zátěž na databázi.
25k_ZZZ
Profil *
Toto neni hezky navrh, toto je standardni relace. Pokud si chces do DB cpat hodnoty oddelene separatorem prosim, ale je to trosku mimo smysl DB pojeti.
Pavel Calta
Profil *
Pánové, funguje děkuji.
YoSarin
Profil
djlj
Nerad zabíhám do off-topicu, ale 25k_ZZZ má pravdu - data v DB mají být atomická, a to v tomhle případě IMHO nejsou. Co se týče dotazu navíc - není to pravda (nebo jak se to vezme) stačí poddotaz který z tabulky [img | prod_id] vytahá všechny relevantní obrázky:

SELECT p.id, p.info, (SELECT group_concat(i.img SEPARATOR ';') FROM images WHERE i.prod_id = p.id GROUP BY i.prod_id) images FROM produkt p
WHERE p.id = HLEDANE_ID;


+- by to tak nějak mohlo bejt a myslím že DB jsou dneska natolik optimalizace schopný, že to o moc pomalejší nebude...
Nebo se z tohohle návrhu může vygenerovat pohled určený pouze pro vyhledávání dat - ten by se ale musel re-generovat při každé změně obrázku.

Snad jsem ten dotaz moc nepooral :-)
Yo'Sarin
Pavel Calta
Profil *
Zdravím narazil jsem ale na problém pokud použiju explode tak se jediné co dozvím je array .
takhle to funguje:
$fotky = array ("dorjan-2006/country-cross/country-cross-cc01.jpg", "dorjan-2006/country-cross/country-cross-cc05.jpg", "dorjan-2006/country-cross/country-cross-cc08.jpg","dorjan-2006/countr y-cross/country-cross-cc09.jpg","dorjan-2006/country-cross/country-cro ss-cc11.jpg");

foreach ($fotky as $fotky2) {

echo "<IMG SRC="$fotky2" alt="$fotky2">";
}

ale když to chci tahat z databáze jak to mám provést?
Pavel Calta
Profil *
Ještě bych napsal, že jsem celkem začátečník takže pokud by bylo možno to napsat "polopatě"
krteczek
Profil
predpokladam ze v db sou ty fotky ve sloupci fotky:

$dotaz = "SELECT * FROM tabulka_zbozi where id=5";
if($v = mysql_query($dotaz))
{
if(mysql_num_rows($v) == 1)
{
$r = mysql_fetch_assoc($v);
$obrazky = explode(';', $r['fotky']);//$obrazky je pole obsahujici všechny obrazky
...
}
}

krteczek
Pavel Calta
Profil *
Funguje dík
jana.m
Profil *
ahoj nevím, jak poslat obrázek
bukaj
Profil
jana.m ahoj nevím, jak poslat obrázek
:D lol :D to máš blbý
Toto téma je uzamčeno. Odpověď nelze zaslat.