Avatar billede tfswebguy Nybegynder
19. januar 2005 - 14:15 Der er 9 kommentarer og
1 løsning

Gemme flere tal i samme felt i MySQL

Vil gerne lige høre
Det er også lidt et PHP spørgsmål men det er MySQL jeg har problemer med
Jeg er ved at lave en Online Butik, og da skal man gerne kunne bestille flere ting af gangen
Så når man sender sin bestilling, skal det gemmes i en SQL database, hvor der i det ene felt skal stå ID på de ting man bestilte.
Hvordan gør jeg det så jeg kan hente de ID ud igen, som et array?

Mvh Daniel Truelsen
Avatar billede di8leva Nybegynder
19. januar 2005 - 14:17 #1
Et forslag er at gemme alle ID'n med komma-tegn emellem. "1122,36564,245434,23332,422"
Så nær du henter ud dem kan du bara gøre en "split()";
Avatar billede morteeart Nybegynder
19. januar 2005 - 14:18 #2
bedre ide, have et array med bestiller , og så hente produkterne ud ved køb.

Det er meget dårlig struktur at bruge mysql til at gemme bestillingerne i mens kunden er på siden.
Avatar billede tfswebguy Nybegynder
19. januar 2005 - 14:20 #3
Det er først når kunden godkender ordren, at det skal gemmes i DB jo. Så kan man via et admin panel se bestillingerne. Derfor jeg vil have det i db :D
Avatar billede Syska Mester
19. januar 2005 - 17:55 #4
lav en table med alle ordrere og et unikt ID, lav så en anden table med alle de vare der hører til en bestemt ordre, hvor de bruger ID fra den første table, og gemme det ved varen, så du ved hvilken ordre de hører til???
Sig endelig til hvis du ikke forstår hvad jeg mener...
// ouT
Avatar billede tfswebguy Nybegynder
23. januar 2005 - 07:08 #5
blev ikk klogere. Men takker for den hjælp i kom med. Smid svar, hvis i vil have lidt point
Avatar billede talrinys Nybegynder
23. januar 2005 - 08:40 #6
Gem tingene med et , eller lignede imellem og explode?
Virker rimeligt logisk
Avatar billede tfswebguy Nybegynder
23. januar 2005 - 09:02 #7
lyder logisk for dem der kan det, ja..
Men for sådan nogen som mig, der ikk kan det, begynder det at blive lidt sværere.
Sorry.. Men ingen er perfekte :)

Men tænkte på.. Kan prøve at hente lidt mere hjælp, så.
Når jeg skal hente det ud igen, så gør jeg det sådan:
while($vis_ordre = mysql_fetch_array($hent_ordre)){
  ::Her vil jeg så have array, med de tal, men kun én af gangen::
  $vare = mysql_query("SELECT * FROM produkter WHERE(varenr='det tal fra arrayet')");
  $vare = mysql_fetch_array($vare);
  print "<tr><td>$vare[varenr]</td><td>$vare[navn]</td><td>$vare[pris]</td></tr>";
}

Håber der kan komme lidt hjælp til den, så?
Avatar billede talrinys Nybegynder
23. januar 2005 - 09:23 #8
Hvis du for eksempel så vil have alle ordrene ud og sepereret i en array gør du bare sådan der:
explode(",",$vare[varenr]);
Hvis det for eksempel er varenr der skal flere ting i.
Avatar billede tfswebguy Nybegynder
26. januar 2005 - 06:44 #9
Har fået svar på det.. brugte netop den kommando, og så en for(); løkke :o)
Smid svar, så i kan få point, for tak for hjælpen i hvert fald :)
Avatar billede talrinys Nybegynder
26. januar 2005 - 07:05 #10
Glad for at det virkede :-)
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
Computerworld tilbyder specialiserede kurser i database-management

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