2 kolommen mysql_fetch_array
Ik heb het volgende bedacht:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<?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>';
}
?>
$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?
Gewijzigd op 01/01/1970 01:00:00 door Crispijn -
*BUMP!*
Dit probleem heb ik ook en weet ook zo 1-2-3 niet een oplossing danwel met te laten tellen tot 30 en dan te stoppen. Maar ja hoe nu verder...
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?php
error_reporting(E_ALL);
$i = 1;
while( $i < 56 )
{
$aProduct[] = array('naam' => 'product'.$i, 'prijs' => $i*100);
$i++;
}
$j = 0;
foreach( $aProduct as $v )
{
echo '[naam:' . $v['naam'] . ' | prijs:' . $v['prijs'] . ' ] - ';
if( $j == 1 )
{
# Nieuwe regel
echo '<br/>';
# $j resetten
$j = -1;
}
$j++;
}
?>
error_reporting(E_ALL);
$i = 1;
while( $i < 56 )
{
$aProduct[] = array('naam' => 'product'.$i, 'prijs' => $i*100);
$i++;
}
$j = 0;
foreach( $aProduct as $v )
{
echo '[naam:' . $v['naam'] . ' | prijs:' . $v['prijs'] . ' ] - ';
if( $j == 1 )
{
# Nieuwe regel
echo '<br/>';
# $j resetten
$j = -1;
}
$j++;
}
?>
Zal voor mij niet werken maar ik heb in iedergeval een idee om dit verder uit te werken. Bedankt !!!
Verander onderstaande eens:
ps. @lissy: Kijk eens in dit topic, misschien vind je op deze pagina nog wat nuttige informatie.
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
Is niet getest.
Je zal in $hulparray[$i + $j]['aantal'] 'aantal' waarschijnlijk moeten vervangen door een cijfer die overeen komt met de juiste kolom uit de database. En de anderen dan natuurlijk ook.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<?php
$sql_ptp = "SELECT * FROM prijs_tp ORDER BY aantal";
$res_ptp = mysql_query($sql_ptp) or die (mysql_error());
$aantal = mysql_num_rows($res_ptp);
if($aantal > 0)
{
//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>';
while ($row_ptp = mysql_fetch_array ($res_ptp))
{
$hulparray[] = $row_ptp;
}
$helft = ceil($aantal / 2);
for($i = 0; $i < $helft; $i++)
{
$color ^= 1;
echo '<tr class="rij' . $color . '">';
for($j = 0; $j < $aantal; $j = $j + $helft)
{
if(isset($hulparray[$i + $j]))
{
echo '<td>' . $hulparray[$i + $j]['aantal'] . '</td>';
echo '<td><input type="text" name="prijs[' . $hulparray[$i + $j]['aantal'] . ']" value="' . $hulparray[$i + $j]['pppn'] . '" class="inputbox" size="5" maxlength="5"></td>';
}
}
echo '</tr>';
}
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>';
}
?>
$sql_ptp = "SELECT * FROM prijs_tp ORDER BY aantal";
$res_ptp = mysql_query($sql_ptp) or die (mysql_error());
$aantal = mysql_num_rows($res_ptp);
if($aantal > 0)
{
//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>';
while ($row_ptp = mysql_fetch_array ($res_ptp))
{
$hulparray[] = $row_ptp;
}
$helft = ceil($aantal / 2);
for($i = 0; $i < $helft; $i++)
{
$color ^= 1;
echo '<tr class="rij' . $color . '">';
for($j = 0; $j < $aantal; $j = $j + $helft)
{
if(isset($hulparray[$i + $j]))
{
echo '<td>' . $hulparray[$i + $j]['aantal'] . '</td>';
echo '<td><input type="text" name="prijs[' . $hulparray[$i + $j]['aantal'] . ']" value="' . $hulparray[$i + $j]['pppn'] . '" class="inputbox" size="5" maxlength="5"></td>';
}
}
echo '</tr>';
}
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>';
}
?>
25|26
27|28
etc...
Bedankt voor jullie posts! Ik ga eens even klussen!
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?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;
// hier begonnen met aanpassen
if($i % 2 == 1)){
echo '</td><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></tr>';
}
else {
echo '<tr><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>';
}
$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>';
}
?>
$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;
// hier begonnen met aanpassen
if($i % 2 == 1)){
echo '</td><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></tr>';
}
else {
echo '<tr><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>';
}
$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>';
}
?>
(ben ook maar even aan het denken geslagen)
01 | 29
02 | 30
03 | 31
..
27 | 55
28 |
Ik heb nu het volgende:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
$i=0;
while ($row_ptp = mysql_fetch_array ($res_ptp)){
if($i%2 == 0){
$color ^= 1;
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++;
}
?>
$i=0;
while ($row_ptp = mysql_fetch_array ($res_ptp)){
if($i%2 == 0){
$color ^= 1;
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++;
}
?>
en het werkt. Ook heb ik nu netjes alle rijën om en om een andere kleur door de $color binnen de if te halen. Snappen jullie me nog? Dit is naar mijn idee verreweg de simpelste manier om dit te realiseren.
Bedankt voor het meedenken!
Cris
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.
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!