Hallo, ik ben bezig met een script om een dynamische tabel te maken.
Het is de bedoeling dat er een tabel wordt gemaakt met maximaal 4 kolommen. Ik heb nog niet zo heel veel ervaring met php en ik kom er dan ook niet uit. Ik hoop dat iemand mij kan helpen.
Hieronder vindt je de code :

-----BEGIN CODE----

<?php
$sql = "SELECT * FROM tbl_namen WHERE letter = 'A' and jm = 'm' order by naam asc";
#echo $sql;
$resultaat = mysql_query($sql) or die(mysql_error());
$num = mysql_num_rows($resultaat);

print("<table border=2>\n");
while($row = mysql_fetch_assoc($resultaat))
{
$aantal_per_rij = 4
$teller = 0;
for ($naam_id = 1; $naam_id <= $num; $naam_id++)
{
$teller++;
$naam = $rij['naam'];
// stel de rijen samen
if (($teller % $aantal_per_rij) == 1)
{
echo "<tr>\n<td align='center' valign='middle'>'".$row['naam']."' ></td>\n";
}elseif (($teller % $aantal_per_rij) == 0)
{
echo "<td align='center' valign='middle'>'".$row['naam']."'></td></tr>\n";
}else
{
echo "<td align='center' valign='middle'>'".$row['naam']."'></td>\n";
}
}
}
echo "</table>\n";

?>

--------EINDE CODE------

Alvast bedankt voor de hulp.
Niet getest.
<?php
$sql = "SELECT * FROM tbl_namen WHERE letter = 'A' AND jm = 'm' ORDER BY naam ASC";
$resultaat = mysql_query($sql) or die(mysql_error());
$aantal_per_rij = 4;
$teller = 0;
echo '<table border="2">'. PHP_EOL;
while($row = mysql_fetch_assoc($resultaat))
{
if(($teller % $aantal_per_rij) == 0)
{
echo '<tr>'. PHP_EOL;
}
echo '<td align="center" valign="middle">' . $row['naam'] . '</td>'. PHP_EOL;
$teller++;
if(($teller % $aantal_per_rij) == 0)
{
echo '</tr>'. PHP_EOL;
}
}
while(($teller % $aantal_per_rij) != 0)
{
echo '<td> </td>'. PHP_EOL;
$teller++;
if(($teller % $aantal_per_rij) == 0)
{
echo '</tr>'. PHP_EOL;
}
}
echo '</table>'. PHP_EOL;
?>
SanThe, ontzettend bedankt. Je hebt me enorm uit de brand geholpen.

met vriendelijke groet,

Martin
Of nog veel makkelijker:

<?php
$sql = "SELECT * FROM tbl_namen WHERE letter = 'A' and jm = 'm' order by naam asc";
$resultaat = mysql_query($sql));
$num = mysql_num_rows($resultaat);
if($num >= 1) {
	echo "<table border='2'>\n";
	$teller = 1;
	while($row = mysql_fetch_assoc($resultaat)) {
		$aantalperrij = 4;
		if($teller == 1)
			echo "<tr><td align='center' valign='middle'>".$row['naam']."</td>";
	
		if($teller <> 1 && $teller <> $aantalperrij)
			echo "<td align='center' valign='middle'>".$row['naam']."</td>";
	
		if($teller == $aantalperrij)
			echo "<td align='center' valign='middle'>".$row['naam']."</td></tr>";
	
		$teller = ($teller == $aantalperrij) ? 1 : $teller+1;
	}
	echo "</table>";
} else {
	// no num rows
}
?>

Reageren