PHP beginner |
|
Met het scrip van fangorn heb ik dit gemaakt:
<?php
$queryDB = mysql_query("SELECT * FROM schilderijen");
while($rowDB = mysql_fetch_array($queryDB))
{
$schilderij = $rowDB['img'];
}
$aantalDb = mysql_num_rows($queryDB);
// hulpvariabelen
$aantal_kolommen = 4;
$kolom_breedte = 95; // in pixels
$aantal_items = $aantalDB;
$huidige_kolom = 0; // als deze variabele de waarde 0 heeft dan is er een rij afgelopen
// en moet er een nieuwe beginnen
// bouw de tabel en doorloop de items
?>
<table width="<?= $aantal_kolommen * $kolom_breedte ?>" border="1" cellspacing="0" cellpadding="2">
<?php
foreach($schilderij as $item) {
// waren we klaar met een rij ?
if($huidige_kolom == 0) {
// open een nieuwe rij
echo "<tr>\n"; // hier is \n toegevoegd om de leesbaarheid van de HTML-source te verhogen
}
// druk het item af - hier zou je dus nog tabellen kunnen nesten - in dit voorbeeld houden we het simpel
echo "<td width=\"".$kolom_breedte."\">".$item."</td>\n";
// we zijn een kolom verder, verhoog $huidige_kolom
$huidige_kolom++;
// waren we klaar met een rij ?
if($huidige_kolom == $aantal_kolommen) {
// sluit de rij af en reset $huidige_kolom
echo "</tr>\n";
$huidige_kolom = 0;
}
}
// fix voor de laatste rij - was een rij volledig gevuld ?
if($huidige_kolom != 0) {
// rij was nog niet vol(ledig) - vul de resterende cellen op met "stuffing"
for($i = $huidige_kolom; $i < $aantal_kolommen; $i++) {
// in plaats van kun je de cel ook met iets anders vullen natuurlijk
echo "<td width=\"".$kolom_breedte."\"> </td>\n";
}
// sluit tenslotte de rij alsnog af
echo "</tr>\n";
}
?>
</table>
<?php { $schilderij = $rowDB['img']; } // hulpvariabelen $aantal_kolommen = 4; $kolom_breedte = 95; // in pixels $aantal_items = $aantalDB; $huidige_kolom = 0; // als deze variabele de waarde 0 heeft dan is er een rij afgelopen // en moet er een nieuwe beginnen // bouw de tabel en doorloop de items ?> <table width="<?= $aantal_kolommen * $kolom_breedte ?>" border="1" cellspacing="0" cellpadding="2"> <?php foreach($schilderij as $item) { // waren we klaar met een rij ? if($huidige_kolom == 0) { // open een nieuwe rij echo "<tr>\n"; // hier is \n toegevoegd om de leesbaarheid van de HTML-source te verhogen } // druk het item af - hier zou je dus nog tabellen kunnen nesten - in dit voorbeeld houden we het simpel echo "<td width=\"".$kolom_breedte."\">".$item."</td>\n"; // we zijn een kolom verder, verhoog $huidige_kolom $huidige_kolom++; // waren we klaar met een rij ? if($huidige_kolom == $aantal_kolommen) { // sluit de rij af en reset $huidige_kolom $huidige_kolom = 0; } } // fix voor de laatste rij - was een rij volledig gevuld ? if($huidige_kolom != 0) { // rij was nog niet vol(ledig) - vul de resterende cellen op met "stuffing" for($i = $huidige_kolom; $i < $aantal_kolommen; $i++) { // in plaats van kun je de cel ook met iets anders vullen natuurlijk echo "<td width=\"".$kolom_breedte."\"> </td>\n"; } // sluit tenslotte de rij alsnog af } ?> </table>
Maar ik weet niet of dit kan. I.V.M geen array hebben..
Weet iemand hoe het wel moet? Ik kan het nu niet testen, heb momenteel geen host. Sorry daarom:$
groet,
Luuk
|