Avatar billede kung_fu Nybegynder
02. juli 2001 - 11:48 Der er 6 kommentarer og
2 løsninger

Hukommelse til indkøbskurv ?

Hvilken metode er mest anbefalelsesværdig til at bruge som indkøbskurv ?

Cookies ?
Sessions-objectet ?
Database ?
Tekstfil ?

Er der nogle alternativer jeg overser ?


Prioriteter:

Jeg ønsker at en vare trækkes fra lageroversigt ved overførsel til indkøbskurv, og tilføjes listen igen hvis handlen ikke gennemføres.

- Jeg kan derfor ikke bruge cookies.
- Tekstfiler virker for primitivt.
- Databaser med en table der hedder noget i stil med \"bestillinger ventende på bekræftelse\" lyder som en god ide.
- En array i sessionsvariablen lyder rigtig god, men jeg har ingen erfaring med arrays. Er det vanskeligt at arbejde med?

Point gives efter fortjeneste.



Avatar billede nuno Nybegynder
02. juli 2001 - 11:55 #1
jeg har før lavet en indkøbsfunktion med et 2 dimentionelt array i session variable. Og det kan drille lidt, men når man først har fået fat på det er det ganske nemt at håndtere.

database muligheden vil jeg mene er overkill, med mindre der er tale om registrerede brugere, som man måske vil tilbyde statistik over tidligere køb m.m.

det eneste jeg bruger tekstfiler til er log-filer - eller hvis der fx skal genereres oversigter. Kunne aldrig finde på at bruge dem til en indkøbsfunktion.

umiddelbart vil jeg mene:

til mindre systemer uden registrerede brugere: session variable

til større systemer med registrerede kunder: database

/nuno
Avatar billede kung_fu Nybegynder
02. juli 2001 - 12:04 #2
Session-array:
Nu siger du et to-dimensionalt array... har du tilfældigvis et link, sourcekode eller lign. til noget info... Jeg har en del bøger der behandler emnet, men de tager en masse viden for givet.

Database:
Har du et godt råd til sletningen af de \"ikke bekræftede bestillinger\".

Btw. det hele skal alligevel køre på database da historikken samt lagerstyringen er vigtig...
Avatar billede kichian Nybegynder
02. juli 2001 - 12:06 #3
Ideen med reservation af varer på lageret kræver at data er placeret server-side, så alle klienter kan se lagebeholdningen løbende.
Jeg vil derfor anbafale at alle reservationer bliver skrevet i en tabel. Så kan det disponible antal af et givent varenummer altid udregnes vha. SQL.
Til håndtering/sammenligning/udregning af større datamængder vil man ALTID bruge en database, da denne er optimeret til datahåndtering.

Hvis din lageroversigt skal være \"korrekt\", må du være opmærksom på at det ikke er alle der forlader systemet \"på den rigtige måde\". Derfor skal der også implementeres noget logik, der rydder op i gamle reservationer.
Avatar billede kichian Nybegynder
02. juli 2001 - 12:08 #4
Første del af oprydningslogikken kan passende placeres i Session_OnEnd rutinen i global.asa
Avatar billede nuno Nybegynder
02. juli 2001 - 12:21 #5
ang. arrays - så er et en-dim array samme slags data i \"en række\"

fx

1 | 2 | 4 | 6 | 1 | 3 | 6

hvor det enkelte tal kan udgøre et antal

et 2-dim array kan fx være

4351 | 25 | 125,95
7250 | 12 | 99,50

hvor celle nr. 0 i hver række i arrayet er varenr. - celle nr. 1 er antal og celle 2 er stk prisen

- MEN: når du skriver at historik og den ajourførte lagerbeholdning er vigtig - så er database et must.

/nuno
Avatar billede kung_fu Nybegynder
02. juli 2001 - 12:57 #6
nuno:
Lad os antage at jeg så sletter array(1,2)

dvs. 7250 i:

4351 | 25 | 125,95
7250 | 12 | 99,50
4654 | 06 | 29,95
3126 | 14 | 99,95

hvad sker der så med indekset i array\'en ?
bliver den nye array(1,2) så til 4654 ?

Avatar billede nuno Nybegynder
02. juli 2001 - 13:23 #7
først - arrays starter med celle 0 - dvs den øverste celle i \"venstre hjørne\" - den med 4351 - den hedder (0,0)


du kan ikke decideret slette den - du kan \"nulstille den\" således at array(0,1) = \"\"/null/0 - så vil der bare være en tom (eller hvad du nu brugte af \"nulstillingsmetode\") celle i dit array. 4654 vil stadig være varenummeret i (0,2)

Avatar billede kung_fu Nybegynder
26. december 2001 - 12:16 #8
Jeg lukker og slukker...

Tak for hjælpen
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
Kurser inden for grundlæggende programmering

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