Vraag & Antwoord

Webprogrammeren & scripting

php,rows per 4 uitlezen

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>\n"; } echo "</td></tr></table>"; } [/code:1:5793bb28f5] :( tuurlijk kijk ik op de php.net pagina, maar hoe formuleer je zo'n vraag ?[/code]
  • 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][url=http://nl2.php.net/manual/nl/language.operators.arithmetic.php]Jawel[/url]. - 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] :-? [/code]
  • 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

Weet jij het antwoord op deze vraag? Registreer of meld je aan met je account

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