Ik ben bezig een systeempje te maken waarin je je eigen SELECT-query kunt laten draaien.
Nu heb ik een werkend systeem, alleen wordt hierbij steeds de eerste rij niet weergegeven. Iemand enig idee wat ik verkeerd doe?
(Dit is de versie zonder foutafhandeling etc, alleen relevante code en een voorbeeld-query)
<?php
$query = mysql_query("SELECT liednr, bun, titel FROM bundel WHERE bun = 'eig' ORDER BY liednr ASC");
$aFields = array();
$row = mysql_fetch_assoc($query);
$koppen = array_keys($row);
$aantal = mysql_num_rows($query);
echo 'Er zijn '.$aantal.' rijen gevonden';
// Haal de kolomtitels op
echo '<table border=1 bordercolor=black>
<tr><td>#</td>';
foreach($koppen as $kop){
echo '<td>'.$kop.'</td>';
// Zet de kolomtitels in een array voor later gebruik
array_push($aFields, $kop);
}
echo '</tr>';
// Rij-counter
$i=1;
// Geef de gegevens weer
while($bRow=mysql_fetch_array($query)){
echo '<tr>';
echo '<td>'.$i.'</td>';
foreach($aFields as $sField) {
$bRow[$sField] = htmlentities($bRow[$sField]);
// Kort de gegevens in als deze langer dan 50 karakters is
if(strlen($bRow[$sField]) > 50){
$bRow[$sField] = substr ($bRow[$sField],0,50).'...';
}
echo '<td>'.$bRow[$sField].'</td>';
}
echo '</tr>';
$i++;
}
echo '</table>';
?>
In dit voorbeeld zou ik 40 rijen moeten krijgen. Er komt ook keurig: "Er zijn 40 rijen gevonden" te staan, dus de mysql_num_rows werkt wel goed. Er komen echter maar 39 rijen in de tabel te staan