Gå til innhold

Hjelp! Lagre flere valg fra en dropdownmeny inn i MySQL


Anbefalte innlegg

Jeg har en dropdownmeny.

 

Navn verdi

Brød 1

fisk 2

Melk 3

Juice 4

 

Jeg velger f.eks fisk fra denne listen og verdien 1 blir lagret i databasen

Nå ønsker jeg å kunne lagre flere alternativer inn i databasen, f.eks fisk og brød. Da må jeg kjøre en loop som først lagrer verdien 1 og så lagrer den verdien 2????

 

Det er dette jeg trenger hjelp til. :)

(Jeg er ikke lat, men jeg liker best å copy.paste, modifye kode)

Lenke til kommentar
Videoannonse
Annonse

Jeg har noe i alle dette.

 

CREATE TABLE kampanje (

 kampanje_id mediumint(7) unsigned NOT NULL auto_increment,

 kampanje_overskrift varchar(250) NOT NULL default '',

 kampanje_ingress tinytext NOT NULL,

 kampanje_tekst mediumtext NOT NULL,

 kampanje_fylkeid mediumint(3) unsigned NOT NULL default '0',

 PRIMARY KEY  (kampanje_id),

 KEY kampanje_tittel (kampanje_overskrift)

) TYPE=MyISAM;

 

CREATE TABLE kampanjefylke (

 kampanjefylke_id mediumint(7) unsigned NOT NULL auto_increment,

 kampanjedetaljer_detaljer mediumint(7) unsigned NOT NULL '',

 PRIMARY KEY  (kampanjedetaljer_id),

 KEY kampanjedetaljer_detaljer (kampanjedetaljer_detaljer)

) TYPE=MyISAM;

 

Jeg forstår såpass at i Kampanjetabellen (kampanje_fylkeid) refererer jeg til en bestemt id i kampanjefylke. Men det er alt jeg forstår :)

 

(Den som hjelper til vil selvfølgelig bli kreditert med navn på siden jeg lager :)

Lenke til kommentar

om jeg forstår det riktig har du forskjellige kampanjer: brød, fisk, sau, melk osv for et eller annet fylke. Du vil også ha muligheten for å kjøre kampanjer samtidig.. dvs at et fylke kan ha brød og fisk kampanje gående samtidig. OM jeg har fortstått deg sånn ca noenlunde riktig..

 

Så skal du ikke bruke løkker.. men generere flere poster i tabellen din.

om vi tar tabellene dine.. og gjør dem litt mindre.

 

Litt MYSQL først...

 


FYLKE_KAMPANJE_TABELL

ID int PRIMARY KEY AUTO_INCREMENT # primærnøkkel

FylkeID int(11) KEY  # fremmednøkkel til tabellen fylke

KampanjeID int(11) KEY # Fremmednøkken til KAMPANJE_TABELL

 

Så har vi kampanje tabellen...


KAMPANJE_TABELL

ID int PRIMARY KEY AUTO_INCREMENT # primærnøkkel

Navn varchar (20), # Navn på kampanje (fisk, melk osv..)

 

Denne dataen ligger i tabellen


SELECT * FROM KAMPANJE_TABELL

+-------+--------

|  ID   | Navn

+-------+--------

|     1 | Brød

|     2 | Fisk

|     3 | Melk

|     4 | Juice



SELECT * from FYLKE_KAMPANJE_TABELL

+-------+--------+--------

|  ID   | FylkeID| KampanjeID

+-------+--------+--------

|     1 | 1        | 1

|     2 | 1        | 2

|     3 | 1        | 3

|     4 | 2        | 4

 

Vet ikke om det blir leselig.. MEN.. fylte med ID 1 har kampanjene 1,2,3 gående (brød, fisk, melk). Fylke med ID 2 har kampanje 4 gående (juice).

 

Skal du legge til kampanje 1 og 2 (brød og fisk) for fylke 2, må du ta TO insert i FYLKE_KAMPANJE_TABELL tabellen din (mange til mange relasjon)

 


INSERT INTO FYLKE_KAMPANJE_TABELL (FylkeID, KampanjeID) values (2,1)

INSERT INTO FYLKE_KAMPANJE_TABELL (FylkeID, KampanjeID) values (2,2)

 

 

Så over til PHP'n.

La brukeren velge kampanje fra dropdown menyen, samt fylke.

Så har du en legg til knapp

trykker man på legg til til kjøres *ÈN* INSERT av gangen.

Med andre ord må brukeren først velge fylke 2, og kampanje 1 (Brød) - så trykke legg til.

også velge fylke 2 og kampanje 2 (fisk) - så trykke legg til..

 

Du kan selvfølgelig gjøre så brukeren kan legge alle kampanjer inn på en gang (om du finner en lur måte å finne ut hva han har valgt på). Men dette er ihverfall tankegangen.. OM - og jeg presiserer OM jeg forstod problemet ditt riktig.

 

Jeg tror kanskje du bør finne ut litt mer om hvordan databasen din funker og hvordan den er bygget opp.. gjetter jeg riktig har du ikke laget denne selv..?

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...