PHP beginner |
|
Hallo ik heb dit script getest:
<?php
$queryDB = mysql_query("SELECT * FROM illustraties WHERE weergeven='ja'");
while($rowDB = mysql_fetch_array($queryDB))
{
$illustratie = $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($illustratie 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 $queryDB = mysql_query("SELECT * FROM illustraties WHERE weergeven='ja'"); { $illustratie = $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($illustratie 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 hij geeft een fout weer, namelijk
[FOUTMELDING]
Warning: Invalid argument supplied for foreach() in /home/virtualweb.nl/dekwast/schilderijen.php on line 21
[/FOUTMELDING]
Wie kan mij helpen.
Alvast bedankt,
groet.
|