Gå til innhold

Checkbox-problem


Anbefalte innlegg

Her har jeg feks 3 checkbox'er:

 

<input type=checkbox name=valg value=valg1>
<input type=checkbox name=valg value=valg2>
<input type=checkbox name=valg value=valg3>

 

Her skal jeg ha muligheten til å krysse av på alle 3,

og få 'valg1, valg2, valg3' i sql-feltet.

 

$sql = "insert into tabell (valg) values
('".$_POST['valg']."')";

 

Det som skjer nå er at bare et valg dukker opp i sql-feltet.

 

Hvordan løse dette?

Lenke til kommentar
Videoannonse
Annonse

velkommen til forumet.

 

den måten det anbefales å løse dette på, er å navngi feltene valg[]. dvs med [] til slutt.

da vil verdienen dyttes inn i en array, $_POST['valg']. her kan du hente dem ut som vanlig med arrays, f.eks $_POST['valg'][0] for første element. $_POST['valg'][1] for andre element. etc...

 

merk at dette er en ulogisk måte å gjøre ditt query på. Hvis du ikke spesifiserer kolonnenavn, så forventer mysql å få en value for hver kolonne i tabellen. Hvis du har varierende antall avkryssede felter, vil du aldri få et gitt antall felt.

Lenke til kommentar

Dette er fordi variablen får en ny verdi hele tiden.

$valg blir først valg1 så valg2 så valg3 - dersom alle er krysset av.

 

Bruk:

<input type=checkbox name="valg[]" value=valg1>

<input type=checkbox name="valg[]" value=valg2>

<input type=checkbox name="valg[]" value=valg3>

 

 

while(current($_REQUEST['valg'])){

$variablen .= current($_REQUEST['valg']);

next($_REQUEST['valg']);

}

 

Dette scriptet slår sammen valgene - og blir f.eks. "valg1valg2valg3" endre det som du selv vil.

Endret av ????????
Lenke til kommentar
  • 1 år senere...

Wow, akkurat det jeg lette etter (avslutte name - parameteret med [] for å dra inn et array), ikke helt intuitivt, men logisk nok når man har sett det.. Takker!

 

For å sitere noen: "The only intuitive user interface is a nipple, everything else is learned"

 

M.

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å
×
×
  • Opprett ny...