<?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
Sorry was een foutje van mezelf.. je kan mysql_num_rows pas doen nadat je hebt gezegd wat je query is, dus ik heb hem iets verderop staan, en daar wordt die wel gevuld.. Die jij bedoelt doet eigenlijk niet mee.
?
Onbekende gebruiker
27-11-2005 13:00
Als ik de onderstaande code in mijn index.php plaats gaat het niet helemaal goed:
<?php
include("dbase.php");
?>
<?php
$dbh=mysql_connect("$dbhost","$dbuser","$dbpass");
?>
<?php
mysql_select_db("247ff") or die ("Kan de database niet openen");
?>
<?php
include("dbase.php");//hierin wordt er een verbinding gemaakt
if($query = mysql_query("SELECT recordid, title, introtekst FROM artikelen ORDER BY recordid DESC"))
$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_rec =
// aantal rijen uit tabel halen
$sql="SELECT * FROM artikelen LIMIT ".$totaal_cellen;
$query=mysql_query($sql);
// aantal records berekenen
$aantal_rec = mysql_num_rows($query);
//tabel maken, zet eventueel een breedte van de tabel neer, of een percentage met de width tag..
echo '<table width="760">';
// gegevens ophalen
while($artikel = mysql_fetch_assoc($query))
{
// nieuwe rij maken
if (($i % $cellen_per_rij) == 0) {
echo '<tr>';
}
// gegevens weergeven
echo '<td width="'.$kolombreedte.'%">';
echo '<h6>'.$artikel["title"].'</h6>';
echo '<p>'.$artikel["introtekst"].'</p>';
echo '</td>';
//rij afsluiten
if (($i % $cellen_per_rij) == ($cellen_per_rij - 1)) {
echo '</tr>';
}
$i++;
}
// berekenen hoeveel lege cellen er zullen zijn:
$rest = $aantal_rec % $cellen_per_rij;
if ($rest != 0){
for ($j=0;$j=$rest;$j++){
echo "<td></td>";
}
echo "</tr>";
}
echo '<table>';
?>
Onderstaande code krijg in mijn browser te zien:
; //rij afsluiten if (($i % $cellen_per_rij) == ($cellen_per_rij - 1)) { echo ''; } $i++; } // berekenen hoeveel lege cellen er zullen zijn: $rest = $aantal_rec % $cellen_per_rij; if ($rest != 0){ for ($j=0;$j=$rest;$j++){ echo "
"; } echo ""; } echo '
ik heb je code even verder onderzocht en kwam zoveel fouten tegen, dat ik hem heb herschreven.
<?php
require_once ('dbase.php'); // hierin wordt er een verbinding gemaakt
$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;
Jan, Ook die van jou was niet helemaal goed.. Deze werkt wel:
<?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;
Er is wel een probleempje Eddie, hij doet het alleen als er meer records zijn (of uiteraard precies genoeg) dan dat er in de LIMIT staat.
@Jan
Ik snap het niet.. met voldoende records werkt het prima, maar als er te weinig zijn (lager aantal dan de limit aangeeft) dan werkt het niet meer. :S