berekeningscript voert twee keer de de query uit.
Maar sinds ik een tweede taal heb toegevoegd, werkt het script niet goed meer. Hij voert de input nu 2 keer uit.
Wat doe ik fout?
Ik denk dat ik ergens op de andere pagina's de variabel $i een tweede keer gebruik. Is deze beredenatie goed? Dan weer ik waar ik naar moet gaan zoeken.
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
62
63
64
65
66
67
68
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
62
63
64
65
66
67
68
<?php
//bestaat er al een ingave met dit kenmerk. Dan gaan we die verwijderen
$qry = "
SELECT
berekening_product
FROM
podium_berekening_onderdelen
WHERE
berekening_kenmerk = '" . $kenmerk . "'
AND
berekening_soort = '" . $soort . "'
";
if(isset($soortalt))
{
$qry .= "
OR
berekening_soort = '".$soortalt."'";
}
$sql = mysql_query($qry);
//Hier geven we met een variabel aan of er een berekening bestaat
if(mysql_num_rows($sql) >= 1){
$bestaandeberek = 1;
}
ELSE
{
$bestaandeberek = 0;
}
if($_SERVER['REQUEST_METHOD']=='POST')
{
//verwijder input uit de database
$delqry = "
DELETE FROM
podium_berekening_onderdelen
WHERE
berekening_kenmerk = '" . $kenmerk . "'
AND
berekening_soort = '" . $soort ."'";
if(isset($soortalt))
{
$delqry .= "
OR
berekening_soort = '".$soortalt."'";
}
$delsql = mysql_query($delqry);
//hier voeren we de nieuwe input in de database
for($i=0; $i<count($_POST['product']); $i++)
{
if(is_numeric($_POST['aantal'][$i]) and $_POST['aantal'][$i]>0)
{
$inputqry = "
INSERT INTO
podium_berekening_onderdelen
SET
berekening_kenmerk = '" . mysql_real_escape_string($kenmerk)."',
berekening_product = '" . mysql_real_escape_string($_POST['product'][$i]) . "',
berekening_aantal = '" . mysql_real_escape_string($_POST['aantal'][$i]) . "',
berekening_soort = '" . mysql_real_escape_string($_POST['soort'][$i])."'
";
$inputsql = mysql_query($inputqry);
}
}
header('Location: '.$header);
exit();
}
?>
//bestaat er al een ingave met dit kenmerk. Dan gaan we die verwijderen
$qry = "
SELECT
berekening_product
FROM
podium_berekening_onderdelen
WHERE
berekening_kenmerk = '" . $kenmerk . "'
AND
berekening_soort = '" . $soort . "'
";
if(isset($soortalt))
{
$qry .= "
OR
berekening_soort = '".$soortalt."'";
}
$sql = mysql_query($qry);
//Hier geven we met een variabel aan of er een berekening bestaat
if(mysql_num_rows($sql) >= 1){
$bestaandeberek = 1;
}
ELSE
{
$bestaandeberek = 0;
}
if($_SERVER['REQUEST_METHOD']=='POST')
{
//verwijder input uit de database
$delqry = "
DELETE FROM
podium_berekening_onderdelen
WHERE
berekening_kenmerk = '" . $kenmerk . "'
AND
berekening_soort = '" . $soort ."'";
if(isset($soortalt))
{
$delqry .= "
OR
berekening_soort = '".$soortalt."'";
}
$delsql = mysql_query($delqry);
//hier voeren we de nieuwe input in de database
for($i=0; $i<count($_POST['product']); $i++)
{
if(is_numeric($_POST['aantal'][$i]) and $_POST['aantal'][$i]>0)
{
$inputqry = "
INSERT INTO
podium_berekening_onderdelen
SET
berekening_kenmerk = '" . mysql_real_escape_string($kenmerk)."',
berekening_product = '" . mysql_real_escape_string($_POST['product'][$i]) . "',
berekening_aantal = '" . mysql_real_escape_string($_POST['aantal'][$i]) . "',
berekening_soort = '" . mysql_real_escape_string($_POST['soort'][$i])."'
";
$inputsql = mysql_query($inputqry);
}
}
header('Location: '.$header);
exit();
}
?>
Dit is de link naar het script.
http://www.podiumverhuurhaaglanden.nl/NL/berekening_podiumdelen
Gewijzigd op 07/03/2013 03:51:02 door J C
Je kan even print_r($_POST['product']) doen. Verder zou dit volgens mij gewoon moeten werken.