Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Webprogrammeren & scripting

php,rows per 4 uitlezen

None
9 antwoorden
  • Ik heb onderstaande code om een menu op een site te zetten.
    maar dit geeft 10 knoppen naast elkaar, en ik wil er 4 naast elkaar, daaronder weer 4 en daaronder de overige 2.

    Hoe geef je zoiets aan?

    [code:1:5793bb28f5]$q=mysql_query("select * from gildemenu order by gildemenu_id");
    while ($record=mysql_fetch_row($q))
    {
    echo "<td><a href=\"$record[5]\" onclick=\"MM_nbGroup('down','group1','$record[4]','$record[2]',1)\" onmouseover=\"MM_nbGroup('over','$record[4]','$record[2]','',1)\" onmouseout=\"MM_nbGroup('out')\" target=\"$record[6]\" onFocus=\"if(this.blur)this.blur()\"><img src=\"$record[1]\" height=38 width=150 onLoad='' border=0 alt='$record[3]' name='$record[4]'></a>
    ";
    }
    echo "</td></tr></table>";
    }
    [/code:1:5793bb28f5]

    :( tuurlijk kijk ik op de php.net pagina, maar hoe formuleer je zo'n vraag ?
  • Iets als dit:
    [code:1:9e59025195]$i = 1;
    while ( $i <= 10 )
    {
    echo "*$i* ";
    if ( $i%4 == 0 )
    {
    echo "<BR>";
    }
    $i++;
    }
    [/code:1:9e59025195]
    M.a.w. de modulo-functie kijkt of je bij het 4e record bent en plaats een BR.
    Denk dat je het idee wel op je code kunt toepassen :)
  • [quote:4f74844f2e="Financial"]de modulo-functie[/quote:4f74844f2e]
    Heet dat niet gewoon de modulus operator :-? ??
  • [quote:3e754dfbcb="Annie"]Heet dat niet gewoon de modulus operator :-? ??[/quote:3e754dfbcb]Jawel.

    - Bas
  • [offtopic :)]Tjonge jonge,

    'k geef nog eens een idee.
    [/offtopic]
  • ghehe, ik houd je gewoon scherp ;)
  • jammer , ik krijg het toch niet voor elkaar…
    krijg nu dit:

    knop knop knop knop
    knop, drie legen cellen
    knop knop knop knop
    knop, drie legen cellen
    knop knop knop knop
    knop, knop, 2 legen cellen

    dus ik kom al in de buurt maar nog niet dat wat ik hebben wil


    [code:1:fdc01d3231] $q=mysql_query("select * from gildemenu order by gildemenu_id");
    while ($record=mysql_fetch_row($q))
    $i = 1;
    while ( $i <= 10 )
    {

    echo "<td><a href=\"$record[5]\" onclick=\"MM_nbGroup('down','group1','$record[4]','$record[2]',1)\" onmouseover=\"MM_nbGroup('over','$record[4]','$record[2]','',1)\" onmouseout=\"MM_nbGroup('out')\" target=\"$record[6]\" onFocus=\"if(this.blur)this.blur()\"><img src=\"$record[1]\" height=38 width=150 onLoad='' border=0 alt='$record

    [3]' name='$record[4]'></a></td>";

    if ( $i%4 == 0 )
    {
    echo "<tr><td><a href=\"$record[5]\" onclick=\"MM_nbGroup('down','group1','$record[4]','$record[2]',1)\" onmouseover=\"MM_nbGroup('over','$record[4]','$record[2]','',1)\" onmouseout=\"MM_nbGroup('out')\" target=\"$record[6]\" onFocus=\"if(this.blur)this.blur()\"><img src=\"$record[1]\" height=38 width=150 onLoad='' border=0 alt='$record[3]' name='$record[4]'></a></td><td> </td><td> </td><td> </td></tr>";

    }
    $i++;
    }
    {

    }
    echo "</td></tr></table>";
    }

    [/code:1:fdc01d3231]

    :-?

  • Ik doe dit even zonder te testen, er kunnen dus nog fouten inzitten, maar het idee moet duidelijk zijn.

    (Omwille van de layout heb ik sommige regels wat afgekort)
    [code:1:fc4815e76d]
    $q = mysql_query("select * from gildemenu order by gildemenu_id");

    $i = 0;

    echo "<table><tr>";

    while ($record = mysql_fetch_row($q))
    {
    $i++;
    echo "
    <td>
    <a href=\"", $record[5], "\"
    onclick=\"MM_nbGroup('down')\"
    onmouseover=\"MM_nbGroup('over')\"
    onmouseout=\"MM_nbGroup('out')\"
    target=\"", $record[6], "\"
    onfocus=\"if(this.blur)this.blur()\">
    <img src=\"", $record[1], "\" height='38' width='150' onload=''
    border='0' alt='", $record[3], "' name='", $record[4], "' />
    </a>
    </td>";

    if (($i % 4) == 0)
    {
    echo "</tr><tr>";
    }
    }

    echo "</tr></table>";
    [/code:1:fc4815e76d]

    Je kan dit nog "verbeteren" door lege tablecells toe te voegen om de laatste tablerow op te vullen (bijv. bij 4-4-2). Of door er voor te zorgen dat er geen laatste lege regel ontstaat bij bijv. 4-4-4.

    Overigens is het niet nodig om hiervoor een table te gebruiken. Je kan ook alles "float"-en in een <div>. Voor meer informatie hierover moet je maar eens op internet rondzoeken of hier op het forum.
  • dat is wat ik zocht, Merci Beaucoup !

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.