<?php
include("dbase.php");
if($query = mysql_query("SELECT recordid, title, introtekst FROM artikelen ORDER BY recordid DESC"))
{
while($artikel = mysql_fetch_assoc($query))
{
echo '<h6>'.$artikel["title"].'</h6>';
echo '<p>'.$artikel["introtekst"].'</p>';

}
}
else
{
echo mysql_error();
}
?>
M.b.v. bovenstaande code worden de titel en de introtekst van alle artikelen in aflopende volgorde in een tabel op mijn idex.php geplaatst.
Op die index.php heb ik 9 tabellen gemaakt(3x3) en ik wil graag de "title" en "introtekst" van de 9 hoogste "recordid's" aflopend en afzonderlijk in deze 9 tabellen plaatsen. Ik kom er gewoonweg niet uit, hoop dat iemand mij wil helpen,
Eddie
Aha, dus jij had het ook Sebastiaan?
Fantastisch! Enorm bedankt,


Eddie
Eddie schreef op 28.11.2005 09:41
Fantastisch! Enorm bedankt,


Eddie


Graag gedaan Eddie :-)
Das heel mooi Jan, die van jou loopt niet vast :D
(wat bij mij precies het probleem was weet ik niet)
@ Robert:

$rest = $aantal_rec % $cellen_per_rij;

Ik weet niet of het nou juist door deze regel komt, maar in ieder geval krijg je zo niet de rest.

Stel: je hebt een tabel met 5 kolommen en er zijn 11 records. Dan is de rest in jouw berekening 1. Dat geeft niet het aantal lege cellen, maar juist de gevulde cellen in de laatste rij.

Het moet dus zijn:

if (($aantal_rec % $cellen_per_rij) {
$rest = $cellen_per_rij - ($aantal_rec % $cellen_per_rij);
}
Och ja, ik zie het.. haha, dom van me.. ik ga ff testen of dat het probleem was.. als dat het was, hoor je het van me :D
Oké. Hangt denk ik ook van je browser af of hij daarop vastloopt. FF gaf bij mij geen problemen en ik had dit eerst ook niet gezien.
ff geeft bij mij evenals IE problemen. :S Firefox doet helemaal niets, IE echo'd wel de vars die ik ff wou zien, om te kijken of alles goed wordt meegegeven, maar stopt zogauw het script aan de tabellen gaat beginnen. Alls ik op stop druk, wordt ineens de tabel wel weergegeven, zoals het was bedoelt.
Ik heb geen idee waaraan dat kan liggen :S
Waarschijnlijk ergens per ongeluk een eindeloze loop gecreëerd?
Ik ben de hele tijd al aan het zoeken, maar kan het niet vinden.. misschien dat jij het wel kan vinden:

<?php
$db = mysql_connect("localhost","root") or die ( "Het maken van de verbinding met de database is mislukt");
mysql_select_db("test",$db);

$i = 0;
$cellen_per_rij = 3; // of vul elke andere waarde in
$cellen_per_kolom = 3; // of vul elke andere waarde in
$kolombreedte = 100 / $cellen_per_rij;

// totaal cellen berekenen
$totaal_cellen = $cellen_per_rij * $cellen_per_kolom;

// aantal rijen uit tabel halen
$sql = "SELECT * FROM artikelen";
$query = mysql_query($sql);

// aantal records berekenen
$aantal_rec = mysql_num_rows($query);
echo $aantal_rec;
if ($aantal_rec > $totaal_cellen || $aantal_rec == $totaal_cellen){
$sql .= " LIMIT 0,$totaal_cellen";
}
else if ($aantal_rec < $totaal_cellen){
$sql .= " LIMIT 0,$aantal_rec";
}
echo $sql;
$gegevens = mysql_query($sql);
// tabel maken, zet eventueel een breedte van de tabel neer
// of een percentage met de width tag..
echo '<table>';

// gegevens ophalen
while ($artikel = mysql_fetch_array($gegevens)){


if ( ($i % $cellen_per_rij) == 0) {
echo '<tr>';
}

// gegevens weergeven
echo '<td>';
echo '<h4>' . $artikel['title'] . '</h6>';
echo $artikel['introtekst'];
echo '</td>';

// rij afsluiten
if ( ($i % $cellen_per_rij) == ($cellen_per_rij - 1)) {
echo '</tr>';

}
$i++;
}

// berekenen hoeveel lege cellen er zullen zijn:
if ($aantal_rec % $cellen_per_rij){
$rest = $cellen_per_rij - ($aantal_rec % $cellen_per_rij);

if ($rest != 0) {
for ($j = 0; $j = $rest; $j++){
echo '<td></td>';
}
echo '</tr>';
}
}
echo '<table>';

?>

EDIT:
Let niet op die echo's van de variabelen, dat is puur om te kijken of alles wel goed wordt meegegeven. Maar het vreemde is dat het wel goed werkte wanneer ik de LIMIT gewoon in de query zette, (LIMIT=$totaal_cellen) maar nu werkt zelfs dat niet meer :(

Reageren