Autor | Zpráva | ||
---|---|---|---|
Frantisek Kuncl Profil |
#1 · Zasláno: 15. 2. 2007, 14:33:01 · Upravil/a: Frantisek Kuncl
Dobrý den,
mám dvě tabulky, kdy dostávám z jedné tabulky text o někom a porovnáním id dostanu (chtěl bych dostat) fotky, které mám ve druhé tabulce (několik fotek vždy ke každému jménu). <?php $res = mysql_query("SELECT umelci_jmeno, umelci_prijmeni, umelci_obor, umelci_cv, umelci_fotonazev, umelci_foto, umelci_fotocopyright FROM umelci_basic INNER JOIN umelci_pics ON ub_id=umelci_nazev WHERE umelci_prijmeni = '$nazev' LIMIT 10"); /*vybere data z basic a pics*/ if($res !== FALSE){//pokud jsou data vystup ano while($data=mysql_fetch_assoc($res)){ echo'<div id="box">'; echo $data['umelci_cv']; echo '<img src="'; echo $data['umelci_foto']; echo '">'; echo '</div>';} } else {} Tento postup mi vypíše sice všechny fotky, ale zárověň i text několikrát za sebou. Mohl by jste mi někdo poradit, jak na to dál? Dík moc FraK |
||
nightfish Profil |
#2 · Zasláno: 15. 2. 2007, 14:52:56
Frantisek Kuncl
průběžně si ukládat do proměnné aktuálního umělce (ideálně nějakou jedinečnou identifikaci) a při každém průchodu porovnávat starou hodnotu s aktuální jestliže jsou stejné, nezobrazujeme text, jenom obrázek jestliže jsou různé, tak: 1) do staré hodnoty uložíme aktuální 2) vypíšeme text a první fotku |
||
Frantisek Kuncl Profil |
#3 · Zasláno: 15. 2. 2007, 14:58:05
Mne napadlo řešení (které zatím neumím dát do příkazu ( to nightfish popsaný způsob taktéž ne)): Nejdříve načíst cyklem všechny fotky a když vrátí FALSE u fotek, tak načíst text a konec. Šlo by to taktéž tak a nebo se škrábu rukou n aopačné straně hlavy?
|
||
Joker Profil |
#4 · Zasláno: 15. 2. 2007, 15:11:20 · Upravil/a: Joker
Jestli máte MySQL 4.1 a dál, dalo by se to snad řešit přes GROUP_CONCAT, tj. místo fotky udělat GROUP_CONCAT(fotky SEPARATOR ',') a celou tabulku dát GROUP BY *nějaké ID umělce*
A potom v PHP explodovat sloupec tím separátorem a vypsat položky Nějak takhle. |
||
Frantisek Kuncl Profil |
#5 · Zasláno: 15. 2. 2007, 15:15:38
Pokusím se. MySQL 4.1.21 děkuji
|
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0