bestel formulier
Pagina: « vorige 1 2 3 4 volgende »
Ronald E op 16/07/2012 19:08:10:
maar is java en javascript niet het zelfde?
De syntaxis van JavaScript vertoont overeenkomsten met de programmeertaal Java. Omdat beide talen het meest zichtbaar zijn op en rond de browser, maar vooral door de naamgeving, worden ze vaak met elkaar verward. De gelijkenis houdt daar echter op, want JavaScript heeft inhoudelijk meer gemeen met functionele programmeertalen, het biedt prototype-gebaseerde overerving en niet, zoals Java en de meeste objectgeoriënteerde talen, klasse-gebaseerde overerving.
(bron: wikipedia)
en daarna als het goed is kunnen mailen naar 2 e-mail adressen.
1 e-mail adres geeft de persoon zelf in en de ander is van de site
Toevoeging op 17/07/2012 18:22:48:
ik heb het stuk van post zo hoog mogelijk geplaatst
net onder het java gebeuren maar krijg al gelijk een error
Fatal error: Can't use function return value in write context in array1.php on line 38
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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
<script>
function addOne(spid){
amount = parseInt(document.getElementById('amt' + spid).value) + 1;
document.getElementById('amt' + spid).value = amount;
calcSubTotal(spid);
}
function substractOne(spid){
amount = parseInt(document.getElementById('amt' + spid).value) - 1;
if (amount < 0) {
amount = 0
}
document.getElementById('amt' + spid).value = amount;
calcSubTotal(spid);
}
function calcSubTotal(spid) {
subtotal = parseInt(document.getElementById('amt' + spid).value) *
parseFloat(document.getElementById('price' + spid).value.replace(',' , '.'));
document.getElementById('total' + spid).innerHTML = subtotal.toFixed(2).toString().replace('.',',');
updTotal();
}
function updTotal() {
totalp = 0.00;
el = document.getElementById('pricediv');
prices = el.getElementsByTagName('span');
for (i=0; i < prices.length; i++) {
if (prices[i].id != 'totalprice') totalp += parseFloat(prices[i].innerHTML.replace(',' , '.'));
}
totalpr = totalp.toFixed(2).toString();
document.getElementById('totalprice').innerHTML = totalpr.replace('.', ',');
}
</script>
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$count = 0;
$insertvalues = 'VALUES ';
foreach($_POST as $key => $value) {
//controleer of het een aantal veld is en of de ingevulde waarde geen nul is
if (strpos('amt', $key) = 0 && (int)$value != 0) {
//haal het product_id uit $key
$id = substr($key, 3);
$count++;
if (count > 1) {
$insertvalues .= ','; // comma tussen de rijen
}
$insertvalues .= "(@orderid, " . $id . ", " . (int)$value .
"(SELECT price FROM products WHERE id=" . $id . "))";
}
}
if ($count > 0) { // er is wat besteld
include ('dbconnect.php');
//maak een bestelling aan:
$result = mysql_query("INSERT INTO orders (customer_id, order_date)
VALUES (00001, NOW())");
if ($result) {
mysql_free_result($result);
//omdat een uservar gebruikt wordt in de query deze eerst even instellen
$order_id = mysql_insert_id();
mysql_query("SET @order_id = " . $insert_id);
$sql = "INSERT INTO order_products (order_id, prd_id, amount, price_pp) " . $insertvalues;
$result = mysql_query($sql);
if ($result) {
mysql_free_result($result);
$result = mysql_query("SELECT
o.amount, o.price_pp, o.amount * o.price_pp AS total, p.prd_name
FROM
order_products AS o
JOIN products AS p ON o.prd_id = p.id
WHERE
o.order_id = " . $order_id);
//hier kun je de bestelling bevestigen
}
}
}
}
?>
<?php
ini_set('display_errors',1);
error_reporting(E_ALL);
date_default_timezone_set('Europe/Amsterdam');
setlocale(LC_ALL, 'nl_NL');
$prijs = 1;
$border=1;
include('db.php');
$link = mysql_connect($host, $dbnaam, $dbww);
mysql_select_db('test', $link);
$getQuery = "SELECT id, naam, kop, omschrijving, prijs FROM menu";
$runQuery = mysql_query($getQuery);
$aantalrijen = mysql_num_rows($runQuery);
if($runQuery === false) {
echo 'database fout';
}
//echo $aantalrijen;
$schermb="200";
$geldb="80";
$grid = '';
$i=0;
while ( $rij = mysql_fetch_assoc( $runQuery ) ) {
$i++ ;
if ($rij['kop'] === "K"){
?> <div id="pricediv"><table border="<?php echo $border ?>" width="100%" cellspacing="0" cellpadding="0"><tr>
<td width="<?php echo $schermb ?>"> </td><td colspan="4">
<center><font size='4'><br><b><u><?php echo $rij['naam'] ?></u></b></font></center>
<center><i><?php echo $rij['omschrijving'] ?></i></center>
</td><td width="<?php echo $schermb ?>"> </td></tr></table>
<?php
}else{
?>
<table border="<?php echo $border ?>" width="100%" cellspacing="0" cellpadding="0">
<tr><td width="<?php echo $schermb ?>">
<?php // echo $i ?> </td>
<td ><u><?php echo $rij['naam'] ?></u></td>
<td width="50"> <?php echo "€ ".number_format($rij['prijs'], 2, ',', ' ') ?> </td>
<td width='100'>
<?php
//$nummer="addnr".$i;
echo '<input type="button" onclick="substractOne('.$rij['id'].')" value="-" />';
echo '<input type="text" size="1" name="amt'.$rij['id'].'" id="amt'.$rij['id'].'" value="0" />';
echo '<input type="button" onclick="addOne('.$rij['id'].')" value="+" />';
echo '</td><td width="70" >€ ';
echo '<span id="total'.$rij['id'].'">0,00</span>';
echo '<input type="hidden" name="price'.$rij['id'].'" id="price'.$rij['id'] .'" value="'.$rij['prijs'].'" /></div>';
?>
</td><td width="<?php echo $schermb ?>"> </td></tr>
</table>
<table border="<?php echo $border ?>" width="100%" cellspacing="0" cellpadding="0">
<tr><td width="<?php echo $schermb ?>"> </td><td >
<i><?php echo $rij['omschrijving'] ?></i>
</td><td width="<?php echo $schermb ?>"> </td></tr>
</table>
<?php
}
}
?>
<table border="<?php echo $border ?>" width="100%" cellspacing="0" cellpadding="0">
<tr>
<td width="<?php echo $schermb ?>"> </td>
<td ><p align="right">Totaal </td>
<td width="70">
<span id="totalprice">0,00</span>
</td>
<td width="<?php echo $schermb ?>"> </td></tr>
</table>
</div>
function addOne(spid){
amount = parseInt(document.getElementById('amt' + spid).value) + 1;
document.getElementById('amt' + spid).value = amount;
calcSubTotal(spid);
}
function substractOne(spid){
amount = parseInt(document.getElementById('amt' + spid).value) - 1;
if (amount < 0) {
amount = 0
}
document.getElementById('amt' + spid).value = amount;
calcSubTotal(spid);
}
function calcSubTotal(spid) {
subtotal = parseInt(document.getElementById('amt' + spid).value) *
parseFloat(document.getElementById('price' + spid).value.replace(',' , '.'));
document.getElementById('total' + spid).innerHTML = subtotal.toFixed(2).toString().replace('.',',');
updTotal();
}
function updTotal() {
totalp = 0.00;
el = document.getElementById('pricediv');
prices = el.getElementsByTagName('span');
for (i=0; i < prices.length; i++) {
if (prices[i].id != 'totalprice') totalp += parseFloat(prices[i].innerHTML.replace(',' , '.'));
}
totalpr = totalp.toFixed(2).toString();
document.getElementById('totalprice').innerHTML = totalpr.replace('.', ',');
}
</script>
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$count = 0;
$insertvalues = 'VALUES ';
foreach($_POST as $key => $value) {
//controleer of het een aantal veld is en of de ingevulde waarde geen nul is
if (strpos('amt', $key) = 0 && (int)$value != 0) {
//haal het product_id uit $key
$id = substr($key, 3);
$count++;
if (count > 1) {
$insertvalues .= ','; // comma tussen de rijen
}
$insertvalues .= "(@orderid, " . $id . ", " . (int)$value .
"(SELECT price FROM products WHERE id=" . $id . "))";
}
}
if ($count > 0) { // er is wat besteld
include ('dbconnect.php');
//maak een bestelling aan:
$result = mysql_query("INSERT INTO orders (customer_id, order_date)
VALUES (00001, NOW())");
if ($result) {
mysql_free_result($result);
//omdat een uservar gebruikt wordt in de query deze eerst even instellen
$order_id = mysql_insert_id();
mysql_query("SET @order_id = " . $insert_id);
$sql = "INSERT INTO order_products (order_id, prd_id, amount, price_pp) " . $insertvalues;
$result = mysql_query($sql);
if ($result) {
mysql_free_result($result);
$result = mysql_query("SELECT
o.amount, o.price_pp, o.amount * o.price_pp AS total, p.prd_name
FROM
order_products AS o
JOIN products AS p ON o.prd_id = p.id
WHERE
o.order_id = " . $order_id);
//hier kun je de bestelling bevestigen
}
}
}
}
?>
<?php
ini_set('display_errors',1);
error_reporting(E_ALL);
date_default_timezone_set('Europe/Amsterdam');
setlocale(LC_ALL, 'nl_NL');
$prijs = 1;
$border=1;
include('db.php');
$link = mysql_connect($host, $dbnaam, $dbww);
mysql_select_db('test', $link);
$getQuery = "SELECT id, naam, kop, omschrijving, prijs FROM menu";
$runQuery = mysql_query($getQuery);
$aantalrijen = mysql_num_rows($runQuery);
if($runQuery === false) {
echo 'database fout';
}
//echo $aantalrijen;
$schermb="200";
$geldb="80";
$grid = '';
$i=0;
while ( $rij = mysql_fetch_assoc( $runQuery ) ) {
$i++ ;
if ($rij['kop'] === "K"){
?> <div id="pricediv"><table border="<?php echo $border ?>" width="100%" cellspacing="0" cellpadding="0"><tr>
<td width="<?php echo $schermb ?>"> </td><td colspan="4">
<center><font size='4'><br><b><u><?php echo $rij['naam'] ?></u></b></font></center>
<center><i><?php echo $rij['omschrijving'] ?></i></center>
</td><td width="<?php echo $schermb ?>"> </td></tr></table>
<?php
}else{
?>
<table border="<?php echo $border ?>" width="100%" cellspacing="0" cellpadding="0">
<tr><td width="<?php echo $schermb ?>">
<?php // echo $i ?> </td>
<td ><u><?php echo $rij['naam'] ?></u></td>
<td width="50"> <?php echo "€ ".number_format($rij['prijs'], 2, ',', ' ') ?> </td>
<td width='100'>
<?php
//$nummer="addnr".$i;
echo '<input type="button" onclick="substractOne('.$rij['id'].')" value="-" />';
echo '<input type="text" size="1" name="amt'.$rij['id'].'" id="amt'.$rij['id'].'" value="0" />';
echo '<input type="button" onclick="addOne('.$rij['id'].')" value="+" />';
echo '</td><td width="70" >€ ';
echo '<span id="total'.$rij['id'].'">0,00</span>';
echo '<input type="hidden" name="price'.$rij['id'].'" id="price'.$rij['id'] .'" value="'.$rij['prijs'].'" /></div>';
?>
</td><td width="<?php echo $schermb ?>"> </td></tr>
</table>
<table border="<?php echo $border ?>" width="100%" cellspacing="0" cellpadding="0">
<tr><td width="<?php echo $schermb ?>"> </td><td >
<i><?php echo $rij['omschrijving'] ?></i>
</td><td width="<?php echo $schermb ?>"> </td></tr>
</table>
<?php
}
}
?>
<table border="<?php echo $border ?>" width="100%" cellspacing="0" cellpadding="0">
<tr>
<td width="<?php echo $schermb ?>"> </td>
<td ><p align="right">Totaal </td>
<td width="70">
<span id="totalprice">0,00</span>
</td>
<td width="<?php echo $schermb ?>"> </td></tr>
</table>
</div>
Toevoeging op 17/07/2012 18:40:37:
Ik ben een = vergeten daar
het moet dus zijn
if (strpos('amt', $key) == 0) ....
Gewijzigd op 17/07/2012 18:41:17 door Ger van Steenderen
ik weet niet over welke code je het nu heb. ik zie over de 3 bladzijdes niks van form en welke tabellen moet ik in die groep er bij maken dan.
Tabel categories:
cat_id INT(11) (PK)
cat_name VARCHAR(50)
Tabel products:
prd_id INT(11)(PK)
prd_name VARCHAR(50)
prd_descr TEXT
price_pp FLOAT(6,2)
Tabel orders:
order_id INT(11) (PK)
cust_id INT(11)
order_date DATETIME
order_status TINYINT(2)
Tabel order_products:
order_id INT(11) (PK)
prd_id INT(11) (PK) -- de PK is een combi van order_id en prd_id
amount TINYINT(4) UNSIGNED -- of (MEDIUM)INT als je +255 aantal verwacht
price_pp FLOAT(6,2) -- om prijswijzigingen af te vangen
Tabel customers
cust_id INT(11)
cust_name VARCHAR(101)
cust_email VARCHAR(101)
... -- en nog een aantal velden voor de (eventuele) adres gegevens
Gewijzigd op 17/07/2012 19:44:46 door Ger van Steenderen
en alles werkt nu met de nieuwe namen.
maar wat je bedoeld met: de PK is een combi van order_id en prd_id
moet daar wat mee gebeuren?
maar hoe krijg ik dan een bestelling in die lijst van order_products
ik vraag wel veel nu. maar zo ver had ik het nog niet uitgedacht.
Ik heb in mijn vorige script voorbeeld al ingebouwd om de bestelling zowel in de orders als de order_products te krijgen, als je iets niet begrijpt moet even aangeven wat niet.
naa een aantal producten gekozen te hebben moet je toch op bestel of zo drukken op het te verwerken naar de database?
en dan zouden de gegevens naar order_products geschreven worden
Ik ben er vanuit gegaan dat je dat zelf al gedaan had. Ik heb je geen volledig afgewerkt script gegeven, maar geprobeerd je op weg te helpen.
Er zijn een aantal dingen bij gekomen die ik niet weet te gebruiken.
Ik heb wel eens een formulier gemaakt en groot deel gevonden waar men zelf gegevens moeten invullen.
En gegevens opzoekt via een postcode en dat stript van een website.
En daar na word ge e-mailt maar 3 e-mail adressen.
Het mailtje had ik ook nog opgevrolijkt met het logo.
De gegevens worden nog niet opgeslagen maar nu dat er in de database ruimte is komt dat wel er in.
Toevoeging op 18/07/2012 12:55:42:
op welke manier moet ik dit nu posten?
Gewijzigd op 18/07/2012 13:46:22 door Ronald E
<input type="submit" ... />?
1 * amt1
ce1 * price1
ce2 * price2
3 * amt3
ce3 * price3
5 * amt5
ce5 * price5
ce6 * price6
8
Klopt dat?
en dat komt daar dat stukje wat ik van je had gekregen
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
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
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$count = 0;
$insertvalues = 'VALUES ';
foreach($_POST as $key => $value) {
//controleer of het een aantal veld is en of de ingevulde waarde geen nul is
if (strpos('amt', $key) == 0 && (int)$value != 0) {
//haal het product_id uit $key
$id = substr($key, 3);
echo $id." * ".$key."<br>";
$count++;
if ($count > 1) {
$insertvalues .= ','; // comma tussen de rijen
}
$insertvalues .= "(@orderid, " . $id . ", " . (int)$value ."(SELECT price FROM products WHERE id=" . $id . "))";
}
}
echo "<br> ".$count."<br>";
if ($count > 0) { // er is wat besteld
include ('databaselogin.php');
//maak een bestelling aan:
$result = mysql_query("INSERT INTO orders (customer_id, order_date)
VALUES (00001, NOW())");
if ($result) {
mysql_free_result($result);
//omdat een uservar gebruikt wordt in de query deze eerst even instellen
$order_id = mysql_insert_id();
mysql_query("SET @order_id = " . $insert_id);
$sql = "INSERT INTO order_products (order_id, prd_id, amount, price_pp) " . $insertvalues;
$result = mysql_query($sql);
if ($result) {
mysql_free_result($result);
$result = mysql_query("SELECT
o.amount, o.prd_prijs_bestel_pp, o.amount * o.prd_prijs_bestel_pp AS total, p.prd_name
FROM
order_products AS o
JOIN products AS p ON o.prd_id = p.id
WHERE
o.order_id = " . $order_id);
//hier kun je de bestelling bevestigen
}
}
}
}
$count = 0;
$insertvalues = 'VALUES ';
foreach($_POST as $key => $value) {
//controleer of het een aantal veld is en of de ingevulde waarde geen nul is
if (strpos('amt', $key) == 0 && (int)$value != 0) {
//haal het product_id uit $key
$id = substr($key, 3);
echo $id." * ".$key."<br>";
$count++;
if ($count > 1) {
$insertvalues .= ','; // comma tussen de rijen
}
$insertvalues .= "(@orderid, " . $id . ", " . (int)$value ."(SELECT price FROM products WHERE id=" . $id . "))";
}
}
echo "<br> ".$count."<br>";
if ($count > 0) { // er is wat besteld
include ('databaselogin.php');
//maak een bestelling aan:
$result = mysql_query("INSERT INTO orders (customer_id, order_date)
VALUES (00001, NOW())");
if ($result) {
mysql_free_result($result);
//omdat een uservar gebruikt wordt in de query deze eerst even instellen
$order_id = mysql_insert_id();
mysql_query("SET @order_id = " . $insert_id);
$sql = "INSERT INTO order_products (order_id, prd_id, amount, price_pp) " . $insertvalues;
$result = mysql_query($sql);
if ($result) {
mysql_free_result($result);
$result = mysql_query("SELECT
o.amount, o.prd_prijs_bestel_pp, o.amount * o.prd_prijs_bestel_pp AS total, p.prd_name
FROM
order_products AS o
JOIN products AS p ON o.prd_id = p.id
WHERE
o.order_id = " . $order_id);
//hier kun je de bestelling bevestigen
}
}
}
}
In ieder geval deze regel:
Moet zijn
nu bekijk ik de string
$insertvalues .= "(@order_id, ".$id.", ".(int)$value."(SELECT prd_prijs_bestel_pp FROM products WHERE prd_id=".$id."))";
En daar krijg ik als antwoord uit.
(@order_id, 1, 1(SELECT prd_prijs_bestel_pp FROM products WHERE prd_id=1)),
(@order_id, ce1, 2(SELECT prd_prijs_bestel_pp FROM products WHERE prd_id=ce1)),
kreeg wel extra kolommen maar die zijn gelijk aan de 2de regel wel id verhoogt.
en de eerste regel is met 1 verhoogt bij selectie
klopt dit zo?
dat eerste stukje kan ik niet echt rijmen (@order_id, 1, 1(SELECT
De aangepaste code:(het eerste gedeelte)
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
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$count = 0;
$insertvalues = 'VALUES ';
foreach($_POST as $key => $value) {
//controleer of het een aantal veld is en of de ingevulde waarde geen nul is
if (strpos($key, 'amt') === 0 && (int)$value != 0) {
//haal het product_id uit $key
$id = substr($key, 3);
$count++;
if (count > 1) {
$insertvalues .= ','; // comma tussen de rijen
}
$insertvalues .= "(@orderid, " . $id . ", " . (int)$value .
",(SELECT price FROM products WHERE id=" . $id . "))";
}
}
echo "INSERT INTO order_products (order_id, prd_id, amount, price_pp) " . $insertvalues;
/* if ($count > 0) { // er is wat besteld
//dit stukje blijft hetzelfde
.... */
}
?>
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$count = 0;
$insertvalues = 'VALUES ';
foreach($_POST as $key => $value) {
//controleer of het een aantal veld is en of de ingevulde waarde geen nul is
if (strpos($key, 'amt') === 0 && (int)$value != 0) {
//haal het product_id uit $key
$id = substr($key, 3);
$count++;
if (count > 1) {
$insertvalues .= ','; // comma tussen de rijen
}
$insertvalues .= "(@orderid, " . $id . ", " . (int)$value .
",(SELECT price FROM products WHERE id=" . $id . "))";
}
}
echo "INSERT INTO order_products (order_id, prd_id, amount, price_pp) " . $insertvalues;
/* if ($count > 0) { // er is wat besteld
//dit stukje blijft hetzelfde
.... */
}
?>
Dan krijg je deze query:
Code (php)
1
2
3
4
5
6
2
3
4
5
6
INSERT INTO
order_products (order_id, prd_id, amount, price_pp)
VALUES
(@orderid, 2, 2,(SELECT price FROM products WHERE id=2)),
(@orderid, 3, 2,(SELECT price FROM products WHERE id=3)),
(@orderid, 5, 2,(SELECT price FROM products WHERE id=5)
order_products (order_id, prd_id, amount, price_pp)
VALUES
(@orderid, 2, 2,(SELECT price FROM products WHERE id=2)),
(@orderid, 3, 2,(SELECT price FROM products WHERE id=3)),
(@orderid, 5, 2,(SELECT price FROM products WHERE id=5)
Hierdoor voeg je in één query meerdere rijen tergelijktijd in.
de @ voor orderid betekent in sql dat het een (user)variabele is.
(SELECT price FROM products WHERE id=2) is een subquery waarmee de prijs van het product uit de producten tabel gehaald wordt.
Gewijzigd op 19/07/2012 12:04:21 door Ger van Steenderen
De @orderid kom ik niet in me database tegen.
maar hij post nog niks in de tabel order_products.
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
if ($count > 0) { // er is wat besteld
echo "ja ".$count."<br>";
include ('databaselogin.php');
//maak een bestelling aan:
$result = mysql_query("INSERT INTO orders (customer_id, order_date)
VALUES (00001, NOW())");
if ($result) {
mysql_free_result($result);
//omdat een uservar gebruikt wordt in de query deze eerst even instellen
$order_id = mysql_insert_id();
echo $order_id;
mysql_query("SET @order_id = " . $insert_id);
$sql = "INSERT INTO order_products (order_id, prd_id, amount, price_pp) " . $insertvalues;
echo $sql." <br>";
$result = mysql_query($sql);
if ($result) {
mysql_free_result($result);
$result = mysql_query("SELECT
o.amount, o.prd_prijs_bestel_pp, o.amount * o.prd_prijs_bestel_pp AS total, p.prd_name
FROM
order_products AS o
JOIN products AS p ON o.prd_id = p.id
WHERE
o.order_id = " . $order_id);
//hier kun je de bestelling bevestigen
}
}
}
}
echo "ja ".$count."<br>";
include ('databaselogin.php');
//maak een bestelling aan:
$result = mysql_query("INSERT INTO orders (customer_id, order_date)
VALUES (00001, NOW())");
if ($result) {
mysql_free_result($result);
//omdat een uservar gebruikt wordt in de query deze eerst even instellen
$order_id = mysql_insert_id();
echo $order_id;
mysql_query("SET @order_id = " . $insert_id);
$sql = "INSERT INTO order_products (order_id, prd_id, amount, price_pp) " . $insertvalues;
echo $sql." <br>";
$result = mysql_query($sql);
if ($result) {
mysql_free_result($result);
$result = mysql_query("SELECT
o.amount, o.prd_prijs_bestel_pp, o.amount * o.prd_prijs_bestel_pp AS total, p.prd_name
FROM
order_products AS o
JOIN products AS p ON o.prd_id = p.id
WHERE
o.order_id = " . $order_id);
//hier kun je de bestelling bevestigen
}
}
}
}
kan ik nog een paar test punten in maken ?
if $result is wat? Je geeft niet op wat $result moet zijn. Bijvoorbeeld if ($result === true)
if($result) is hezelfde als if($result == true)
Omdat het een insert query betreft kan je alleen een bool terug krijgen dus kan er niets fout gaan.
Ronald,
Je moet niet alles zomaar letterlijk overnemen, maar zelf ook wat controleren.
Ik kan alleen maar raden hoe je tabellen in elkaar steken, dus je moet de veldnamen in queries aanpassen aan jouw tabellen.
Ook moet je controleren of de queries goed gaan, dwz:
Ger van Steenderen op 19/07/2012 10:35:22:
....
de @ voor orderid betekent in sql dat het een (user)variabele is.
....
de @ voor orderid betekent in sql dat het een (user)variabele is.
....
Gewijzigd op 19/07/2012 13:11:26 door Ger van Steenderen
Ik ben geen voorstander om het op die manier te doen, maar dat is een persoonlijke manier van schrijven.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
echo "INSERT INTO order_products (order_id, prd_id, amount, price_pp) " . $insertvalues;
if ($count > 0) { // er is wat besteld
echo "ja ".$count."<br>";
//maak een bestelling aan:
$NOW=date("Y-m-d \ H:i");
echo $NOW."<br>";
$result = mysql_query("INSERT INTO orders (order_id,cust_id, order_date, order_status) VALUES (,00001, ".$NOW.",)");
if ($result === true) {
Echo "result goed";
mysql_free_result($result);
//omdat een uservar gebruikt wordt in de query deze eerst even instellen
$order_id = mysql_insert_id();
mysql_query("SET @orderid = " . $insert_id);
$sql = "INSERT INTO order_products (order_id, prd_id, amount, price_pp) " . $insertvalues;
//echo $sql." <br>";
$result = mysql_query($sql);
if ($result === true) {
Echo "result 2 goed";
if ($count > 0) { // er is wat besteld
echo "ja ".$count."<br>";
//maak een bestelling aan:
$NOW=date("Y-m-d \ H:i");
echo $NOW."<br>";
$result = mysql_query("INSERT INTO orders (order_id,cust_id, order_date, order_status) VALUES (,00001, ".$NOW.",)");
if ($result === true) {
Echo "result goed";
mysql_free_result($result);
//omdat een uservar gebruikt wordt in de query deze eerst even instellen
$order_id = mysql_insert_id();
mysql_query("SET @orderid = " . $insert_id);
$sql = "INSERT INTO order_products (order_id, prd_id, amount, price_pp) " . $insertvalues;
//echo $sql." <br>";
$result = mysql_query($sql);
if ($result === true) {
Echo "result 2 goed";
bij de eerst if ($result === true) { moet het naar de database worden geschreven verwacht ik maar niks.
en bij mysql_free_result($result); word result weer leeg gemaakt.
op 1 of andere manier kan hij niet de database benaderen is daar een test voor?