Dit is een vervolg op mijn vraag over het opslaan van de parameters in de database. Omdat de lijst met waarden ontzettend lang is (55 records) wil ik deze graag in twee kolommen weergeven zodat de pagina korter wordt.

Ik heb het volgende bedacht:

<?php
$sql_ptp = "SELECT * FROM prijs_tp ORDER BY aantal";
$res_ptp = mysql_query($sql_ptp) or die (mysql_error());

if (mysql_num_rows($res_ptp) >= 1){
//er zijn gegevens gevonden

echo '<form method="post" action="?prijzen_tp">';
echo '<table cellspacing="0" cellpadding="0" width="100%">';
echo '<tr><td width="100"><b>Aantal</b></td>';
echo '<td><b>Prijs per persoon per nacht</b></td>';
echo '<td width="100"><b>Aantal</b></td>';
echo '<td><b>Prijs per persoon per nacht</b></td></tr>';

$i=0;

while ($row_ptp = mysql_fetch_array ($res_ptp)){
$color ^= 1;

if($i == ceil($res_ptp / 2)){
echo '<tr class="rij'.$color.'"><td>'.$row_ptp['aantal'].'</td>';
echo '<td><input type="text" name="prijs['.$row_ptp['aantal'].']" value="'.$row_ptp['pppn'].'" class="inputbox" size="5" maxlength="5"></td>';
}
else {
echo '<td>'.$row_ptp['aantal'].'</td>';
echo '<td><input type="text" name="prijs['.$row_ptp['aantal'].']" value="'.$row_ptp['pppn'].'" class="inputbox" size="5" maxlength="5"></td>';
echo '</tr>';
}
$i++;

}

echo '</table>';
echo '<p></p><input name="submit" type="submit" value="Opslaan" class="button"> <input name="submit" type="reset" value="Reset" class="button">';
echo '</form>';

}
?>

Alleen dit werkt niet zoals ik wil. Zoals ik zei heb ik 55 records in de database staan en nu is het zo dat alleen het veld waar aantal = 32 in de tweede kolom komt te staan.

aantal|ppn|aantal |ppn

| 25 | 11.99 | | |
| 26 | 12.00 | | |

ga maar door ga maar door

| 31 | 8.99 | 32 |8.01|
| 33 | 8.85 | | |

Ik heb zelf alleen geen idee waarom het alleen bij 32 zo is. De getallen die voorkomen in de berekening zijn

$res_ptp = 55

Ik heb dit idee van phpfreaks

Iemand anders een idee?
@Crispijn

Zo te zien is er iets meer veranderd he, dan alleen de if($i%2==0) :P Maargoed, het was hem wel..
Alleen wordt bij een oneven aantal de <tr> niet afgesloten.
Ehm, dat moet ook niet want hij moet het oneven getal in dezelfde rij zetten, alleen in de twee <td>'s er na.

Zodoende.

Verder heb ik alleen minder gepost dan in mijn vraagstelling omdat dat niet meer relevant was... vandaar dat het lijkt dat er meer veranderd is!

Reageren