20. oktober 2005 - 12:09
Der er
10 kommentarer og 1 løsning
lav en table med 2 columns og x antal rows - fra mysql
Hej, Jeg har dette men det virker ikke rigtigt. <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td class="almtekst1_rod_stor"><? print "<table><tr><td>"; while($row10 = mysql_fetch_array($result10)){ print "<table cellpadding='3' cellspacing='0'><tr>"; if($row10){ for($i=0; $i<2; $i++){ print "<td align='left' width='450'><a href='$row10[intid]' border='0' class='almtekst1_rod_stor'>$row10[vare_navn]</a></td>"; print "</tr><tr>"; print "<td align='left' width='450'><a href='$row10[intid]' border='0' class='almtekst1_rod_stor'>$row10[vare_nr]</a></td>"; $row10 = mysql_fetch_array($result10); } print "</table><br>"; } } print "</td></tr></table>"; ?></td> </tr> </table> Håber at det er til at finde ud af;)
Annonceindlæg fra Lector
20. oktober 2005 - 12:14
#1
Nu er jeg ikke hård til php, men se her: var $counter = 0; print "<table>"; while (<noget>){ if ($counter % 2 == 0) print "<tr>"; print "<td>indhold</td>"; $counter++ if ($counter % 2 == 0) print "</tr>"; } if ($counter % 2 != 0) print "<td>(tom)</td></tr>"; print "</table>";
20. oktober 2005 - 12:16
#2
% er modulus, des en operator der giver resten ved division af operand 2 i operand1. Med andre ord: Hvis $counter er et lige tal er $counter % 2 = 0, ellers er det 1 Kan du se det?
20. oktober 2005 - 12:25
#3
Det virker ikke, fejl i første linje: Parse error: parse error, unexpected T_VAR
20. oktober 2005 - 12:32
#4
meningen er at det skal se sådan ud: ----------------------------------------------- |varenavn 1 | varenavn 2 | ----------------------------------------------- |varenr 1 | varenr 2 | ----------------------------------------------- |varebillede 1 | varebillede 2 | ----------------------------------------------- og der ud af..
20. oktober 2005 - 13:17
#5
Som sagt er jeg ikke skrap til php, så du må selv sætte de ; jeg glemmer :o) Men det havde jeg ikke set, at det skulle vende sådan. Her er det forenklet, jeg har sat border=1 så man kan se hvad der sker (og jeg ved ikke om det hedder vare_billede <table border=1> <tr> <? while($row10 = mysql_fetch_array($result10)){ print "<td><table border=1>"; print "<tr><td><a href='$row10[intid]'>$row10[vare_navn]</a></td></tr>"; print "<tr><td><a href='$row10[intid]'>$row10[vare_nr]</a></td></tr>"; print "<tr><td><img src='$row10[vare_billede]'></td></tr>"; print "</table></td>"; } </tr> </table>
20. oktober 2005 - 13:29
#6
Så er den der næsten. Den skal så bare kun skrive 2 columns og så skal den starte på en ny række;)
20. oktober 2005 - 13:42
#7
Sådan?: ----------------------------------------------- |varenavn 1 | varenavn 2 | ----------------------------------------------- |varenr 1 | varenr 2 | ----------------------------------------------- |varebillede 1 | varebillede 2 | ----------------------------------------------- ----------------------------------------------- |varenavn 3 | varenavn 4 | ----------------------------------------------- |varenr 3 | varenr 4 | ----------------------------------------------- |varebillede 3 | varebillede 4 | ----------------------------------------------- Så strikker jeg det sammen med min første løsning: <? $counter = 0; ?> <table border=1> <? while($row10 = mysql_fetch_array($result10)){ if ($counter % 2 == 0) print "<tr>"; print "<td><table border=1>"; print "<tr><td><a href='$row10[intid]'>$row10[vare_navn]</a></td></tr>"; print "<tr><td><a href='$row10[intid]'>$row10[vare_nr]</a></td></tr>"; print "<tr><td><img src='$row10[vare_billede]'></td></tr>"; print "</table></td>"; $counter++; if ($counter % 2 == 0) print "</tr>"; } if ($counter % 2 != 0) print "<td>(tom)</td></tr>"; </table>
20. oktober 2005 - 13:43
#8
Fandt lige et par fejl selv :o) <table border=1> <? $counter = 0; while($row10 = mysql_fetch_array($result10)){ if ($counter % 2 == 0) print "<tr>"; print "<td><table border=1>"; print "<tr><td><a href='$row10[intid]'>$row10[vare_navn]</a></td></tr>"; print "<tr><td><a href='$row10[intid]'>$row10[vare_nr]</a></td></tr>"; print "<tr><td><img src='$row10[vare_billede]'></td></tr>"; print "</table></td>"; $counter++; if ($counter % 2 == 0) print "</tr>"; } if ($counter % 2 != 0) print "<td>(tom)</td></tr>"; ?> </table>
20. oktober 2005 - 13:54
#9
fantastisk;) så virker det. Mange tak for den hurtige hjælp. Lægger du et svar! Så du kan få point
20. oktober 2005 - 14:11
#10
OK. Det er ret bekvemt det der med modulus, ikke? Se her, man kan sætte $antalcols til det man vil: <table> <? $counter = 0; $antalcols = 4; while (<noget>){ if ($counter % $antalcols == 0) print "<tr>"; print "<td>indhold</td>"; $counter++ if ($counter % $antalcols == 0) print "</tr>"; } while ($counter % $antalcols > 0){ print "<td>(tom)</td>"; $counter++; } print "</tr>"; ?> </table>
20. oktober 2005 - 14:32
#11
ja.. det må man sige;)
Vi tilbyder markedets bedste kurser inden for webudvikling