ik zit wat in de knoei met m'n offerte-systeem: ik heb een aantal winkels en producten. M'n bezoekers krijgen een formulier met alle producten te zien en moeten daar hun gewenste hoeveelheid invullen. Vervolgens moeten de prijzen opgehaald worden en de offerte per winkel gemaakt worden. Nu is het ophalen op zich wel geen probleem, maar bij het ophalen krijg ik een gesorteerde lijst van alle producten (per winkel). Echter, ook de winkels/prijzen die niet alle producten hebben worden in die lijst opgenomen. Momenteel doorloop ik dan de SQL-array en kijk of elke winkel alle producten heeft en behoud enkel de winkels die effectief alle producten hebben. Nu is dit nogal omslachtig en vroeg me af of er 1 van de Tweakers geen tips ofzo heeft...
Dit zijn m'n tabellen:
tabel producten
tabel winkels:
tabel prijzen:
m'n SQL is dit (pseudo-code hier):
als de klant dan bv product 1 en 4 wil krijg ik een mooie lijst:
ook winkel 3 krijgt hier resultaat, terwijl zij slechts 1 product kunnen leveren. Iemand enig idee hoe dit (dmv SQL of iets anders) aangepakt kan worden?
(het project wordt in PHP gemaakt)
alvast bedankt!
Dit zijn m'n tabellen:
tabel producten
code:
1
2
3
4
5
6
7
8
| +-----+---------------+ + id + naam + +-----+---------------+ + 1 + product 1 + + 2 + product 2 + + 3 + product 3 + + 4 + product 4 + +-----+---------------+ |
tabel winkels:
code:
1
2
3
4
5
6
7
| +-----+---------------+ + id + naam + +-----+---------------+ + 1 + winkel 1 + + 2 + winkel 2 + + 3 + winkel 3 + +-----+---------------+ |
tabel prijzen:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
| +-----+---------------+---------------+----------------+ + id + product + winkel + prijs + +-----+---------------+---------------+----------------+ + 1 + 1 + 1 + 3 + + 2 + 1 + 2 + 2 + + 3 + 2 + 1 + 77 + + 4 + 2 + 2 + 66 + + 5 + 2 + 3 + 55 + + 6 + 3 + 1 + 3 + + 7 + 4 + 1 + 8 + + 8 + 4 + 2 + 6 + + 9 + 4 + 3 + 9 + +-----+---------------+---------------+----------------+ |
m'n SQL is dit (pseudo-code hier):
code:
1
2
| SELECT * from winkels, prijzen WHERE (prijzen.product = *alle gewenste producten dmv OR) |
als de klant dan bv product 1 en 4 wil krijg ik een mooie lijst:
code:
1
2
3
4
5
6
7
8
9
| +----------+----------+---------+ + winkel + product + prijs + +----------+----------+---------+ + 1 + 1 + 3 + + 2 + 1 + 2 + + 1 + 4 + 8 + + 2 + 4 + 6 + + 3 + 4 + 9 + +----------+----------+---------+ |
ook winkel 3 krijgt hier resultaat, terwijl zij slechts 1 product kunnen leveren. Iemand enig idee hoe dit (dmv SQL of iets anders) aangepakt kan worden?
(het project wordt in PHP gemaakt)
alvast bedankt!