Avatar billede stinejh1980 Nybegynder
05. juli 2006 - 14:27 Der er 19 kommentarer og
2 løsninger

Avanceret produkter til indkøbskurv

Nu har jeg kigget mange af artiklerne igennem her på siden, men jeg syntes ikke rigtig at nogen af dem løser mit problem.

Jeg skal lave en indkøbskurv for en produktions virksomhed, hvilket betyder at hvert produkt kunden bestiller er unikt.

Det betyder at jeg ikke bare kan lave en liste med produkter og en knap ved siden af som ligger produktet i kurven.

Jeg har lavet siderne hvor de kan bestille de specifikke detaljer, men jeg kan kun finde ud af at gemme et produkt af gangen og dette går ikke, da de tit bestiller 4-10 sammen hørende produkter.

Ideen med det hele er at kunden skal kunne bestille online, og at alle produkter i en ordre bliver sendt via mail på samme tid. Er der nogen som har en ide til hvordan jeg kan løse mit problem.

Jeg har kodet det hele i ASP.NET, Visual Basic, SQL og HTML. Min database er Access.

Jeg smider gerne 300 point oveni til den der kan hjælpe mig med at gemme flere produkter i en ordre og få dem sendt via mail til salgsafdelingen samt en kopi til kunden selv.
Avatar billede everclear Praktikant
05. juli 2006 - 17:31 #1
Jeg er ikke helt med på, hvad dit problem er. Skal det forstås således, at når en kunde bestiller en vare, så består den vare reelt af 4-10 varer sat sammen? Altså en form for stykliste?
Avatar billede websam Nybegynder
05. juli 2006 - 19:10 #2
Du laver det enten med session eller en midlertidig tabel i databasen til at holde på de produkter de har valgt og når de er færdige med at bestille trækker du blot det bestilte til en side hvor de kan se det hele.

Det er der som ikke så meget i ;o)

/Websam
Avatar billede stinejh1980 Nybegynder
06. juli 2006 - 10:20 #3
Programmet skal bruges hos en sejlmager.
Dette betyder at kunden skal kunne bestemme hvilke dele der skal i sejlet/sejlene – i det er ikke få. Vi snakker om over 50 specifikationer på 1 sejl.

I nogle tilfælde bestiller en kunde flere sejl på en gang.
Ordresiderne er opdelt i 4 hovedgrupper:
Forsejl
Storsejl
Spilere
Tilbehør

Og hvis en kunde så bestiller 2 forsejl og 1 storsejl, så skal de gerne have samme ordrenummer. Grunden dertil er at når ordren kommer ind i huset, bliver den tastet ind i bogholderi systemet, så kunden kan få en faktura med alle sejl.

Efter dette er sket skal der laves produktionskort til syersken. Dette program skal jeg også lavet / er jeg snart færdig med. Der skal der hentes data fra ordren ind, så som; kundens navn, sejltype, bådens størrelse, m.m. og ud fra disse data beregner programmet hvilket sejl der skal sys.
Avatar billede everclear Praktikant
07. juli 2006 - 00:21 #4
Umiddelbart, hvis jeg har forstået det rigtigt, ville jeg lave det som en stykliste. Altså du har en tabel i din database, der hedder f.eks. "Ordrer". Denne indeholder sådan set kun 2 rækker: ID og OrdreID (eller noget i den stil). Desuden skal du have en tabel, der indeholder de "produkter", der skal indgå i den enkelte ordre. Her skal du have f.eks. 3 rækker: ID, OrdreID (fra Ordrer-tabellen) samt produkt(der indikerer hvilket produkt der er tale om).

På den måde kan du jo sagtens have 50 produkter på ét varenummer, da dette jo blot bliver dit ordreID. Hvis du vil hive alle "produkterne" i en ordre ud, kan du jo blot hive alt ud fra din database hvor OrdreID er lig med det ønskede ordrenummer.
Avatar billede stinejh1980 Nybegynder
07. juli 2006 - 12:18 #5
Øhh sikkert.
Jeg tror ikke helt jeg ved hvordan jeg skal gøre det. Jeg skal vist have det ind med en suppe ske. Jeg er lidt mere visuel, må jeg nok indrømme.

Jeg vil helst ikke have noget produkt tabel da kunderne bestemmer hvordan produktet ser ud.

Kan man evt lave et login, og i denne login session tildele et ordreID?
Så kan de bestille så mange sejl de vil, for derefter at trykke send, ved send bliver de logget af og får tilsendt en ordrebekræftelse. Ellers kan jeg vel ikke sikre mig at de ikke bare starter på en ny ordre i samme session med samme OrdreID vel?

Eller er det for amatør agtigt??
Hvis ikke hvordan vil du så foreslå jeg løser det
Avatar billede stinejh1980 Nybegynder
07. juli 2006 - 12:19 #6
PS. Ved heller ikke hvordan man lavet en midlertidig tabel i Db, Det kunne egentlig være smart for så kunne alle sejl i en ordre gemmes heri
Avatar billede websam Nybegynder
07. juli 2006 - 19:16 #7
Hallo, hver gang en person besøger en webside tildeles de et unikt session id uanset om de er logget ind eller ej. Denne hentes med Session.SessionID.

Nu kan du så lave en tabel med felterne Id, SessionId, VareId, Pris og hvad du nu ellers vil have med og hver gang en kunde vælger noget til sit segl ligger du i tabellen og har på denne måde fuldt styr på hvad der høre til hvem, smart ikke ;o)

Men jeg syntes da du skulle tage et kig på denne shop lavet af .net folket :

http://www.asp.net/downloads/starterkits/default.aspx?tabid=62

Scroll ned til midt på siden så er der en shop du kan downloade og kigge lidt på den kan sikekrt give dig en række ideer til hvordan du kan gøre det ;o)

/Websam
Avatar billede everclear Praktikant
07. juli 2006 - 20:51 #8
Idéen med, at du laver en produkttabel og knytter x antal produkter til en "vare" er jo netop, at du kan proppe lige hvad du vil ind i den.

Herefter kan du jo sige, at kunde A har lavet ordre B, der består af produkterne C, D, E, F og G.

Tror det var noget i den stil jeg ville lave, hvis jeg altså har forstået problematikken korrekt.
Avatar billede stinejh1980 Nybegynder
10. juli 2006 - 10:44 #9
everclear>>

Ja jeg tror det er sådan det skal løses. Jeg forstod nok ikke helt hvad det var du mente første gang.

Så det jeg skal lave er:
1. En Ordre-tabel i min DB med kolonnerne Kunde ID, adresse, m.m. samt OrdreID
2. En Produkt-tabel i min Db med kollonerne; OrdreID, samt alle delene som skal i det enkelte sejl.

Betyder dette så  at alle sejltyper skal gemmes i samme db.
Avatar billede websam Nybegynder
10. juli 2006 - 11:56 #10
Jeg mener du skal have 3 tabeller :

1. En tabel til at opbevare kundens data kundeid, navn, adresse osv.
2. En tabel med alle produkter produktid, produktnavn, beskrivelse osv.
3. En tabel til at holde styr på dine ordre ordreid, kundeid, produktid osv.

Din ordreid i den sidste tabel laver du så med session.sessionid således ved du hele tiden hvem der har hvad i deres kurv.

/Websam
Avatar billede everclear Praktikant
10. juli 2006 - 21:48 #11
Det er noget i den stil websam skriver. Du har 2 "faste" kolonner, der indeholder henholdsvis info om din kunde (kundeID, navn, adresse osv) samt en tabel, der indeholder alle de produkter en "vare" kan bestå af. Hvis du f.eks. sælger en vare, der hedder "biler", kunne dine produkter være dør, hjul, rat osv.

Din tredie tabel skal indeholde
Avatar billede everclear Praktikant
10. juli 2006 - 21:52 #12
Ups....:-)

Din tredie tabel skal indeholde et ordreID, et kundeID (så du ved hvilken kunde varen er til), samt alle de produkter, der skal indgå i varen.

Igen kunne eksemplet med bilen se således ud:

OrdreID          KundeID          Produkter
    1              2                  3
    1              2                  5
    1              2                  8
    1              2                  9

Dette skaber godt nok nogle redundante data i form af, at du har dit kundeID med til hvert produkt i en vare. Dette kan du eventuelt fjerne ved at lave en ekstra tabel, der holder styr på, hvilken kunde, der har bestilt et givent ordreID. På den måde kan du eleminere KundeID fra din tabel.

Men hvis du opbygger det på denne måde, får du ihvertfald en struktur der kommer til at virke for dig i længden.
Avatar billede stinejh1980 Nybegynder
12. juli 2006 - 13:07 #13
Database struktur:

DealerInfo:                               
DealerID | Dealer | Department | Login | Password               
                               
ClientInfo:                               
ClientID | ClientName | Address | Country | City_Zip | DealerID           
                               
ProductInfo:                           
ProduktID | Type Sailtype | Characteristics | Model | Draft_Stripes | DraftStribes_Colour | SailNo
                               
OrderInfo:                               
OrderID | DealerID | ProductID | YourOrderNo | OurOrderNo   


Nu har jeg lavet et login, hvor jeg kobler DealerID, og OrdreID på i en session. Men jeg har ikke helt styr på hvordan jeg holder styr på at de ikke laver flere ordre i en session.

Er det optimalt at logge dem af når ordren er sendt?
Avatar billede everclear Praktikant
12. juli 2006 - 15:58 #14
Jeg ville nok ikke umiddelbart logge mine brugere af, efter de har lavet en ordre. Kunne jo være de eventuelt ville lave flere ordrer m.v.

Hvordan siger du, at du har opbygget det med sessions?
Avatar billede stinejh1980 Nybegynder
12. juli 2006 - 16:20 #15
Jeg har lavet en login, hvor man henter DealerID fra DB, men det var måske også overdrevet at sige at jeg har 'lavet' session med OrdreID :-)

Jeg vil gerne have at når brugeren logget ind at han skal tildeles et OrdreID (evt i en session ) som skal følge ham rundt på alle sider, så når han opretter forskellige 'produkter' at de bliver koblet på denne ordre. Så jeg kan holde styr på dem i min OrderInfo Tabel. Har du et foreslag til hvordan jeg gør det?

Kunne man evt lave en 'ny ordre' knap efter send, hvor der bliver tildelt brugeren et nyt OrdreID istedet for at logge dem af?
Avatar billede stinejh1980 Nybegynder
06. februar 2007 - 14:29 #16
Jeg har fået det til at virke nu!
Smider I et svar, så I kan dele point?
Avatar billede websam Nybegynder
06. februar 2007 - 14:46 #17
Det får du lige her ;o) Og det var da rart det kom til at virke.
Avatar billede stinejh1980 Nybegynder
12. februar 2007 - 10:47 #18
Venter stadig på everclear.
Avatar billede stinejh1980 Nybegynder
27. marts 2007 - 08:20 #19
Websam >>>
hvis der ikke bliver svaret inden 01-04-2007 er pointene dine
Avatar billede websam Nybegynder
27. marts 2007 - 18:14 #20
Det er bare i orden ;o) Men der er ikke meget der tyder på at han/hun vil have nogle point.

/Websam
Avatar billede everclear Praktikant
29. marts 2007 - 10:29 #21
Jeg missede vist min ekspert mail:) Sorry....håber du fik det til at spille:-)
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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