Voorraad afboeken Script
Ik heb een site gemaakt waarop men gerechten kan bestellen. Hierbij heb ik ook een heel inkoopscript gemaakt, zodat de bestelling bij te weinig voorraad naar de leverancier wordt gestuurd.
Het werkt zo: in mijn database heb ik een tabel `gerechten` met daarin oa de kolommen `naam`, `ingredienten` en `hoeveelheden`; voorbeeld:
Tabel gerechten
Gerechtnaam Ingredienten Hoeveelheden
Mosterdvink Rundervink, mosterd 1,5
Tabel ingredienten
Ingredientnaam Eenheid Bestelde voorraad Min. voorraad
Rundervink Stuks 1 5
Mosterd ml 5 10
Er zijn nog meer tabellen zoals tech. voorraad, waar bij het plaatsen van de bestelling de bestelde voorraad vanaf gehaald moet worden, dus tech_voorraad=tech_voorraad-bestelde_voorraad.
Nu krijg ik het niet voor elkaar om op een juiste manier de ingredientnaam en bijbehorende hoeveelheid uit gerechtentabel te halen om zo de bestelde voorraad in ingrediententabel aan te kunnen passen.
Bij gerechten is het een string, ik heb hier al een array van gemaakt dmv explode() maar ik kom werkelijk niet verder.
Voortaan even je eerste post editten, geeft een beter overzicht :-)[/modedit]
Gewijzigd op 14/11/2010 16:43:04 door Justin S
wat wil je eigenlijk?
waar is de rest?
Zonder dat uitgangspunt kun je onmogelijk werken met data welke opgeslagen is in een database.
Wat is hier een handige manier dan?
id,
naam
Database ingredienten
id,
gerechtID,
naam,
hoeveelheid
Op deze manier heb je je ingredienten en je gerechten los. Dan kan je vervolgens alle ingredienten selecteren o.b.v. de ID van het gerecht.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
SELECT
gerecht.id,
gerecht.naam,
ingredienten.id,
ingredienten.gerechtID,
ingredienten.naam,
ingredienten.hoeveelheid
FROM
gerecht
INNER JOIN
ingredienten
ON
gerecht.id = ingredienten.gerechtID
gerecht.id,
gerecht.naam,
ingredienten.id,
ingredienten.gerechtID,
ingredienten.naam,
ingredienten.hoeveelheid
FROM
gerecht
INNER JOIN
ingredienten
ON
gerecht.id = ingredienten.gerechtID
Gewijzigd op 14/11/2010 16:54:06 door Justin S
Ik zal er morgen eens naar kijken, maar ik had nu ook al een oplossing met een if-loopje. Eerst met een count() functie tellen hoeveel ingredienten erin zitten en daarna binnen de if loop de querys uitvoeren.
Ik zou toch als ik jouw was je db-structuur aanpassen.
B Klaas op 14/11/2010 18:31:07:
Bedankt,
Ik zal er morgen eens naar kijken, maar ik had nu ook al een oplossing met een if-loopje. Eerst met een count() functie tellen hoeveel ingredienten erin zitten en daarna binnen de if loop de querys uitvoeren.
Ik zal er morgen eens naar kijken, maar ik had nu ook al een oplossing met een if-loopje. Eerst met een count() functie tellen hoeveel ingredienten erin zitten en daarna binnen de if loop de querys uitvoeren.
Dat is niet slim. Dan ga je PHP laten rekenen voor je en misbruik je je database. Aanpassen van de databasestructuur scheelt je tijd, code en een hoop gezeur.