16. november 2003 - 12:00Der er
11 kommentarer og 1 løsning
lægge en ordrer i db
Hejsa jeg sidder og er ved at ligge en sidste hånd på min odrer db, men kan ikke rigtig finde ud af structuren på den.
Der skal ligges vareid, varenavn, varepris og selvfølgelig navn adresse osv. Men det er de 3 øverste jeg er i tvivl om, de kommer fra en tabel som hedder varekurv og bliver trukket ud med en while og det virker osse pænt, men jeg vil gerne have så trukket dem ud igen så jeg kan bruge dem til senere reference, jeg har prøvet et oprette et felt til dem hver og ligge dem i et felt, men det bliver noget rod, hvordan kan jeg kringle den så ordrene ligger pænt i databasen?
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Jeg vil gerne svare, men mangler lidt mere information.. Prøv at smide de tabeller, som bliver påvirket samt en lidt dybere forklaring af, hvad du vil have som resultat.
jeg har en vare kurv, vare kurvern bruger en tabel som hedder varekurv, der bliver indsat en post for hver vare som der bliver tilføjet af brugeren. man kan selvfølgelig rette antal slette vare osv i den.
tabellen er her:
CREATE TABLE `kurv` ( `id` int(11) NOT NULL auto_increment, `bruger_id` varchar(255) NOT NULL default '', `vare_navn` varchar(255) NOT NULL default '', `vare_pris` varchar(255) NOT NULL default '', `antal` varchar(255) NOT NULL default '', PRIMARY KEY (`id`) ) TYPE=MyISAM AUTO_INCREMENT=4 ;
#
når man så har gennemført bestillingen bliver varene fra tabellen varekurv overført til tabellen ordrer, det er umiddelbart der problemet opstår. Der må nemlig kun være en post for hver ordre, i modsætning til kurven hvor der kommer en ny post for hver vare der kommer i.
Jeg bruger pt. flg kode til at indsætte i ordre tabellen
mysql_query("INSERT INTO ordrer (bruger_id, for_navn, efter_navn, adresse, bynavn, post_nr, telefon, e_mail, varer_id, vare_navn, vare_pris) VALUES ('$_SESSION[name]','$_POST[fornavn]','$_POST[efternavn]','$_POST[adresse]','$_POST[bynavn]','$_POST[postnr]','$_POST[tlfnr]','$_POST[email]','$vareid','$varenavn','$varepris')") or die(mysql_error());
tabellen for odrer tabel er her :
CREATE TABLE `ordrer` ( `ordrer_id` int(11) NOT NULL auto_increment, `bruger_id` varchar(255) NOT NULL default '', `for_navn` varchar(255) NOT NULL default '', `efter_navn` varchar(255) NOT NULL default '', `adresse` varchar(255) NOT NULL default '', `bynavn` varchar(255) NOT NULL default '', `post_nr` varchar(255) NOT NULL default '', `telefon` varchar(255) NOT NULL default '', `e_mail` varchar(255) NOT NULL default '', `varer_id` varchar(255) NOT NULL default '', `vare_navn` longtext NOT NULL, `vare_pris` longtext NOT NULL, PRIMARY KEY (`ordrer_id`) ) TYPE=MyISAM AUTO_INCREMENT=6 ;
resultatet skulle så gerne være at ejeren af shoppen skal kunne gå ind og se alle ordrer som der er oprettet i tidens løb og søge i dem ændre osv, ved at det selvfølgelig bliver listet pænt i et browser vindue ordrer for odrer, hvor pris osv står pænt listet noget ala det her :
ordrer nr Thomas larsen skovgade 3 st.th 8888 skovsø
Vare Nr: 31 Vare navn: Thermaltake Vare pris: 499
Vare Nr: 32 Vare navn: Thermaltake Vare pris: 499
Vare Nr: 33 Vare navn: samsung 256 Vare pris: 300
Vare Nr: 34 Vare navn: asus ps800 sata Vare pris: 2000
og at hver bruger skal kunne se historik over alle ordrer han/hun har gennemført.
...og dette skal fremgå som én post på ordre? Hehe.. Det er ikke så svært, du skal nok bare indstille dig på at kode din database lidt om...
Lav en kundetabel: kundeid int auto increment primary key fornavn text efternavn text og_hvad_du_nu_synes
Lav en varetabel, der indeholder alle dine varer: vare_id int auto increment primary key //Dette er også varenummer varenavn text varepris float og_hvad_du_synes
og så laver du en ordre_tabel: ordre_id int auto increment primary key dato date vare_id_relation int kunde_id_relation int faktura_nummer int og_hvad_du_synes
Hermed har du nu en ordretabel, der kan indeholde følgende: ordre_id | dato | vare_id_relation | kunde_id_relation | faktura_nummer 1 20030701 1 1 1 2 20030701 5 1 1 3 20030701 8 1 1 etc
Du skal også bruge en faktura_tabel: id int auto increment primary key
Men der er flere måder at bygge databasen op på. Det vigtige er at du forstår relationerne imellem de forskellige tabeller. Kunde indeholder oplysninger om kunden Varer indeholder oplysninger om varen Ordre indeholder oplysninger om ordren ...og kan også se således ud: ordre_id int auto increment primary key kunde_id int //Hvilken kunde hører ordren til? dato date
varekoeb indeholder oplysninger om varekøb ...og kan også se således ud: varekoeb_id int auto increment primary key vare_nummer int //Hvilken vare har kunden købt? ordre_id //Hvilken ordre hører dette køb til?
lige nu lyder det som lidt vullapyk for mig, men det er igen det med relations db, er ikke så meget inde i det, men vil du hjælpe mig ud af problemet og foklere lidt mere om hvordan det forsk data så skal indsættes osv. vil gene give flere point, evt hvis du har icq eller msn kan vi tage debatten der da det er lidt hurgtiger og så lægge løsningen herinde
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.