19. september 2007 - 14:32Der er
11 kommentarer og 1 løsning
oprette reference nr for afsendt ordre
Uhm jeg har en lidt tricky en her(synes jeg selv) er ikke lige sikker på det indvolverer scripting men kan ikke lige vende den i mit hoved. =)
1. Jeg har en e-shop hvor man kan vælge nogle varer. 2. når varerne er valgte og man vil afsende ordren skriver man sit (firma)navn og email ind i to felter. 3. derefter skal jeg bruge et refenrence nr der hører til den bestemte ordre, som kunden får på sin kopi af ordren og jeg får på min kopi af ordren. 4. Det reference nr. skal jo være forskelligt fra ordre til ordre.
Så er spørgsmålet: Hvordan er det smartest at lave et unikt nr for hver ordre som også kommer med idet man sender ordren? Og som IKKE bliver det samme hvis to forskellige kunder laver en ordre på nøjagtig samme tid?
Jeg tænkte på at man fra sit form til php filen der sender ordren med email til firma og kunde, har et mellemstop hvor den opretter unikt nr. i db´en, som vist herunder:
Færdig ordre -> mellemstop hvor dataen fra ordren bliver vidderesendt og unikt reference nr bliver oprettet i DB -> den vidderesendte ordre og reference nr. bliver samlet i en sidste fil der sender email til begge parter med mail.
Kan man gøre det anderledes? Hvis i har et godt forslag til logistikken i dette problem kom endelig med det =)
I lang tid har samarbejdsbranchen fokuseret på at forbedre enhedsfunktioner – bedre kameraer, klarere lyd og smartere software. Men den virkelige forvandling handler ikke om funktioner.
Inden email sendes til kunde og dig, kunne man som du selv er inde på smide ordren i en ordre-tabel, hvor du har et ID felt som er INT autonummering. Så vil du altid sikre dig et unikt ID.
Ok, du ville simpelthen oprette en tabel i DB´en hvor alle ordrer ryger i og så får et nummer?
Grunden til at jeg ikke selv lavede sådan en tabel var at hver enkelt ordre skal behandles manuelt i et c5 system og derfor mente jeg ikke der var grund til at gemme det på serveren også.
Men det er vel ikke noget der kommer til at fylde det vilde på serveren når det kun er lidt tekst?
En temp tabel kunne gøre det ja, og du kunne jo som sådan slette recorden når email er afsendt igen og kun bruge id til unikt nummer. Du kunne også når en ordre påbegyndes, lave en tekst fil, som starter med at indeholde: 1 Hvergang en ordre startes, laver du følgende:
låser filen. læser indholdet. tæller taller 1 op. gemmer tallet i filen. låser filen op igen.
det eneste problem er self. hvis en eller anden kommer til at "tømme" temp tabellen så starter den jo forfra på 1... men ok hvorfor skulle man gøre det?!
Kan man egentlig lave en tabel der max indeholder f.eks. 1000 entries og derefter sletter den første hver gang der kommer en ny så den bliver opdateret men max med 1000?
- er der én promilles chance for to ordrer med samme nummer ... og kun hvis to kunder opretter en ordre indenfor samme sekund. Mon ikke det skulle være nok? :)
hvordan fungerer den? er det er helt random kode i forhold til tid så der ikke er en rækkefølge af reference numre eller hvordan. Så man kan ikke gå reference numre tilbage for at finde en bestemt ordre?
jeg tror jeg hopper på jakobs forslag,.. det virker som det rigtige i denne situation så kan man bare go antal ordrer tilbage og finde en bestemt igen =)
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.