login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Maten toevoegen in database..

Offline Chupskie - 07/04/2006 16:03
Avatar van ChupskieMySQL beginner Hallo allemaal,

Ik ben weer verder gegaan met mijn winkelwagen. En nu heb ik jullie hulp nodig. Het gaat over de database structuur.

Dit is de database structuur van de producten in het database:
id catid subcatid artikelnr naam extratext foto

Nu wil ik eigenlijk ook nog maten gaan toevoegen. Dit is ook niet het grootste probleem, maar nu heeft 1 product misschien wel 15 verschillende maten (100cm, 110cm) en elk heeft een ander prijs.

Wat is nou de meest slimme en funtionele manier, om die maten + bijhorende prijzen op te slaan in het database. Het gaat mij dus echt om de database structuur, jullie hoeven echt niet voor mij te gaan scripten hoor:p

Alvast bedankt^^

8 antwoorden

Gesponsorde links
Offline Rens - 07/04/2006 16:07
Avatar van Rens Gouden medaille

Crew algemeen
Je zou een tabel maten maken, met daarin het product ID, maat en prijs.
  1. CREATE TABLE maten (
  2. id INT(11) NOT NULL auto_increment,
  3. product INT(11) NOT NULL,
  4. maat VARCHAR(255) NOT NULL,
  5. prijs VARCHAR(255) NOT NULL,
  6. PRIMARY KEY(id)
  7. );


Dan kun je het met ID van je product de verschillende maten + bijbehorende prijzen ophalen.
Offline gothmog - 07/04/2006 16:08
Avatar van gothmog Lid allemaal appart opslaan, maar met bijv. hetzelfde artikelnr. en dan aan de hand van het id de juiste prijs + lengte ophalen.
Dus iedere maat een nieuwe rij en dan zelfde artikelnr. maar met andere id, zodat je ze toch nog makkelijk op kan halen.

Of een nieuwe kolom toevoegen. En dan daarmee een zelfde waarde geven, zo heeft het toch een andere artikelnr.
Offline Chupskie - 07/04/2006 16:12 (laatste wijziging 07/04/2006 16:13)
Avatar van Chupskie MySQL beginner @gothmog, dus gewoon nog een tabel erbij maken met daarin alle maten + de prijzen die per maat erbij horen daarbij! Gecombineerd aan het bijhorende artikelnr? Dat lijkt me opzich wel slim ja..

En wat bedoel je precies met je 2de idee? Een nieuwe kolom toevoegen? Dan kun je toch niet per maat een ander prijs daar aan koppelen?

edit: Rensjuh, jij bedoelt dus hetzelfde ongeveer als het idee van gothmog! Een extra tabel daar aan toevoegen?
Offline Rens - 07/04/2006 16:15
Avatar van Rens Gouden medaille

Crew algemeen
Ja.
Dat is, lijkt mij, het handigst.
Zo voeg je gewoon per maat een nieuwe rij in, heb je ook meteen dat je oneindig door kunt gaan met je maten 
Offline gothmog - 07/04/2006 16:19 (laatste wijziging 07/04/2006 16:19)
Avatar van gothmog Lid Chupskie
ik bedoelde eigenlijk dat je (in diezelfde tabel nog) een paar kolomen erbij doet met: prijs, breedte en hoogte. En een nieuwe kolom toevoegt met zeg maar het productnummer.

Dus wel steeds een nieuwe rij toevoegen maar alles in 1 tabel
Offline Chupskie - 07/04/2006 16:21 (laatste wijziging 07/04/2006 16:22)
Avatar van Chupskie MySQL beginner Het ziet er ook eigenlijk het logischt uit! En dan uit laten lezen in een dropdown box. Dan selecteer je gewoon met de $_GET functie, het artikelnaam en laat je de maat zien, en in een rij daar langs, pak je met $_GET functie, de maat op van het artikel en echo't dan de bijhorende prijs?

Is dit dan ook de slimste manier? Voor het uitlzen van?

edit: @gothmog, dat lijkt me niet zo slim, die 2de optie, omdat je dan als je bijv 15 maten met dus 15 verschillende prijsen per product hebt. En je hebt dan ook nog eens 40 producten, dat het dan wel heel onduidelijk wordt. Het eerste idee is tot nu toe nog het slimste? Heb je toevallig mijn laatste vraag hierboven ook nog een antwoord op?^^
Offline Rens - 07/04/2006 16:26
Avatar van Rens Gouden medaille

Crew algemeen
Voorbeeldje:
  1. <?PHP
  2. $iArtikel = 1; // even als voorbeeld
  3. // je kunt hier daarna van alles van maken
  4. $sQueryArtikel = "SELECT * FROM artikelen WHERE id=".$iArtikel;
  5. if(!$rResultArtikel = MySQL_Query($sQueryArtikel))
  6. {
  7. echo MySQL_Error()." op regel ".__LINE__." in bestand ".__FILE__;
  8. } else
  9. {
  10. while($aFetchArtikel = MySQL_Fetch_Assoc($rResultArtikel))
  11. {
  12. echo $aFetchArtikel['naam']."<br />";
  13. $sQueryMaten = "SELECT * FROM maten WHERE product=".$iArtikel;
  14. if(!$rResultMaten = MySQL_Query($sQueryMaten))
  15. {
  16. echo MySQL_Error()." op regel ".__LINE__." in bestand ".__FILE__;
  17. } else
  18. {
  19. while($aFetchMaten = MySQL_Fetch_Assoc($rResultMaten))
  20. {
  21. echo $aFetchMaten['maat']." - ".$aFetchMaten['prijs']."<br />";
  22. }
  23. }
  24. }
  25. }
  26. ?>


Hoop dat het nu duidelijk is? 
Offline Chupskie - 07/04/2006 16:41 (laatste wijziging 07/04/2006 16:50)
Avatar van Chupskie MySQL beginner Ja maar stel nu dat ik dus 1 product heb bijv:

Artikelnr: 128924
Naam: Korte broek
Maat: S -> 15 Euro
Maat: M -> 21,50 Euro
Maat: L -> 24,50 Euro
Maat: XL -> 31,50 Euro

Dan kan ik toch het beste die maten in een dropdown doen, en op het moment dat ik er eentje selecteer, dat hij daar langs dan de prijs weergeeft die dus bij die maat hoort?

edit: Rensjuh, dat is alleen het uitlezen van de juiste maat en prijs, bij het artikel, en niet zoals ik hierboven zeg, van alle maten die bij dat artikel horen! Maar ik kan dat dus het beste zoals ik in mijn vorige post zei, uitlezen met $_GET en dan in een dropdown doen??
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.173s