Keresés

Ú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ő. :F

Új hozzászólás Aktív témák

Hirdetés