Avatar billede codeadmin Nybegynder
13. juni 2015 - 20:47 Der er 6 kommentarer og
1 løsning

Webshop - tilvalg (valg af størrelse) og bedste måde og gemme i mysql

Hej.

I igang med planlægning af udvikling af en webshop og har et par spørgsmål som jeg håber en kan svare på.

1. Tilvalg. Hvordan kan man dynamisk lave det så min shop fx på den ene kan vælge størrelse. Og et andet produkt kan vælge noget andet fx længde.


2. hvordan ville i lave gemme en ordre. Tænkte at gemme det som et objekt.
Men mangler lidt noget læsning om hvad Best practice.



Og løsningen er ikke en færdig shop ;)
14. juni 2015 - 10:06 #1
Du vil vel gemme de individuelle 'karakteristikker' for hver ordre, dato, varenummer, antal, størrelse, farve, kunde o.s.v. i en relationel database, for eksempel mysqli.  Så kan du også søge i databasen efter total salg af en bestemt vare, total salg til en bestemt kunde, statistik over salg per dag, og en mængde andre ting.  Du vil typisk have en tabel med kunder, for hver kunde et kundenummer, navn, og andre oplysninger for den individuelle kunde, og en tabel over varer, hvor hver vare har et varenummer, en pris, o.s.v.,  og så en tabel over ordrer, hvor hver ordre har et ordrenummer, varenummer, kundenummer, dato, antal styks o.s.v.

Så vil du vel have det således, at kunden for en vare kan vælge mere end en karakteristik hvor dette er relevant, for eksempel for klæder størrelse og farve, for pentanque kugler mønster og vægt, o.s.v.  En måde kunne være, at du i database tabellen over varer har et felt for hver af de mulige karakteristikker, størrelse, farve, længde, o.s.v., og for hver vare får hver karakteristik et ja eller nej (eller 1 eller 0).  Når så på siden produkterne vises, så checkes databasen for hvilke karakteristikker der skal vises.

Eller har jeg misforstået spørgsmålet?
Avatar billede codeadmin Nybegynder
14. juni 2015 - 22:20 #2
Christian - du fangede mine tanker, og givet mig noget respons på dem.
Angående database oprettelsen, kan jeg se jeg bare skal fortsætte i den retning jeg forestillede mig :)

Angående disse karakteristikker - ved du om der er noget sted man kan læse lidt og evt se lidt eksempler på hvordan andre har gjort? 

Har svært ved at forestille mig hvordan jeg kan lave en dynamisk side hvor jeg/kunden kan oprette et produkt også bede systemet om at spørge efter fx størrelse og farve på en tshirt, også på et andet produkt spørge efter noget tredje.
17. juni 2015 - 08:57 #3
Du siger, at kunden skal kunne oprette et produkt.  I en traditionel webshop opretter ejeren produkterne og giver kunden muligheden for at oprette ordrer ved at vælge et produkt.  Hvis webshoppen sælger t-shirts og pentanque bolde, skal kunden så kunne bestemme, at webshoppen også skal sælge bøger og oprette et sådant produkt?  I så fald må jeg nok bakke ud.  Jeg går ud fra, at du opretter produkter og viser dem på en side og kunden opretter ordrer ved at vælge et produkt.

Hvor langt er du selv kommet?  Er du i stand til at oprette en webshop med simple produkter, produkter, hvor der ikke er valg mellem farver og størrelser, vise produkterne på en side, og modtage og bevare kundens ordre?  Hvis nej, så er det nok det du skal have på plads først.

Men er du allerede er kommet så langt?  Du vil så, at kunden skal kunne vælge størrelse på et produkt og farve på et andet og vægt på et tredje, o.s.v.  Det simpleste ville vel være, at du i databasen opretter alle produkter med plads til alle karakteristikker, størrelse, farve, vægt, hårdhed, og hvad der ellers kan forekomme, og at du så i databasen for hvert produkt markerer de karakteristikker der ikke skal bruges og at du når du viser produkterne på siden kun for hvert produkt kun viser de karakteristikker der kan vælges imellem.
Avatar billede codeadmin Nybegynder
17. juni 2015 - 12:52 #4
Det selvfølgelig dårlig formuleret af mig. - kunden her var tænkt som min kunde/ejeren :)

Er kun i design fasen (af systemet) - men det en "smal" sag at lave en simpel webshop, hvor der kan afgives ordre. Det er karakteristikkerne som driller mig lidt da jeg har en ide om alt skal være dynamisk.

Har selv tænkt over det, og tror jeg vil lave 2 tabeller yderligere end de "normale". En characteristicsOptionens og characteristics.


characteristics: id og et navn
characteristicsOptionens: id, parrent, value


Ville dette være noget der ville fungere optimalt - tror du? Og ville  dette være best practice?
20. juni 2015 - 08:26 #5
Jeg kom ikke videre; jeg har været hængt op.  Yderligere er jeg i tvivl om på hvilken måde webshoppen skal være dynamisk.  Når brugerne åbner hjemmesiden, hvad skal de så se?  Skal alle brugerne se den samme første side?  Hvis ikke, hvordan ved systemet hvad side der skal vises?  Jeg antager for nu, at alle brugerne skal se den samme side, for eksempel en side med alle hovedprodukter, lad os sige t-shirts og bøger.  Er det så således, at hvis kunden vælger t-shirts, så kommer der en ny side med de forskellige typer t-shirts, og for hver type kan der vælges størrelse og farve.  Hvis kunden derimod vælget bøger kommer der en side med forskellige typer bøger, hvor kunden så kan vælge forfatter og titel? 

Og hvad skal der ske med brugerens valg?  Hvis en bruger vælger en blå langærmet t-shirt størrelse M, hvordan skal det så gemmes i databasen?
Avatar billede codeadmin Nybegynder
24. juni 2015 - 13:11 #6
Helt iorden.
Tror også jeg lukker den igen - hentede nogle eksisterende shops, og kiggede på deres måde og gøre det på. Og deres valg af karakteristikker var lidt på samme måde som jeg forsøgte at formulere ovenfor.

Tak for hjælpen :) kom med et svar også der lidt point i din retning
24. juni 2015 - 13:55 #7
Ok, svar fra mig.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester