Rekenen met een select
Ik ben bezig op dit moment om een berekening in een formulier te maken, waarbij alleen de waarden van een geselecteerd vinkje opgeteld moeten worden. Nu heb ik de onderstaande code, maar ik weet eigenlijk niet precies hoe ik dit kan berekenen.
Zou iemand er even naar willen kijken?
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
<form action="" method="POST">
<table>
<tr>
<td>Plaatje</td>
<td>Bedrag</td>
<td>Indien geselecteerd<br> --> bij bedrag?</td>
</tr>
<? $ResultListFormVergoeding = mysql_query("Select * from dcms_BetaalData where btldPartnerId = '".$_POST[partnerId]."' AND btldToegekent = '1'");
while ($RegelListFormVergoeding = mysql_fetch_array($ResultListFormVergoeding))
{ ?>
<tr>
<td><img src="<? echo $RegelListFormVergoeding[btldFotoUrl]; ?>" width="60"></td>
<td><? $RegelTotaal = ($RegelListFormVergoeding[btldVrgPartner]*$RegelListFormVergoeding[btldAantal]);?>
€<? printf("%5.2f",$RegelTotaal); ?></td><td><div align="center">
<input type="checkbox" checked name="uitbetalen" value="1" onchange="submit()">
</div></td>
</tr><? $Totaal += ($RegelListFormVergoeding[btldVrgPartner]*$RegelListFormVergoeding[btldAantal]);?><? } ?>
</table>
</form>
Totaal geselecteerd = € <? printf("%5.2f",$Totaal); ?>
<table>
<tr>
<td>Plaatje</td>
<td>Bedrag</td>
<td>Indien geselecteerd<br> --> bij bedrag?</td>
</tr>
<? $ResultListFormVergoeding = mysql_query("Select * from dcms_BetaalData where btldPartnerId = '".$_POST[partnerId]."' AND btldToegekent = '1'");
while ($RegelListFormVergoeding = mysql_fetch_array($ResultListFormVergoeding))
{ ?>
<tr>
<td><img src="<? echo $RegelListFormVergoeding[btldFotoUrl]; ?>" width="60"></td>
<td><? $RegelTotaal = ($RegelListFormVergoeding[btldVrgPartner]*$RegelListFormVergoeding[btldAantal]);?>
€<? printf("%5.2f",$RegelTotaal); ?></td><td><div align="center">
<input type="checkbox" checked name="uitbetalen" value="1" onchange="submit()">
</div></td>
</tr><? $Totaal += ($RegelListFormVergoeding[btldVrgPartner]*$RegelListFormVergoeding[btldAantal]);?><? } ?>
</table>
</form>
Totaal geselecteerd = € <? printf("%5.2f",$Totaal); ?>
Ik weet dat ik in de $Totaal moet toevoegen dat het alleen maar om bedragen gaat die geselecteerd worden, maar ik kan dit niet vinden hoe dit er dan precies uit moet komen te zien.
Groetjes,
Rob
Gewijzigd op 01/01/1970 01:00:00 door Bob Beer
gebruik javascript, je kunt nooit 'live' rekenen met PHP, je kunt natuurlijk wel met de waardes uit PHP rekenen in JS(MAAR NIET ANDERSOM!)
Jurgen schreef op 16.02.2007 15:43:
gebruik javascript, je kunt nooit 'live' rekenen met PHP, je kunt natuurlijk wel met de waardes uit PHP rekenen in JS(MAAR NIET ANDERSOM!)
Kan prima, gewoon d.m.v. AJAX de javascript waarden naar een php bestand sturen, en vervolgens met een echo de uitkomst weergeven die je terug krijgt..
PHP Newbie schreef op 16.02.2007 15:45:
Kan prima, gewoon d.m.v. AJAX de javascript waarden naar een php bestand sturen, en vervolgens met een echo de uitkomst weergeven die je terug krijgt..
Jurgen schreef op 16.02.2007 15:43:
gebruik javascript, je kunt nooit 'live' rekenen met PHP, je kunt natuurlijk wel met de waardes uit PHP rekenen in JS(MAAR NIET ANDERSOM!)
Kan prima, gewoon d.m.v. AJAX de javascript waarden naar een php bestand sturen, en vervolgens met een echo de uitkomst weergeven die je terug krijgt..
klopt maar met plain PHP niet.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?php
if(!is_numeric($_POST['field']) || !is_numeric($_POST['field'])){
echo'De waardes zijn geen integers';
}else{
$uitkomst = $_POST['field'] + $_POST['field1'];
echo $uitkomst;
}
?>
if(!is_numeric($_POST['field']) || !is_numeric($_POST['field'])){
echo'De waardes zijn geen integers';
}else{
$uitkomst = $_POST['field'] + $_POST['field1'];
echo $uitkomst;
}
?>
ZoietS?
Gewijzigd op 01/01/1970 01:00:00 door Jurgen assaasas
Maar het probleem in jouw code is dat er volgens mij nergens staat dat alleen de rijen die geselecteerd worden opgeteld moeten worden.
Misschien moet ik het iets duidelijker uitleggen.
Je hebt een lijst die uit de database gehaald wordt waarin bedragen opgeroepen worden. Nou wil ik dat de waarden die de gebruiker zelf kan selecteren opgeteld worden. Onderaan de lijst moeten dan de bedragen die aangevinkt staan opgeteld worden.
Is dit misschien iets duidelijker?
Groetjes,
Rob
Gewijzigd op 01/01/1970 01:00:00 door Bob Beer
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
<form method='post' action='<?php echo $_SERVER['PHP_SELF']; ?>'>
<table border='0'>
<tr>
<td><input type='checkbox' name='field1' value='1' /></td>
<td>1</td>
</tr>
<tr>
<td><input type='checkbox' name='field2' value='2' /></td>
<td>2</td>
</tr>
<tr>
<td><input type='submit' value='Reken uit!' /></td>
<td></td>
</tr>
</table>
</form>
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
if(isset($_POST['field1']))
{
$field1 = $_POST['field1'];
}else{
$field1 = 0;
}
if(isset($_POST['field2']))
{
$field2 = $_POST['field2'];
}else{
$field2 = 0;
}
$uitkomst = $field1 + $field2;
echo $uitkomst;
}
?>
<table border='0'>
<tr>
<td><input type='checkbox' name='field1' value='1' /></td>
<td>1</td>
</tr>
<tr>
<td><input type='checkbox' name='field2' value='2' /></td>
<td>2</td>
</tr>
<tr>
<td><input type='submit' value='Reken uit!' /></td>
<td></td>
</tr>
</table>
</form>
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
if(isset($_POST['field1']))
{
$field1 = $_POST['field1'];
}else{
$field1 = 0;
}
if(isset($_POST['field2']))
{
$field2 = $_POST['field2'];
}else{
$field2 = 0;
}
$uitkomst = $field1 + $field2;
echo $uitkomst;
}
?>
Misschien zoiets?
Gewijzigd op 01/01/1970 01:00:00 door Jesper Diovo
Tnx
Succes ;)
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
<?php
$prijs[0] = 5;
$prijs[1] = 10;
$prijs[2] = 7.50;
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
$totaal = 0;
for($i = 0; $i =< count($prijs); $i++)
{
if(isset($_POST['checkbox'][$i]) && !empty($_POST['aantal'][$i]))
{
$totaal += $_POST['aantal'][$i] * $prijs[$i];
}
}
}
?>
<form action="#" method="post">
<?php
if(isset($totaal))
{
echo $totaal.'<br /><br />';
}
?>
<table>
<tr>
<td>
<input name="checkbox[0]" type="checkbox" />
</td>
<td>
<input name="aantal[0]" type="text" />
</td>
<td>
á <?php echo $prijs[0]; ?>
</td>
</tr>
<tr>
<td>
<input name="checkbox[1]" type="checkbox" />
</td>
<td>
<input name="aantal[1]" type="text" />
</td>
<td>
á <?php echo $prijs[1]; ?>
</td>
</tr>
<tr>
<td>
<input name="checkbox[2]" type="checkbox" />
</td>
<td>
<input name="aantal[2]" type="text" />
</td>
<td>
á <?php echo $prijs[2]; ?>
</td>
</tr>
</table>
</form>
$prijs[0] = 5;
$prijs[1] = 10;
$prijs[2] = 7.50;
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
$totaal = 0;
for($i = 0; $i =< count($prijs); $i++)
{
if(isset($_POST['checkbox'][$i]) && !empty($_POST['aantal'][$i]))
{
$totaal += $_POST['aantal'][$i] * $prijs[$i];
}
}
}
?>
<form action="#" method="post">
<?php
if(isset($totaal))
{
echo $totaal.'<br /><br />';
}
?>
<table>
<tr>
<td>
<input name="checkbox[0]" type="checkbox" />
</td>
<td>
<input name="aantal[0]" type="text" />
</td>
<td>
á <?php echo $prijs[0]; ?>
</td>
</tr>
<tr>
<td>
<input name="checkbox[1]" type="checkbox" />
</td>
<td>
<input name="aantal[1]" type="text" />
</td>
<td>
á <?php echo $prijs[1]; ?>
</td>
</tr>
<tr>
<td>
<input name="checkbox[2]" type="checkbox" />
</td>
<td>
<input name="aantal[2]" type="text" />
</td>
<td>
á <?php echo $prijs[2]; ?>
</td>
</tr>
</table>
</form>