if else
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
if (isset($_POST["winkelwagen_x"]))
{
//die($_POST["hidArtikelnummer"] . " " . $_POST["txtAantal"]);
$strSQL = "select Ordernummer from tblorder where SessieId = ".(session_id());
$rs = mysql_query($strSQL, $db);
if (!$rs){
die("de SQL opdracht is fout<br>" . $strSQL);
$r = mysql_fetch_array($rs);
$intOrdernummer = $r["Ordernummer"] ;
}
if (!$intOrdernummer) {
$strSQL = "insert into tblorder (Klantnummer, SessieId, Status, Orderdatum, Factuurnummer, Totaalbedrag) values (0, '(session_id())', 0, '(currdate())', 'F100', 0)";
$strSQL = "select Ordernummer from tblorder where SessieId = ".(session_id());
$rs = mysql_query($strSQL, $db);
if (!$rs)
die("de SQL opdracht is fout<br>" . $strSQL);
$intOrdernummer = $r["Ordernummer"] ;
}
else {
$strSQL = "insert into tblorderregel (Artikelnummer, Ordernummer, Aantal, Prijs) values ( '" . $_GET['artikelnr']. "', '$intOrdernummer', 'txtAantal', '" . $r['Prijs']. "')";
header("Location: agenda.php");
} }
{
//die($_POST["hidArtikelnummer"] . " " . $_POST["txtAantal"]);
$strSQL = "select Ordernummer from tblorder where SessieId = ".(session_id());
$rs = mysql_query($strSQL, $db);
if (!$rs){
die("de SQL opdracht is fout<br>" . $strSQL);
$r = mysql_fetch_array($rs);
$intOrdernummer = $r["Ordernummer"] ;
}
if (!$intOrdernummer) {
$strSQL = "insert into tblorder (Klantnummer, SessieId, Status, Orderdatum, Factuurnummer, Totaalbedrag) values (0, '(session_id())', 0, '(currdate())', 'F100', 0)";
$strSQL = "select Ordernummer from tblorder where SessieId = ".(session_id());
$rs = mysql_query($strSQL, $db);
if (!$rs)
die("de SQL opdracht is fout<br>" . $strSQL);
$intOrdernummer = $r["Ordernummer"] ;
}
else {
$strSQL = "insert into tblorderregel (Artikelnummer, Ordernummer, Aantal, Prijs) values ( '" . $_GET['artikelnr']. "', '$intOrdernummer', 'txtAantal', '" . $r['Prijs']. "')";
header("Location: agenda.php");
} }
Als ik op de knop met naam winkelwagen druk, krijg ik echter:
de SQL opdracht is fout
select Ordernummer from tblorder where SessieId = pauhslhm7umglv6saokqvi3ha0
Wat doe ik (nu weer) fout?
Graag in het vervolg bij code, [code] [/code] tags gebruiken.[/modedit]
Gewijzigd op 25/04/2013 17:36:45 door Bas IJzelendoorn
Dan zien we aan de kleuren direct van alles.
Sessie id is zo te zien een string. Een string hoort tussen quotes, dat doe jij niet, dus dat doe je fout.
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<? php
if (isset($_POST["winkelwagen_x"]))
{
//die($_POST["hidArtikelnummer"] . " " . $_POST["txtAantal"]);
$strSQL = "select Ordernummer from tblorder where SessieId = ".(session_id());
$rs = mysql_query($strSQL, $db);
if (!$rs){
die("de SQL opdracht is fout<br>" . $strSQL);
$r = mysql_fetch_array($rs);
$intOrdernummer = $r["Ordernummer"] ;
}
if (!$intOrdernummer) {
$strSQL = "insert into tblorder (Klantnummer, SessieId, Status, Orderdatum, Factuurnummer, Totaalbedrag) values (0, '(session_id())', 0, '(currdate())', 'F100', 0)";
$strSQL = "select Ordernummer from tblorder where SessieId = ".(session_id());
$rs = mysql_query($strSQL, $db);
if (!$rs)
die("de SQL opdracht is fout<br>" . $strSQL);
$intOrdernummer = $r["Ordernummer"] ;
}
else {
$strSQL = "insert into tblorderregel (Artikelnummer, Ordernummer, Aantal, Prijs) values ( '" . $_GET['artikelnr']. "', '$intOrdernummer', 'txtAantal', '" . $r['Prijs']. "')";
header("Location: agenda.php");
} }
?>
if (isset($_POST["winkelwagen_x"]))
{
//die($_POST["hidArtikelnummer"] . " " . $_POST["txtAantal"]);
$strSQL = "select Ordernummer from tblorder where SessieId = ".(session_id());
$rs = mysql_query($strSQL, $db);
if (!$rs){
die("de SQL opdracht is fout<br>" . $strSQL);
$r = mysql_fetch_array($rs);
$intOrdernummer = $r["Ordernummer"] ;
}
if (!$intOrdernummer) {
$strSQL = "insert into tblorder (Klantnummer, SessieId, Status, Orderdatum, Factuurnummer, Totaalbedrag) values (0, '(session_id())', 0, '(currdate())', 'F100', 0)";
$strSQL = "select Ordernummer from tblorder where SessieId = ".(session_id());
$rs = mysql_query($strSQL, $db);
if (!$rs)
die("de SQL opdracht is fout<br>" . $strSQL);
$intOrdernummer = $r["Ordernummer"] ;
}
else {
$strSQL = "insert into tblorderregel (Artikelnummer, Ordernummer, Aantal, Prijs) values ( '" . $_GET['artikelnr']. "', '$intOrdernummer', 'txtAantal', '" . $r['Prijs']. "')";
header("Location: agenda.php");
} }
?>
Logica fout:
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
if (!$rs) { // betekent: indien $rs mislukt is
die("de SQL opdracht is fout<br>" . $strSQL);
$r = mysql_fetch_array($rs);
$intOrdernummer = $r["Ordernummer"] ;
}
?>
if (!$rs) { // betekent: indien $rs mislukt is
die("de SQL opdracht is fout<br>" . $strSQL);
$r = mysql_fetch_array($rs);
$intOrdernummer = $r["Ordernummer"] ;
}
?>
Dit wordt dus allemaal niet uitgevoerd wanneer de query gelukt is. De bedoeling is uiteraard dat dat wel wordt uitgevoerd (behalve die die() ).
------
Kijk, een voorbeeld
Code (php)
1
2
3
4
2
3
4
<?php
$strSQL = "insert into tblorderregel (Artikelnummer, Ordernummer, Aantal, Prijs) values
( '" . $_GET['artikelnr']. "', '$intOrdernummer', 'txtAantal', '" . $r['Prijs']. "')";
?>
$strSQL = "insert into tblorderregel (Artikelnummer, Ordernummer, Aantal, Prijs) values
( '" . $_GET['artikelnr']. "', '$intOrdernummer', 'txtAantal', '" . $r['Prijs']. "')";
?>
Alle variabelen kan je best uit de aanhalingstekens halen (hoeft strikt gezien niet in deze situatie, maar we raden het wel aan)
Dus
Code (php)
1
2
3
4
2
3
4
<?php
$strSQL = "INSERT INTO tblorderregel (Artikelnummer, Ordernummer, Aantal, Prijs) VALUES
( '" . $_GET['artikelnr'] . "', '" . $intOrdernummer . "', 'txtAantal', '" . $r['Prijs']. "')";
?>
$strSQL = "INSERT INTO tblorderregel (Artikelnummer, Ordernummer, Aantal, Prijs) VALUES
( '" . $_GET['artikelnr'] . "', '" . $intOrdernummer . "', 'txtAantal', '" . $r['Prijs']. "')";
?>
Verder is het me niet duidelijk wat txtAantal is. Dat zal ook wel anders moeten.
Gewijzigd op 25/04/2013 17:43:05 door Kris Peeters
Bedankt voor alle nuttige info, ik hoop dat ik nu verder kom. Het is vet lastig in het begin om de logica te doorzien. Bedankt voor jullie geduld en antwoorden! Hopelijk kan ik over een tijdje een ander van dienst zijn!