Help bij Select uit db
Ik heb een tabel klant, een tabel producten en een bestelregel
Als een klant iets bestelt, worden de gegevens in twee tabellen opgeslagen. Als een klant meer dan een product bestelt, dan wordt er in de tabel bestelregel, twee producten met een hetzelfde klant nummer opgeslagen.
Nu wil dat alle producten van de klant op een factuur komt te staan. Probleem is dat ik nu alleen en product kan selecteren. Kan iemand mij hierbij helpen.
Ik wil dus een overzicht van:
Klant gegevens
alle bestelde artikelen
de totale prijs en zo...
Ik weet dat ik iets met GROUP BY moet doen, maar weet niet precies wat...
Dank
Gewijzigd op 01/01/1970 01:00:00 door Plato Republic
Je query aanpassen met group by en having om ook het totaal aantal producten dat de klant heeft besteld opgeteld in een regel op de factuur te zetten.
doe es veranderen
Pepijn schreef op 04.02.2010 15:15:
Want een handige titel, help help
doe es veranderen
doe es veranderen
Nu moet jij je bericht veranderen!! :p
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
<?php
$LinkID = mysql_connect("$hostname", "$username", "$password") or die("MySQL Connectie mislukt");
mysql_select_db("$dbname") or die("verkeerde database");
$query = "
SELECT artnr, aantal, prijs, naam SUM(artnr) AS artnr
FROM bestelregel
GROUP BY email HAVING SUM(artnr)";
$resultaat = mysql_query($query, $LinkID);
$column_count = mysql_num_fields($resultaat) or die (mysql_error()."<br>Couldn't execute query: $SQLquery");
while ($row = mysql_fetch_row($resultaat)){
echo"Bestelde artikelen"; echo"$row[5]";
echo"
Artikel
$row[1]<br><br>
Aantal<br>
$row[2]<br><br>
Prijs<br>
$row[4]<br><br><br>
Totaal
$row[2] * $row[4]";
}
?>
$LinkID = mysql_connect("$hostname", "$username", "$password") or die("MySQL Connectie mislukt");
mysql_select_db("$dbname") or die("verkeerde database");
$query = "
SELECT artnr, aantal, prijs, naam SUM(artnr) AS artnr
FROM bestelregel
GROUP BY email HAVING SUM(artnr)";
$resultaat = mysql_query($query, $LinkID);
$column_count = mysql_num_fields($resultaat) or die (mysql_error()."<br>Couldn't execute query: $SQLquery");
while ($row = mysql_fetch_row($resultaat)){
echo"Bestelde artikelen"; echo"$row[5]";
echo"
Artikel
$row[1]<br><br>
Aantal<br>
$row[2]<br><br>
Prijs<br>
$row[4]<br><br><br>
Totaal
$row[2] * $row[4]";
}
?>
Mijn artikelnummers zijn niet altijd numeriek, ik weet niet of dat wat uitmaakt. maar ik krijg een error..
En welke error is dat?
Couldn't execute query:
naam SUM(artnr) AS artnr
Dank het is gelukt inderdaad. Volgende probleem is, Ik kan artikelen niet onder elkaar krijgen. Bijvoorbeeld.
Artikelnummer - aantal - prijs
P78788 - 2 - 50.95
Y77887 - 2 - 79.95
Zo wil ik dat hebben, nu wordt er artikel alles weer herhaald:
Artikelnummer - aantal - prijs
P78788 - 2 - 50.95
Artikelnummer - aantal - prijs
Y77887 - 2 - 79.95
thanks
Alles in de while lus wordt telkens afgedrukt..
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
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
<?php
$resultaat = mysql_query($query, $LinkID);
$column_count = mysql_num_fields($resultaat) or die (mysql_error()."<br>Couldn't execute query: $SQLquery");
$counter=1;
echo"
<table width=\"634\" height=\"121\" border=\"1\">
<tr>
<td height=\"33\" colspan=\"4\">Bestelling per klant </td>
</tr>
<tr>
<td valign=\"top\">Artikelnummer</td>
<td valign=\"top\">Aantal</td>
<td valign=\"top\">Prijs</td>
<td valign=\"top\">Totaal/artikel</td>
</tr>
<tr>";
while ($row = mysql_fetch_row($resultaat))
{
echo"
<td>$row[0]</td>
<td>$row[1]</td>
<td>$row[2]</td>
<td>$prijs</td>";
if($counter%4==0)
{
echo"<td>";
}
$counter++;
echo"</td></TR></TABLE>\n";
}
?>
$resultaat = mysql_query($query, $LinkID);
$column_count = mysql_num_fields($resultaat) or die (mysql_error()."<br>Couldn't execute query: $SQLquery");
$counter=1;
echo"
<table width=\"634\" height=\"121\" border=\"1\">
<tr>
<td height=\"33\" colspan=\"4\">Bestelling per klant </td>
</tr>
<tr>
<td valign=\"top\">Artikelnummer</td>
<td valign=\"top\">Aantal</td>
<td valign=\"top\">Prijs</td>
<td valign=\"top\">Totaal/artikel</td>
</tr>
<tr>";
while ($row = mysql_fetch_row($resultaat))
{
echo"
<td>$row[0]</td>
<td>$row[1]</td>
<td>$row[2]</td>
<td>$prijs</td>";
if($counter%4==0)
{
echo"<td>";
}
$counter++;
echo"</td></TR></TABLE>\n";
}
?>