SQL query zonder refresh

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Bart de kinkelaar

bart de kinkelaar

28/12/2016 15:51:40
Quote Anchor link
Normaal gesproken werken SQL-queries op mijn localhost gewoon zoals het hoort, dus zonder extra keer F5.
Maar nu heb ik een pagina met 2 sql queries.
De ene is:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
$query2
= "SELECT naam, Prijs, product_id, fotonaam FROM webshop WHERE fotonaam='$naam'";
$result2 = mysqli_query($con,$query2) or die ("Error in query: $query2. ".mysqli_error($con));
if (mysqli_num_rows($result2) > 0) {
    while($row2 = mysqli_fetch_array($result2))
    {
?>

En de tweede is:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
mysqli_select_db($con, 'webshop') or die ("Kan niet verbinden met de database!");
$query = "INSERT INTO winkelwagen (productnaam, product_id, user_id, prijs)
VALUES ('$F_Naam', '$P_id', '$id', '$Prijs')"
;
$result = mysqli_query($con,$query) or die ("Error in query: $query. ".mysqli_error($con));
if (mysqli_num_rows($result) > 0) {
    while($row = mysqli_fetch_array($result))
    {

?>

De eerste pakt hij gewoon. De tweede alleen na een keertje F5, waarbij de error
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given in C:\xampp\htdocs\webshop\BestelProducten.php on line 56
gewoon blijft staan.

Waarom verwerkt hij de query pas na f5 (de insert query) en waarom geeft hij de error?

De hele pagina:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?php
    session_start();
HTMLCODE
  include 'style2.css';     include 'style.css';
$con=mysqli_connect("localhost","root","superbart","webshop");
// Check connection
if (mysqli_connect_errno())
{

echo "Failed to connect to MySQL: " . mysqli_connect_error();
};

include 'conn.php';
if(isset($_GET['id']))
{

  $id = intval($_GET['id']);
}

if(isset($_GET['naam']))
{

  $naam = $_GET['naam'];
}
include 'navigatie.php';?>

            <div class="col-md-12">
                <div class="thumbnail">
                <?php
mysqli_select_db($con, 'webshop') or die ("Kan niet verbinden met de database!");
$query2 = "SELECT naam, Prijs, product_id, fotonaam FROM webshop WHERE fotonaam='$naam'";
$result2 = mysqli_query($con,$query2) or die ("Error in query: $query2. ".mysqli_error($con));
if (mysqli_num_rows($result2) > 0) {
    while($row2 = mysqli_fetch_array($result2))
    {

    echo "<h3>Artikelgegevens:</h3>";
    $Naam = $row2['naam'];
    $P_id = $row2['product_id'];
    $F_Naam = $row2['fotonaam'];
    $Prijs = $row2['Prijs'];
    echo "$Naam";
    }
}

else
{
echo "<center>Het legen van de winkelwagen is mislukt.</center>";
};

mysqli_select_db($con, 'webshop') or die ("Kan niet verbinden met de database!");
$query = "INSERT INTO winkelwagen (productnaam, product_id, user_id, prijs)
VALUES ('$F_Naam', '$P_id', '$id', '$Prijs')"
;
$result = mysqli_query($con,$query) or die ("Error in query: $query. ".mysqli_error($con));
if (mysqli_num_rows($result) > 0) {
    while($row = mysqli_fetch_array($result))
    {

    echo "Het product is succesvol toegevoegd aan uw winkelwagen.<br> Je word automatisch teruggestuurd naar de webshop!";
    }
}
else
{
    echo "ERROR: Could not able to execute $query. " . mysqli_error($con);
}

?>
Gewijzigd op 28/12/2016 16:34:06 door - Ariën -
 
PHP hulp

PHP hulp

27/04/2024 00:10:19
 
- Ariën  -
Beheerder

- Ariën -

28/12/2016 16:23:55
Quote Anchor link
Echo eens $query2, en kijk bij beide keren eens eens naar de verschillen. Ik vermoed dat je variabele niet meegenomen wordt.

Verder een goede tip: Nummer geen queries, maar geef aan wat ze precies ophalen.
Want weet jij straks nog wat $query8 doet?
Ook die() is geen nette foutafhandeling.
Gewijzigd op 28/12/2016 16:24:34 door - Ariën -
 
Thomas van den Heuvel

Thomas van den Heuvel

28/12/2016 16:51:26
Quote Anchor link
Waarom verwacht je bij een INSERT query resultaten? :/

Indien een functie/methode iets onverwachts doet zou je eerste impuls het raadplegen van de documentatie moeten zijn.

Daar had je het volgende kunnen lezen (onder het kopje Return Values):
Quote:
Returns FALSE on failure. For successful SELECT, SHOW, DESCRIBE or EXPLAIN queries mysqli_query() will return a mysqli_result object. For other successful queries mysqli_query() will return TRUE.

Ingeval een INSERT-query krijg je te allen tijde een boolean terug (true of false). Daar probeer je vervolgens mysqli_num_rows() op toe te passen terwijl deze een mysqli_result object verwacht.

Wacht eens even... Dat was PRECIES de foutmelding die je kreeg:
Quote:
Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given in C:\xampp\htdocs\webshop\BestelProducten.php on line 56


Leer jezelf aan foutmeldingen te begrijpen. Deze reiken je vaak direct de oorzaak van het probleem aan...
 
Bart de kinkelaar

bart de kinkelaar

28/12/2016 19:35:51
Quote Anchor link
Ik heb nu dat als ik het product de eerste keer aanklik, hij hem gelijk toevoegd aan het winkelwagentje in de db. Maar, staat het product al in het winkelwagentje, en klik ik bij het product op bestellen dan zet hij het alleen in de database als ik de pagina die verschijnt na op bestellen druk, f5?!
de code van de query nu.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
mysqli_select_db($con, 'webshop') or die ("Kan niet verbinden met de database!");
$query = "INSERT INTO winkelwagen (productnaam, product_id, user_id, prijs)
VALUES ('$F_Naam', '$P_id', '$id', '$Prijs')";
if(mysqli_query($con, $query)){
    echo "Het product is succesvol toegevoegd aan uw winkelwagen.<br> Je word automatisch teruggestuurd naar de webshop!";
    }
else
{
    echo "ERROR: Could not able to execute $query. " . mysqli_error($con);
}
 
Bart V B

Bart V B

28/12/2016 22:37:15
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$query
= "INSERT INTO winkelwagen (productnaam, product_id, user_id, prijs)
VALUES ('$F_Naam', '$P_id', '$id', '$Prijs')"
;
?>

Leg eens uit wat nou hier de uitkomst van is.
Ik kan me eigenlijk niet voorstellen dat je zonder blikken of blozen kan zeggen dat je deze query eens op je scherm hebt neer gezet. dus met een:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
$query = "INSERT INTO winkelwagen (productnaam, product_id, user_id, prijs)
VALUES ('$F_Naam', '$P_id', '$id', '$Prijs')";
echo $query;
?>


Wat hier uitkomt is letterlijk '$F_naam' e.d. dus dat kan nooit kloppen met de waardes die jij voor ogen hebt. Oftewel variabelen buiten quotes plaatsen. (basic php)
 
Bart de kinkelaar

bart de kinkelaar

28/12/2016 22:57:54
Quote Anchor link
De F_naam variabelen zijn erboven benoemd wat het moet zijn.

$F_Naam = $row2['fotonaam']; bijv.
 
Bart V B

Bart V B

28/12/2016 23:02:16
Quote Anchor link
Goed, ik zal je matsen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$query
= "INSERT INTO winkelwagen (productnaam, product_id, user_id, prijs)
VALUES ('"
.$F_Naam."', '".$P_id."', '".$id."', '".$Prijs."')";
?>

Zoals je ziet zijn de kleurtjes nu anders geworden.
En zal het dus een waarde geven die je bijvoorbeeld in '$F_Naam' hebt gegeven.
Oftewel echo je query om te debuggen. Ik weet heel zeker dat je dat niet hebt gedaan.
edit
Betere uitleg:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
$var
= 'variabele';
// Hier zal komen te staan "ik ben een variabele"
$string = "Ik ben een $var";
echo $string;
// hier staat "Ik ben een $var"
$string2 = 'Ik ben een $var';
echo $string2;
?>

Daarom variabele buiten quotes houden...
Gewijzigd op 28/12/2016 23:09:08 door Bart V B
 
- SanThe -

- SanThe -

28/12/2016 23:15:25
Quote Anchor link
Bart V B op 28/12/2016 22:37:15:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$query
= "INSERT INTO winkelwagen (productnaam, product_id, user_id, prijs)
VALUES ('$F_Naam', '$P_id', '$id', '$Prijs')"
;
?>

Leg eens uit wat nou hier de uitkomst van is.
Ik kan me eigenlijk niet voorstellen dat je zonder blikken of blozen kan zeggen dat je deze query eens op je scherm hebt neer gezet.

Wat hier uitkomt is letterlijk '$F_naam' e.d. dus dat kan nooit kloppen met de waardes die jij voor ogen hebt. Oftewel variabelen buiten quotes plaatsen. (basic php)


@Bart: Bovenstaande code werkt gewoon.
Waar jij het over hebt geldt voor een echo met enkele quotes.

Ik ben het wel eens met $vars altijd buiten de quotes houden.
 
Thomas van den Heuvel

Thomas van den Heuvel

29/12/2016 00:56:13
Quote Anchor link
Nadat je iets in je karretje hebt geduwd zul je opnieuw moeten controleren wat er in het karretje zit / enige weergave die de inhoud van het karretje toont moeten verversen. Althans ik denk dat je dit vraagt. Dat heeft echter niets te maken met je code in het begin. Daar behandel je ten onrechte een INSERT query als een SELECT query... Stop het inserten in een aparte actie en ververs daarna de gehele pagina of de plak HTML waarin de inhoud van je cart wordt getoond.

Ik denk echter niet dat het verstandig is dat je een webshop in elkaar aan het klussen bent als je niet volgt hoe de mysqli functies werken.
Gewijzigd op 29/12/2016 00:57:05 door Thomas van den Heuvel
 
Bart de kinkelaar

bart de kinkelaar

29/12/2016 14:59:35
Quote Anchor link
Ik was gister zo te zien niet helemaal wakker.

Het bouwen van dat webshopje is niet bedoeld voor daadwerkelijk gebruik.
Bart thnx, wist eigenlijk niet eens dat het zoveel uitmaakte of je ' of " gebruikt.
 
Bart de kinkelaar

bart de kinkelaar

30/12/2016 16:54:06
Quote Anchor link
Nog steeds dezelfde vraag, waarom insert het pas na een refresh?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
mysqli_select_db($con, 'webshop') or die ("Kan niet verbinden met de database!");
$query = "INSERT INTO winkelwagen (productnaam, product_id, user_id, prijs)
VALUES ('".$F_Naam."', '".$P_id."', '".$id."', '".$Prijs."')";
if ($con->query($query) === TRUE) {
    echo "<br><b>De registratie is geslaagd!</b>";
    echo $query;
} else {
    echo "Error: " . $query . "<br>" . $con->error;
};
?>


De registratiequery + php code is identiek zowat aan deze, maar werkt wél zonder refresh.
Ligt dat dan aan omdat er een select boven zit die de Values selecteert (dat denk ik dan tenminste) of?
Al is het wel zo dat zonder refresh hij ook al in echo $query, laat zien dat hij de benodigde gegevens al in de value vakjes heeft staan.
 
Frank Nietbelangrijk

Frank Nietbelangrijk

30/12/2016 18:10:50
Quote Anchor link
Ik tel het aantal personen in de auto. Ik kom aan twee personen. Daarna stap ik in de auto. Hoeveel personen zitten er in de auto?

Volgens mij is dit een beetje het verhaal waarop het misloopt. Je zult eerst de INSERT moeten doen en dan pas de SELECT. Overigens gaat het dan niet om de twee queries die je hier laat zien. Je laat namelijk niet zien hoe/waar je je gegevens weer uit de tabel winkelwagen haalt.
 
Bart de kinkelaar

bart de kinkelaar

09/01/2017 14:20:37
Quote Anchor link
De pagina waarop de producten worden weergeven, zegmaar de homepagina van de webshop productenpagina, update de producten pas na een refresh.

Of volledig uitgelegd:
Ik voeg via het admin panel een product teo aan de databasetabel, wanneer ik vervolgens weer op Webshop klik, dan wil ik het liefst dat i khet toegevoegde product meteen zie, maar die zie ik pas na f5 (een refresh). De code van de webshop:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?php
    session_start();
    ?>

HTML
<?php
  include 'style2.css';     include 'style.css';
$con=mysqli_connect("localhost","root","superbart","webshop");
// Check connection
if (mysqli_connect_errno())
{

echo "Failed to connect to MySQL: " . mysqli_connect_error();
};



if(isset($_GET['id']))
{

  $id = intval($_GET['id']);
  // getting info from db
}
if(isset($_GET['Merk']))
{

  $Merk = $_GET['Merk']);
  // getting info from db
}
if(isset($_GET['Prijs']))
{

  $Prijs = intval($_GET['Prijs']);
  // getting info from db
}
include 'navigatie.php';?>

HTML
                <?php
                    include 'menu.php';
                    include 'conn.php';
                    mysqli_select_db($con, 'webshop') or die ("Unable to select database!");
                    $Merk = $_GET['Merk'];
                    $Prijs = $_GET['Prijs'];
if(isset($_GET['Merk']) && isset($_GET['Prijs']))
{

    $Merk = $_GET['Merk'];
    $Prijs = $_GET['Prijs'];
    
    if($Merk == "LG" && $Prijs == "250")
    {

        $query = "select * FROM webshop WHERE Merk = 'LG' AND Prijs < 250";
    }

    if($Merk == "LG" && $Prijs == "500")
    {

        $query = "select * FROM webshop WHERE Merk = 'LG' AND Prijs < 500";
    }

    if($Merk == "LG" && $Prijs == "1000")
    {

        $query = "select * FROM webshop WHERE Merk = 'LG' AND Prijs < 1000";
    }

    if($Merk == "LG" && $Prijs == "1200")
    {

        $query = "select * FROM webshop WHERE Merk = 'LG' AND Prijs < 1200";
    }

    if($Merk == "LG" && $Prijs == "Alle")
    {

        $query = "select * FROM webshop WHERE Merk = 'LG'";
    }

    if($Merk == "Samsung" && $Prijs == "250")
    {

        $query = "select * FROM webshop WHERE Merk = 'Samsung' AND Prijs < 250";
    }

    if($Merk == "Samsung" && $Prijs == "500")
    {

        $query = "select * FROM webshop WHERE Merk = 'Samsung' AND Prijs < 500";
    }

    if($Merk == "Samsung" && $Prijs == "1000")
    {

        $query = "select * FROM webshop WHERE Merk = 'Samsung' AND Prijs < 1000";
    }

    if($Merk == "Samsung" && $Prijs == "1200")
    {

        $query = "select * FROM webshop WHERE Merk = 'Samsung' AND Prijs < 1200";
    }

    if($Merk == "Samsung" && $Prijs == "Alle")
    {

        $query = "select * FROM webshop WHERE Merk = 'Samsung'";
    }

    En dat voor alle merken en prijzenopties.
}

else
{
    $query = "select * FROM webshop";
}

    $result = mysqli_query($con,$query) or die ("Error in query: $query. ".mysqli_error());
    if (mysqli_num_rows($result) > 0) {  
    while($row = mysqli_fetch_array($result))
    {

        $fnaam = $row["fotonaam"];
        $naam = $row["naam"];
        $prijs = $row["Prijs"];
        echo "<table border='1px'><tr><td class='imagetd' style='background-color:#ffffff' border-color:#0576b6 border='1px'><h5><b><center><img class='imagetabel' src='".$fnaam.".jpg' height='125px'/></center></b></h4</td></tr>";
        echo "<tr><td style='background-color:#ffffff' border='1px'><h5><b><center>".$naam."</center></b></h4></td></tr>";
        echo "<tr><td style='background-color:#ffffff' border='1px'><h5><b><center>€".$prijs."</center></b></h4></td></tr>";
        echo "<tr><td style='background-color:#ffffff' border='1px'><center><a href='BestelProducten.php?id=$id&&naam=$fnaam'><button>Bestellen</button></center></a></td></tr></table>";
    }

        echo "</center>";
    }

    else
    {
        echo "<img src='ProductNietBeschikbaar.png'/>";
    }

    mysqli_free_result($result);
    mysqli_close($con);
    ?>
 
- Ariën  -
Beheerder

- Ariën -

09/01/2017 14:36:06
Quote Anchor link
Waar INSERT je het nu, als ik vragen mag?
 
Bart de kinkelaar

bart de kinkelaar

09/01/2017 14:45:50
Quote Anchor link
Dit is de pagina waarop alle artikelen laat zien.
Het toevoegen van producten via de admin pagina doe ik dmv een formuliertje.
Het formuliertje verschijnt in een popup op de Admin.php pagina. En wanneer op de submit knop is gedrukt:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

$naam    =    mysqli_real_escape_string($conn, $_POST['NaamTxt']);
$aantal    =    mysqli_real_escape_string($conn, $_POST['AantalTxt']);
$fotonaam    =    mysqli_real_escape_string($conn, $_POST['FotoTxt']);
$prijs    =    mysqli_real_escape_string($conn, $_POST['PrijsTxt']);
$beschrijving    =    mysqli_real_escape_string($conn, $_POST['BeschrijvingTxt']);
$categorie    =    mysqli_real_escape_string($conn, $_POST['CategorieTxt']);
$merk    =    mysqli_real_escape_string($conn, $_POST['MerkTxt']);
...

...
if(isset($_POST['btnToevoegen']))
{
$sql = "INSERT INTO webshop (naam, aantal, fotonaam, Prijs, beschrijving, Categorie, Merk) VALUES ('$naam','$aantal', '$fotonaam','$prijs', '$beschrijving','$categorie', '$merk')";

       if ($conn->query($sql) === TRUE){
    echo "<br><center><b>De registratie is geslaagd!</b></center>";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
}?>

 
Bart de kinkelaar

bart de kinkelaar

11/01/2017 09:40:19
Quote Anchor link
Even samengevat wat de fout op dit moment is waar ik me op richt:
De eerste keer dat ik na het inloggen de S6 toevoeg aan mn winkelmandje, doet hij dat ook.
Maar doe ik het een tweede keer, dan voegt hij hem niet toe aan het winkelmandje.
De enige keer dat hij hem dan nog toevoegt, is als ik de pagina waarop de melding staat "Toegevoegd aan winkelmandje" f5.Hoe kan dit?

De webshop (homepage):
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
<?php
    session_start();
    ?>

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Webshop - Webshop</title>
    <link href="css/bootstrap.min.css" rel="stylesheet">
    </head>
    <style>    
table
{
    float:left;
    width:24%;
}
    </style>
  <body>
<?php
  include 'style2.css';     include 'style.css';
$con=mysqli_connect("localhost","root","superbart","webshop");
// Check connection
if (mysqli_connect_errno())
{

echo "Failed to connect to MySQL: " . mysqli_connect_error();
};

if(isset($_GET['id']))
{

  $id = intval($_GET['id']);
  // getting info from db
}
if(isset($_GET['Merk']))
{

  $Merk = $_GET['Merk'];
  // getting info from db
}
if(isset($_GET['Prijs']))
{

  $Prijs = intval($_GET['Prijs']);
  // getting info from db
}
include 'navigatie.php';?>

            <div class="col-md-12">
                <div class="thumbnail">
                <?php
                    include 'menu.php';
                    include 'conn.php';
                    mysqli_select_db($con, 'webshop') or die ("Unable to select database!");
                    $Merk = $_GET['Merk'];
                    $Prijs = $_GET['Prijs'];
if(isset($_GET['Merk']) && isset($_GET['Prijs']))
{

    $Merk = $_GET['Merk'];
    $Prijs = $_GET['Prijs'];
    
    if($Merk == "LG" && $Prijs == "250")
    {

        $query = "select * FROM webshop WHERE Merk = 'LG' AND Prijs < 250";
    }

    if($Merk == "LG" && $Prijs == "500")
    {

        $query = "select * FROM webshop WHERE Merk = 'LG' AND Prijs < 500";
    }

    if($Merk == "LG" && $Prijs == "1000")
    {

        $query = "select * FROM webshop WHERE Merk = 'LG' AND Prijs < 1000";
    }

    if($Merk == "LG" && $Prijs == "1200")
    {

        $query = "select * FROM webshop WHERE Merk = 'LG' AND Prijs < 1200";
    }

    if($Merk == "LG" && $Prijs == "Alle")
    {

        $query = "select * FROM webshop WHERE Merk = 'LG'";
    }

    if($Merk == "Samsung" && $Prijs == "250")
    {

        $query = "select * FROM webshop WHERE Merk = 'Samsung' AND Prijs < 250";
    }

    if($Merk == "Samsung" && $Prijs == "500")
    {

        $query = "select * FROM webshop WHERE Merk = 'Samsung' AND Prijs < 500";
    }

    if($Merk == "Samsung" && $Prijs == "1000")
    {

        $query = "select * FROM webshop WHERE Merk = 'Samsung' AND Prijs < 1000";
    }

    if($Merk == "Samsung" && $Prijs == "1200")
    {

        $query = "select * FROM webshop WHERE Merk = 'Samsung' AND Prijs < 1200";
    }

    if($Merk == "Samsung" && $Prijs == "Alle")
    {

        $query = "select * FROM webshop WHERE Merk = 'Samsung'";
    }

    if($Merk == "Apple" && $Prijs == "250")
    {

        $query = "select * FROM webshop WHERE Merk = 'Apple' AND Prijs < 250";
    }

    if($Merk == "Apple" && $Prijs == "500")
    {

        $query = "select * FROM webshop WHERE Merk = 'Apple' AND Prijs < 500";
    }

    if($Merk == "Apple" && $Prijs == "1000")
    {

        $query = "select * FROM webshop WHERE Merk = 'Apple' AND Prijs < 1000";
    }

    if($Merk == "Apple" && $Prijs == "1200")
    {

        $query = "select * FROM webshop WHERE Merk = 'Apple' AND Prijs < 1200";
    }

    if($Merk == "Apple" && $Prijs == "Alle")
    {

        $query = "select * FROM webshop WHERE Merk = 'Apple'";
    }

    if($Merk == "HTC" && $Prijs == "250")
    {

        $query = "select * FROM webshop WHERE Merk = 'HTC' AND Prijs < 250";
    }

    if($Merk == "HTC" && $Prijs == "500")
    {

        $query = "select * FROM webshop WHERE Merk = 'HTC' AND Prijs < 500";
    }

    if($Merk == "HTC" && $Prijs == "1000")
    {

        $query = "select * FROM webshop WHERE Merk = 'HTC' AND Prijs < 1000";
    }

    if($Merk == "HTC" && $Prijs == "1200")
    {

        $query = "select * FROM webshop WHERE Merk = 'HTC' AND Prijs < 1200";
    }

    if($Merk == "HTC" && $Prijs == "Alle")
    {

        $query = "select * FROM webshop WHERE Merk = 'HTC'";
    }

    if($Merk == "Huawei" && $Prijs == "250")
    {

        $query = "select * FROM webshop WHERE Merk = 'Huawei' AND Prijs < 250";
    }

    if($Merk == "Huawei" && $Prijs == "500")
    {

        $query = "select * FROM webshop WHERE Merk = 'Huawei' AND Prijs < 500";
    }

    if($Merk == "Huawei" && $Prijs == "1000")
    {

        $query = "select * FROM webshop WHERE Merk = 'Huawei' AND Prijs < 1000";
    }

    if($Merk == "Huawei" && $Prijs == "1200")
    {

        $query = "select * FROM webshop WHERE Merk = 'Huawei' AND Prijs < 1200";
    }

    if($Merk == "Huawei" && $Prijs == "Alle")
    {

        $query = "select * FROM webshop WHERE Merk = 'Huawei'";
    }

    if($Merk == "Alle" && $Prijs == "Alle")
    {

        $query = "select * FROM webshop";
    }

    if($Merk == "Alle" && $Prijs == "250")
    {

        $query = "select * FROM webshop WHERE Prijs = '250'";
    }

    if($Merk == "Alle" && $Prijs == "500")
    {

        $query = "select * FROM webshop WHERE Prijs = '500'";
    }

    if($Merk == "Alle" && $Prijs == "1000")
    {

        $query = "select * FROM webshop WHERE Prijs = '1000'";
    }

    if($Merk == "Alle" && $Prijs == "1200")
    {

        $query = "select * FROM webshop WHERE Prijs = '1200'";
    }
}

else
{
    $query = "select * FROM webshop";
}

    $result = mysqli_query($con,$query) or die ("Error in query: $query. ".mysqli_error());
    if (mysqli_num_rows($result) > 0) {  
    while($row = mysqli_fetch_array($result))
    {

        $fnaam = $row["fotonaam"];
        $naam = $row["naam"];
        $prijs = $row["Prijs"];
        echo "<table border='1px'><tr><td class='imagetd' style='background-color:#ffffff' border-color:#0576b6 border='1px'><h5><b><center><img class='imagetabel' src='".$fnaam.".jpg' height='125px'/></center></b></h4</td></tr>";
        echo "<tr><td style='background-color:#ffffff' border='1px'><h5><b><center>".$naam."</center></b></h4></td></tr>";
        echo "<tr><td style='background-color:#ffffff' border='1px'><h5><b><center>€".$prijs."</center></b></h4></td></tr>";
        echo "<tr><td style='background-color:#ffffff' border='1px'><center><a href='BestelProducten.php?id=$id&&naam=$fnaam'><button>Bestellen</button></center></a></td></tr></table>";
    }

        echo "</center>";
    }

    else
    {
        echo "<img src='ProductNietBeschikbaar.png'/>";
    }

    mysqli_free_result($result);
    mysqli_close($con);
    ?>
</div>
        <?php include 'footer.php'?>
    </div>
</body>
</html>


Bevestigingspagina, de pagina waarop je komt nadat je op bestellen hebt gedrukt:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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

<?php
    session_start();
    ?>

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title>Product Bestellen - Webshop</title>
        <link href="css/bootstrap.min.css" rel="stylesheet">
    </head>
<?php
  include 'style2.css';     include 'style.css';
$con=mysqli_connect("localhost","root","superbart","webshop");
// Check connection
if (mysqli_connect_errno())
{

echo "Failed to connect to MySQL: " . mysqli_connect_error();
};

include 'conn.php';
if(isset($_GET['id']))
{

  $id = intval($_GET['id']);
}

if(isset($_GET['naam']))
{

  $naam = $_GET['naam'];
}
include 'navigatie.php';?>

            <div class="col-md-12">
                <div class="thumbnail">
                <?php
mysqli_select_db($con, 'webshop') or die ("Kan niet verbinden met de database!");
$query2 = "SELECT naam, Prijs, product_id, fotonaam FROM webshop WHERE fotonaam='$naam'";
$result2 = mysqli_query($con,$query2) or die ("Error in query: $query2. ".mysqli_error($con));
if (mysqli_num_rows($result2) > 0) {
    while($row2 = mysqli_fetch_array($result2))
    {

    echo "<h3>Artikelgegevens:</h3>";
    $Naam = $row2['naam'];
    $P_id = $row2['product_id'];
    $F_Naam = $row2['fotonaam'];
    $Prijs = $row2['Prijs'];
    }
}

else
{
echo "<center>Het legen van de winkelwagen is mislukt.</center>";
};

mysqli_select_db($con, 'webshop') or die ("Kan niet verbinden met de database!");
$query = "INSERT INTO winkelwagen (productnaam, product_id, user_id, prijs)
VALUES ('"
.$F_Naam."', '".$P_id."', '".$id."', '".$Prijs."')";
if ($con->query($query) === TRUE) {
    echo "<br><b>De registratie is geslaagd!</b><br>";
    }

    else
    {
    echo "Error: " . $query . "<br>" . $con->error;
    };

?>

</body>
</html>


De winkelwagen-overzichtpagina:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?php
include 'conn.php';
if(isset($_GET['id']))
{

  $id = intval($_GET['id']);
}

mysqli_select_db($con, 'webshop') or die ("Kan niet verbinden met de database!");
$query = "SELECT winkelwagen_id, productnaam, product_id, user_id, prijs, COUNT(productnaam) FROM winkelwagen WHERE user_id=$id GROUP BY productnaam";
$result = mysqli_query($con,$query) or die ("Error in query: $query. ".mysqli_error());
if (mysqli_num_rows($result) > 0)
{
    
    echo "<table class='tabel' width='500px'>";
    echo "<tr><td><center><b><i>#</center><i></b></td>";
    echo "<td><center><b><i>Product</center><i></b></td>";
    echo "<td><center><b><i>Prijs</center><i></b></td>";
    echo "<td><center><b><i>Aantal</center><i></b></td></tr>";     
while($row = mysqli_fetch_array($result))
    {

    echo "<tr>";
    echo "<td style='background-color:#dee1e1'><h5><b><center><img src='" . $row['productnaam'] . ".jpg' height='80px'/></center></b></h5></td>";
    echo "<td style='background-color:#dee1e1'><h5><b><center>" . $row['productnaam'] . "</center></b></h5></td>";
    echo "<td style='background-color:#dee1e1'><h5><b><center>€" . $row['prijs'] . "</center></b></h5></td>";
    echo "<td style='background-color:#dee1e1'><h5><b><center>". $row['COUNT(productnaam)'] ." stuks</center></b></h5></td>";
    echo "</tr>";
}

    echo "</table>";
    echo "<br><b>Soms is een refresh van de pagina nodig om de up-to-date winkelwagen & totaal te zien.</b>";
}

else
{
    echo "Geen producten beschikbaar!";
}

$query2 = "SELECT SUM(prijs) AS prijs FROM winkelwagen WHERE user_id=$id";
$result2 = mysqli_query($con,$query2) or die ("Error in query: $query2. ".mysqli_error());
if (mysqli_num_rows($result2) > 0) {  
    echo "<table height=5px>";
while($row2 = mysqli_fetch_array($result2))
{

    echo "<tr><center><h3><b>Totaal:</b> €".$row2['prijs'].",-</h3></center></tr>";
}

    echo "<tr><button class='button'><span>Bestellen</span></button></tr></table>";
}

else
{
    echo "Je winkelwagen is leeg!";
};

mysqli_close($con);?>

<?php echo "<form method='post' class='form-horizontal' action='winkelwagenlegen.php?id=$id' role='form'>
            <center><button type='submit' class='btn btn-default' id='btnlogin' name='Btnlogin'>Winkelwagen legen</button></center>
            </form>"
;?>
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.