Geen output 2de query
zit muurvast, eerste table wordt geloopt, maar het ordenen en uitlezen van de twee query lukt niet, enig idee?
connect.php
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php //connect.php
$db_hostname = 'localhost';
$db_database = 'DB';
$db_username = 'gebruiker';
$db_password = 'wachtwoordje';
?>
$db_hostname = 'localhost';
$db_database = 'DB';
$db_username = 'gebruiker';
$db_password = 'wachtwoordje';
?>
Product pagina
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
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
<?php
//--------------------------------Verbinden en Ophalen verbinding gegevens connect.php----------------------------------
require_once 'Includes/connect.php';
$db_server = mysql_connect($db_hostname, $db_username, $db_password);
if (!$db_server) die("Unable to connect to MySQL: " . mysql_error());
mysql_select_db($db_database)
or die("Unable to select database: " . mysql_error());
//------------------------------------------------------------------
if(isset($_GET['action']) && $_GET['action']=="add"){
$id=intval($_GET['id']);
if(isset($_SESSION['cart'][$id])){
$_SESSION['cart'][$id]['quantity']++;
}else{
$sql_s="SELECT * FROM
WHERE id_product=$id";
$query_s=mysql_query($sql_s);
if(mysql_num_rows($query_s)!=0){
$row_s=mysql_fetch_array($query_s);
$_SESSION['cart'][$row_s['id_product']]=array(
"quantity" => 1,
"price" => $row_s['price']
);
}
else
{ //berichtje bij fout product id
$message="Het product ID is ongeldig!";
}
}
}
echo "<h1>Kerstbomen</h1>";
//als het niet klopt, dam bericht
if(isset($message))
{
echo "<h2>$message</h2>";
}
else
{
//tafel hoofdje
$table_thead = '
<table>
<tr>
<th>ID</th>
<th>Id product</th>
<th>size</th>
<th>diameter</th>
<th>tips</th>
<th>nr_of_bulb</th>
<th>cu_ft</th>
<th>l</th>
<th>w</th>
<th>h</th>
<th>cbm</th>
<th>g_w</th>
<th>n_w</th>
<th>stand</th>
<th>pack</th>
<th>warehouse</th>
<th>Price</th>
<th>barcode</th>
<th>Quantity</th>
</tr>
';
//query om namen op te halen
$sql_getname = "
SELECT *
FROM naam
ORDER BY name ASC
";
//query namen uitvoeren
$query_getname = mysql_query($sql_getname);
// loop door alle verschillende namen heen
while( $row_name = mysql_fetch_assoc($query_getname) )
{
// de naam waar je mee bezig bent
$curname = $row_name['naam'];//naam
// select alle producten waar die hooren bij de naam waar je mee bezig bent
$sql_getProduct = "
SELECT *
FROM product
WHERE $id_product = '$name';
";
$query_getProduct = mysql_query($sql_getProduct);
// echo de naam van het product
echo $row_s['id_name'];
// echo de thead van tabel
echo $table_thead;
// echo de bijpassende producten
while( $row_Product = mysql_fetch_assoc($query_getProduct) )
{
//ophalen gegevens
echo "
<tr>
<td>".$row['id_product']."</td>
<td>".$row['size']."</td>
<td>".$row['diameter']."</td>
<td>".$row['tips']."</td>
<td>".$row['nr_of_bulb']."</td>
<td>".$row['cu_ft']."</td>
<td>".$row['l']."</td>
<td>".$row['w']."</td>
<td>".$row['h']."</td>
<td>".$row['cbm']."</td>
<td>".$row['g_w']."</td>
<td>".$row['n_w']."</td>
<td>".$row['stand']."</td>
<td>".$row['pack']."</td>
<td>".$row['warehouse']."</td>
<td>".$row['price']."</td>
<td>".$row['barcode']."</td>
<td>".$row['id_name']."</td>
<td>".$row['ID']."</td>
<td> <b></b> <input class='quantity' type= 'text' name='aantal' size='2' maxlength='2' value='1'/></td>
<td><a href='index.php?page=products&action=add&id=".$row['id_product']."'>Product toevoegen</a></td>
</tr>
";
}
// echo einde van de table
echo "</table>";
}
}
?>
//--------------------------------Verbinden en Ophalen verbinding gegevens connect.php----------------------------------
require_once 'Includes/connect.php';
$db_server = mysql_connect($db_hostname, $db_username, $db_password);
if (!$db_server) die("Unable to connect to MySQL: " . mysql_error());
mysql_select_db($db_database)
or die("Unable to select database: " . mysql_error());
//------------------------------------------------------------------
if(isset($_GET['action']) && $_GET['action']=="add"){
$id=intval($_GET['id']);
if(isset($_SESSION['cart'][$id])){
$_SESSION['cart'][$id]['quantity']++;
}else{
$sql_s="SELECT * FROM
WHERE id_product=$id";
$query_s=mysql_query($sql_s);
if(mysql_num_rows($query_s)!=0){
$row_s=mysql_fetch_array($query_s);
$_SESSION['cart'][$row_s['id_product']]=array(
"quantity" => 1,
"price" => $row_s['price']
);
}
else
{ //berichtje bij fout product id
$message="Het product ID is ongeldig!";
}
}
}
echo "<h1>Kerstbomen</h1>";
//als het niet klopt, dam bericht
if(isset($message))
{
echo "<h2>$message</h2>";
}
else
{
//tafel hoofdje
$table_thead = '
<table>
<tr>
<th>ID</th>
<th>Id product</th>
<th>size</th>
<th>diameter</th>
<th>tips</th>
<th>nr_of_bulb</th>
<th>cu_ft</th>
<th>l</th>
<th>w</th>
<th>h</th>
<th>cbm</th>
<th>g_w</th>
<th>n_w</th>
<th>stand</th>
<th>pack</th>
<th>warehouse</th>
<th>Price</th>
<th>barcode</th>
<th>Quantity</th>
</tr>
';
//query om namen op te halen
$sql_getname = "
SELECT *
FROM naam
ORDER BY name ASC
";
//query namen uitvoeren
$query_getname = mysql_query($sql_getname);
// loop door alle verschillende namen heen
while( $row_name = mysql_fetch_assoc($query_getname) )
{
// de naam waar je mee bezig bent
$curname = $row_name['naam'];//naam
// select alle producten waar die hooren bij de naam waar je mee bezig bent
$sql_getProduct = "
SELECT *
FROM product
WHERE $id_product = '$name';
";
$query_getProduct = mysql_query($sql_getProduct);
// echo de naam van het product
echo $row_s['id_name'];
// echo de thead van tabel
echo $table_thead;
// echo de bijpassende producten
while( $row_Product = mysql_fetch_assoc($query_getProduct) )
{
//ophalen gegevens
echo "
<tr>
<td>".$row['id_product']."</td>
<td>".$row['size']."</td>
<td>".$row['diameter']."</td>
<td>".$row['tips']."</td>
<td>".$row['nr_of_bulb']."</td>
<td>".$row['cu_ft']."</td>
<td>".$row['l']."</td>
<td>".$row['w']."</td>
<td>".$row['h']."</td>
<td>".$row['cbm']."</td>
<td>".$row['g_w']."</td>
<td>".$row['n_w']."</td>
<td>".$row['stand']."</td>
<td>".$row['pack']."</td>
<td>".$row['warehouse']."</td>
<td>".$row['price']."</td>
<td>".$row['barcode']."</td>
<td>".$row['id_name']."</td>
<td>".$row['ID']."</td>
<td> <b></b> <input class='quantity' type= 'text' name='aantal' size='2' maxlength='2' value='1'/></td>
<td><a href='index.php?page=products&action=add&id=".$row['id_product']."'>Product toevoegen</a></td>
</tr>
";
}
// echo einde van de table
echo "</table>";
}
}
?>
uhm de sql
CREATE TABLE naam(
id_naam INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(30)
);
CREATE TABLE product(
ID INT AUTO_INCREMENT PRIMARY KEY,
id_product VARCHAR(40),
size VARCHAR(30),
diameter VARCHAR(30),
tips VARCHAR(30),
nr_of_bulb VARCHAR(30),
cu_ft VARCHAR(30),
l VARCHAR(30),
w VARCHAR(30),
h VARCHAR(30),
cbm VARCHAR(30),
g_w VARCHAR(30),
n_w VARCHAR(30),
stand VARCHAR(30),
pack VARCHAR(30),
warehouse VARCHAR(30),
price VARCHAR(30),
barcode VARCHAR(30),
id_name VARCHAR(40)
);
wie kan mij helpen aub
Gewijzigd op 07/11/2013 09:44:56 door Axl vd
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
$sql_s="SELECT * FROM
WHERE id_product=" . $id;
echo "<h2>" . $message . "</h2>";
?>
$sql_s="SELECT * FROM
WHERE id_product=" . $id;
echo "<h2>" . $message . "</h2>";
?>
Verder mis je foutafhandeling. Als je dit zou hebben toegevoegd had je waarschijnlijk geweten wat er fout ging.
Daarnaast staat MySQL vanaf PHP 5.5 op 'deprecated' (afgeschaft) en zal dus binnenkort verdwijnen.
Het is dus handig om zo langzamerhand over te gaan op MySQLi.
Mag ik vragen waarom je hier geen tabel aangeeft waarvan je de data wilt hebben?
Axl vondel op 07/11/2013 10:04:09:
Heb je foutafhandeling ingebouwd dan? Anders krijg je inderdaad geen foutmeldingen.
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
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
<?php
$sql_s="SELECT * FROM
WHERE id_product=" . $id;
$query_s=mysql_query($sql_s);
if($query_s)
{
if(mysql_num_rows($query_s) > 0){
$row_s=mysql_fetch_array($query_s);
$_SESSION['cart'][$row_s['id_product']]=array(
"quantity" => 1,
"price" => $row_s['price']
);
}
else
{ //berichtje bij fout product id
$message="Geen product gevonden";
}
}
else
{
$message = 'Er is een fout opgetreden<br />';
$message .= mysql_error();
}
?>
$sql_s="SELECT * FROM
WHERE id_product=" . $id;
$query_s=mysql_query($sql_s);
if($query_s)
{
if(mysql_num_rows($query_s) > 0){
$row_s=mysql_fetch_array($query_s);
$_SESSION['cart'][$row_s['id_product']]=array(
"quantity" => 1,
"price" => $row_s['price']
);
}
else
{ //berichtje bij fout product id
$message="Geen product gevonden";
}
}
else
{
$message = 'Er is een fout opgetreden<br />';
$message .= mysql_error();
}
?>
Dit zou toch echt een foutmelding moeten geven.
Gewijzigd op 07/11/2013 10:59:31 door Michael -
eerste else word er nu uitgegooit
http://royalace.nl/ en als ik die vervang, blijft het zoals bij het eerste probleem
gr
Gewijzigd op 07/11/2013 10:46:01 door axl vd
Axl vondel op 07/11/2013 10:44:20:
Michael -,
eerste else word er nu uitgegooit
http://royalace.nl/ en als ik die vervang, blijft het zoals bij het eerste probleem
gr
eerste else word er nu uitgegooit
http://royalace.nl/ en als ik die vervang, blijft het zoals bij het eerste probleem
gr
Je bedoelt dat je krijgt 'Er is een fout opgetreden' ?
Je moet kijken wat daar voor melding onderkomt (mysql_error) die vertelt je precies wat er mis is gegaan.
Edit:
moet je vervangen door
Sorry :) Ben mysql niet meer gewend.
Je zult nou de foutmelding krijgen
Je weet nou dat ie fout gaat bij de WHERE. Als je nou daar gaat kijken zie je dat je FROM WHERE doet zonder tabel ipv FROM tabel WHERE.
Als je je foutafhandeling nou overal goed toepast, scheelt je dit een hoop werk.
moet je vervangen door
Sorry :) Ben mysql niet meer gewend.
Je zult nou de foutmelding krijgen
Code (php)
1
2
2
Er is een fout opgetreden
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE id_product=3' at line 2
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE id_product=3' at line 2
Je weet nou dat ie fout gaat bij de WHERE. Als je nou daar gaat kijken zie je dat je FROM WHERE doet zonder tabel ipv FROM tabel WHERE.
Als je je foutafhandeling nou overal goed toepast, scheelt je dit een hoop werk.
Gewijzigd op 07/11/2013 11:02:52 door Michael -
Ben er mee aan het stoeien^^
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<?php
define('DEBUG',1); // Schakel deze aan (1) en uit (0) om je errors wel of niet te tonen
$message = 'Er is een fout opgetreden (' . __LINE__ . ')';
/*
* De volgende informatie moet je mooi voor jezelf houden en kunnen kwaadwillende
* alleen maar misbruik van maken.
* Zet DEBUG op 0 als je script klaar is dan wordt deze niet meer getoond
*/
if(DEBUG) { $message .= mysql_error() . mysql_errno() . '<br />' . $sql_s; }
?>
define('DEBUG',1); // Schakel deze aan (1) en uit (0) om je errors wel of niet te tonen
$message = 'Er is een fout opgetreden (' . __LINE__ . ')';
/*
* De volgende informatie moet je mooi voor jezelf houden en kunnen kwaadwillende
* alleen maar misbruik van maken.
* Zet DEBUG op 0 als je script klaar is dan wordt deze niet meer getoond
*/
if(DEBUG) { $message .= mysql_error() . mysql_errno() . '<br />' . $sql_s; }
?>
__LINE__ geeft de regelnummer in het script aan.
Gewijzigd op 07/11/2013 11:16:11 door Michael -
Wat je nu aan het doen bent is heel erg inefficiënt. Je slaat een cart op in een sessie op basis van het product_id, en daarna ga je de gegevens bij dat uit de database halen aan de hand van de het product_id wat in de sessie cart staat. Das dubbelop.