Új hozzászólás Aktív témák
-
cucka
addikt
válasz
Sk8erPeter #3189 üzenetére
Nem igazán értem, hol akadtál el. Valahogy így oldanám meg:
$tomb=array();
$elozonev=null;
$res=mysql_query("select * from tablanev order by nev asc");
while ($row=mysql_fetch_assoc($res)){
$tomb[]=$row;
}
for ($i=0;$i<count($tomb);$i++){
if ($i==0 || $tomb[$i]['nev']!=$tomb[$i-1]['nev']{
//nagy kep kiirasa
print '<img src="'.$tomb[$i]['nagy_kep_url'].'"" />';
} else {
//kis kep kiirasa
print '<img src="'.$tomb[$i]['kis_kep_url'].'"" />';
}
if (!isset($tomb[$i+1]) || $tomb[$i+1]['nev']!=$tomb[$i]['nev']){
print 'Kutya neve: '.$tomb[$i]['nev'];
}
}A program név szerint abc sorrendben kiír minden kutyához egy nagy képet, n darab kis képet és a végén a kutya nevét.
A lényeg: végigiterálunk a sorokon és azt figyeljük, hogy mikor érünk el egy új kutya adataihoz. Ha új kutyához érünk, akkor nagy képet írunk ki, különben kis képet. Ha a következő kép már egy új kutyához tartozik, akkor kiírjuk a kutya nevét.
Az adatok kutyanév szerint vannak rendezve, tehát olyan nem fog előfordulni, hogy egy korábban kiírt kutyához tartozó sorral találkozunk.
Azért rakom ki a mysql-ből érkező adatokat egy tömbbe, mert az iteráció során szükségem van az előző és a következő sorra is. Feltételezem, nincs több százezer sor a táblában, így nem fog gondot okozni a script futtatása. (A lehetséges probléma az lehet, hogy nem elég a php programnak engedélyezett memóriamennyiség, ami általában 16 mega.) -
Sk8erPeter
nagyúr
válasz
Sk8erPeter #3189 üzenetére
Az a rész már megvan, hogy egy tömbbe le tudtam kérni a kutyák neveit, és megtisztítani a duplikátumoktól, ez nem volt túl nehéz.
Ha egy külön while-ciklusba betenném, hogy pl. amíg ez a tömb első eleme megegyezik a "név" adatmezőben található névvel, amelyik adatsornál a táblából épp jár a "while ($result = mysql_fetch_assoc($query))", addig mutogassa az 50px-es képeket, az nem lenne jó?
Egyelőre érdekelne, hogy valami ilyesmi gondolatmenet nem lenne-e célravezető.
Új hozzászólás Aktív témák
- Újszerű Creality K1 MAX + CFS upgrade garanciális, nyomtatótér: 300 x 300 x 300 mm
- Extrém teljesítményű gamer PC (AMD Ryzen 7 5700X, Radeon RX 7900 XTX) LEGJOBB ÁR/ÉRTÉK ARÁNY!
- Garanciális Gamer Számítógép, PC (RTX 3060Ti, I5-10400, 16GB Ram, SSD) Beszámítás! Posta ok! (37)
- Garanciális Gamer Számítógép, PC (GTX 1070 8GB, I3-10105, 16GB Ram, SSD) Beszámítás! Posta ok! (36)
- SAPPHIRE Radeon RX 6650 XT PULSE 8GB + 1 év gari
- Samsung Galaxy A20e // Számla // Garancia // Ajándék töltő //
- 13-14" Új és használt laptopok , üzletitől a gamerig , kedvező áron. Garanciával !
- Felsőkategóriás merev csöves Gamer PC-Számítógép! I9 11900K / RTX 3090 24GB / 64GB DDR4 / 1TB SSD
- Felsőkategóriás Gamer PC-Számítógép! Csere-Beszámítás! I9 13900K / RTX 4080 / 32GB / 1TB SSD
- EREDETI NINTENDO Pokemon Go Plus autocatcher dobozban eladó
Állásajánlatok
Cég: FOTC
Város: Budapest