Avatar billede thped5 Nybegynder
23. april 2003 - 11:15 Der er 9 kommentarer og
1 løsning

Php og checkboxes, HELP!!!!

Jeg skal lave et elektronisk spørgeskema, hvori der der bl.a. skal være mulighed for flere valgmuligheder med Checkboxes. Resultatet skal sendes til en database (mysql)
Jeg kan sagtens connecte til databasen og den indsætter også mit input. Problemet er bare at ved checkboxes vil den kunne indsætte 1 valg.
Nogle som har en SIMPEL LØSNING? (min php/mysql-erfaring er lidt begrænset, har kun kodet i php. i ca. 3 mdr.)
På forhånd tak!!! fra Thomas
Avatar billede ztyxx Nybegynder
23. april 2003 - 11:23 #1
hvis du har givet dine checkbokse forskellige navne så burde du også få indsat havd du skal, men smid lidt kode, så er det nemmere at overskue :-)
Avatar billede schaefner Juniormester
23. april 2003 - 11:27 #2
<input type="checkbox" name="valg1" value="Ja, tak det vil jeg gerne">
Avatar billede schaefner Juniormester
23. april 2003 - 11:28 #3
Så har du værdien "Ja, tak det vil jeg gerne" hvis brugeren har krydset af.
Avatar billede schaefner Juniormester
23. april 2003 - 11:33 #4
Men som ztyxx skriver, så ville lidt kode måske hjælpe :)
Avatar billede ztyxx Nybegynder
23. april 2003 - 11:34 #5
ja, det kunne jo være måden der sættes ind i databsen på, der giver problemet :-)
Avatar billede jakoba Nybegynder
23. april 2003 - 11:34 #6
Husk at checkbokse ikke må have det samme navn. navnet skal være forskelligt for hver checkbox. Det er kun de runde radioknapper der kan grupperres ved at få eet enkelt navn.
Avatar billede schaefner Juniormester
23. april 2003 - 11:47 #7
Hvis du ønsker at man f.eks. skal kunne svare enten ja eller nej til et spm., så skal du bruge en radio-knap som jakoba skriver:

<input type="radio" name="valg1" value="Ja">
<input type="radio" name="valg1" value="Nej">
Avatar billede sostack Nybegynder
23. april 2003 - 12:48 #8
Checkboxe kan også grupperes:
<input type="checkbox" name="valg[0]">Ja<br>
<input type="checkbox" name="valg[1]">Nej<br>

og data kan hentes ud fra arrayet med en for-next-løkke.

//sostack
Avatar billede sostack Nybegynder
23. april 2003 - 13:04 #9
Her er et lille eksempel:

html-fil med formen:
<form action="./checkbox.php" method="GET">
Ønskes reklamer i postkassen?<br />
<input type="checkbox" name="valg[0]">Ja<br />
<input type="checkbox" name="valg[1]">Nej<br />
Ønskes øl til frokost?<br />
<input type="checkbox" name="valg[2]">Ja<br />
<input type="checkbox" name="valg[3]">Nej<br />
Skal der serveres kaffe & te?<br />
<input type="checkbox" name="valg[4]">Ja<br />
<input type="checkbox" name="valg[5]">Nej<br />
Vil du gerne have tidligt fri hver dag?<br />
<input type="checkbox" name="valg[6]">Ja<br />
<input type="checkbox" name="valg[7]">Nej<br />
<input type="submit" name="send" Value="Send">
</form>

//checkbox.php:

<?
if($_GET['send'] == "Send") {
foreach($_GET['valg'] as $key => $value) {
echo $key . " afkrydset : " . $value . "<br />";
}
}
?>

//sostack
Avatar billede helle_fred Nybegynder
23. april 2003 - 14:09 #10
Du laver f.eks. 4 checkboxe. Hver af dem har samme navn, med [] bagefter, for
at angive, du vil have det som en array, samt en value, som passende kunne
være er en nøgle på en databasepost, man vil give mulighed for at slette.
f.eks.

<input type="checkbox" name="sletposter[]"
value="219">
<input type="checkbox" name="sletposter[]"
value="3">
<input type="checkbox" name="sletposter[]"
value="102">
<input type="checkbox" name="sletposter[]"
value="1222">

du vil så få en array med navn sletposter igen.
Hvis brugeren sat hak i de to første, vil arrayet $sletposter indholde [219,3]

Bemærk det kun virker med form method "post", ikke "get".
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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