Ik heb een vraag, en hoop dat iemand mij kan helpen.
Teminste een zetje in de goeie richting.
Ik ben bezig met een php script om producten aan te passen in mijn database.
Ik wil (en als dat kan) met 2 forms werken.
De eerste form is het selecteren van de categorie, en het selecteren van de juiste table in mijn database.
En als je dan op de submit knop drukt, krijg ik de data van de producten uit mijn database.
De pagina vernieuwd zich weer, en krijg dan de tweede form te zien met de data wat ik geselecteerd hebt uit de eerste form.
Tot zo ver is het mij gelukt.
Nu is mijn vraag, in de tweede form wil ik mijn product updaten.
Maar daar heb ik de value van de eerste form nodig om de juiste table aan te spreken in mijn database.
Heeft iemand een idee hoe ik dat zou kunnen doen?
Ger zooitje is het niet, heb een webwinkel met meer dat 50 verschillende categorieën en meer dat 1500 verschillende producten.
Als ik alles onder 1 tabel moet weg schrijven dan vind ik dat juist een zooitje en niet overzichtelijk
[size=xsmall]Toevoeging op 10/09/2014 23:46:19:[/size]
Dank je wel frank voor je tip en advies, deze ga ik zeker even proberen :)
Ter verduidelijking, ik maak uit jouw reacties op dat je voor elke categorie een tabel hebt voor de producten die bij die categorie horen.
Dan ben ik benieuwd hoe je bv de verkoopcijfers van de afgelopen maand ophaalt.
Is ook héél logisch, nietwaar: gewoon een CREATE TABLE doen als je een categorie wilt toevoegen. En een DROP TABLE als je een categorie wilt verwijderen.
Het klassieke voorbeeld van data sie in een HSTORE thuishoort zijn producteigenschappen. Elke fabrikant levert zijn eigen lijst van gegevens over een product. Sommige gegevens worden door alle fabrikanten meegegeven, anderen alleen door bepaalde fabrikanten. Het is niet realistisch om een lijst op te stellen van alle mogelijke attributen die een fabrikant mee zou kunnen gaan willen geven, dus als je deze data wilt kunnen opslaan dan kom je uit op een Entity-Attribute-Value tabel, een tabel met het id van het product, de naam van de eigenschap en de waarde die de fabrikant voor die eigenschap meegeeft.
Voordeel van een EAV tabel is dat je er alles in kwijt kunt als een key/value pair, nadeel is dat je de values niet relationeel kunt verbinden aan een tabel van toegestane waarden, omdat je niet weet onder welke key de fabrikant een eigenschap gaat aanleveren en al helemaal niet in welk formaat de fabrikant de value aan gaat leveren, noemt hij de kleur van een broek "Blauw", "Azuur Blauw", of "Tricky Blue"?
Wat dat betreft is het dus exact hetzelfde als een HSTORE; een key/value pair waarin je niets kunt afdwingen zonder kunstgrepen. De HSTORE is alleen ogelooflijk veel sneller om uit te lezen dan een EAV. Er komt geen subquery, JOIN of GROUP BY aan te pas.