Ik heb het volgende script, die moet de resultaten van een query in kolommen weergeven... je kunt het aantal kolommen opgeven en dan gaat hij kijken hoeveel resultaten per kolom...

bijvoorbeeld 29 resultaten en 4 kolommen dan zegtie

29/4 is 7,25 dan moet er in de eerste kolom 8 resultaten komen 29-8 is 21 dan weer 8 resultaten 21-8=13, dan weer 8 resultaten 13-8=5 en dan 5 resultaten in de laatste kolom...

De eerste twee kolommen gaat goed, maar daarna gebeurt er iets heel vreemds....

Mmm heb even een andere geprobeerd die ik via de zoekfunctie had gevonden... gaat op zich goed de eerste twee kolommen, daarna wordt het een bende...

<?php
//Verbinding maken met de database
include("inc_connect.php");

// De SQL Query
$sqlquery= ***;

$result = mysql_query($sqlquery) or die ("FOUT: " . mysql_error());

if ($result){
while ($row = mysql_fetch_array($result))
{
$aSQLResultaat[] .= $row['****'];
}
}

$iAantalRecordsOver = count($aSQLResultaat);
$iAantalKolommen = 4;
$iAantalKolommenReedsDoorlopen = 0;

$iAantalRecordsPerKolom = ceil($iAantalRecordsOver / $iAantalKolommen);

echo "<table>";
echo "<tr>";
echo "<td>";

$iRecordTeller = 0;
$iRecordTellerTotaal = 0;
while ($iRecordTeller < $iAantalRecordsPerKolom)
{
//Weergeven hier
echo $aSQLResultaat[$iRecordTellerTotaal]."<br>";

$iRecordTeller++;
$iRecordTellerTotaal++;

//Controle voor begin aan volgende kolom
if ($iAantalRecordsPerKolom == $iRecordTeller)
{
$iAantalRecordsOver = $iAantalRecordsOver - $iAantalRecordsPerKolom;
$iAantalRecordsPerKolom = ceil($iAantalRecordsOver / ($iAantalKolommen - 1));
$iRecordTeller = 0;
$iAantalKolommenReedsDoorlopen++;
echo "</td>";

//controle beginnen nieuwe td
if ($iAantalKolommenReedsDoorlopen != $iAantalKolommen)
{
echo "<td>";
}
}
}

echo "</tr>";
echo "</table>";
?>
<?php
//Verbinding maken met de database
include("inc_connect.php");

// De SQL Query
$sqlquery= ***;

$result = mysql_query($sqlquery) or die ("FOUT: " . mysql_error());

if ($result){
while ($row = mysql_fetch_array($result))
{
$aSQLResultaat[] = $row['****'];
}
}

$iAantalRecords = count($aSQLResultaat);
$iAantalKolommen = 4;
$iAantalRecordsPerKolom = ceil($iAantalRecords / $iAantalKolommen);

echo "<table>";
echo "<tr>";

$iRecordTeller = -1;

for($iKolommen = 0; $iKolommen < $iAantalKolommen; $iKolommen++)
{
echo "<td>";
for($iRecords = 0; $iRecords < $iAantalRecordsPerKolom; $iRecords++)
{
$iRecordTeller++;
if($iRecordTeller >= $iAantalRecords)
{
echo "<br>";
}
else
{
//Weergeven hier
echo $aSQLResultaat[$iRecordTeller]."<br>";
}
}
echo "</td>";
}

echo "</tr>";
echo "</table>";
?>
Edit: Foutje hersteld.

Reageren