Avatar billede angelenglen Nybegynder
14. november 2003 - 13:04 Der er 8 kommentarer og
1 løsning

check værdi af flere checkbox's efter form er submitted

efter min form er submitted vil jeg gerne udføre en kommando for hver checkbox der er checked.

jeg er bare lidt i tvivl om hvordan jeg skal gribe det an.

jeg har fx følgende form:

<input type=checkbox id=box1>
<input type=checkbox id=box2>
<input type=checkbox id=box3>
<input type=checkbox id=box4>
<input type=checkbox id=box5>
<input type=checkbox id=box6>
-de navne, box1-6 er genereret ud fra databasen, fra deres id'er på følgende måde:
id=box<? echo $id; ?>

-så i databasen hedder de 1-6

jeg kan sagtens lave en løkke der går alle id'erne igennem, men jeg ved ikke hvordan jeg checker boxene hver gang, da den eneste metode jeg kender er:
if ($box1) {command}
-og jeg ved ikke hvordan jeg kan få den til at tage
$box1, $box2 ... $box6 eftersom de ikke hedder $boxX i databasen, men bare $1-6
-for det virker ikke når jeg skriver:
if ($box.$id) {command}


håber det giver mening. please help :)
Avatar billede angelenglen Nybegynder
14. november 2003 - 13:06 #1
-det skal lige siges, at det er muligt at der bliver slettet diverse id'er ind imellem, så på et tidspunkt kunne det fx se sådan her ud:
<input type=checkbox id=box1>
<input type=checkbox id=box2>
<input type=checkbox id=box6>
<input type=checkbox id=box7>
<input type=checkbox id=box10>
<input type=checkbox id=box15>

-men eftersom jeg bruger ORDER BY id når jeg kører min løkke, tager den jo kun de id'er der findes..
Avatar billede sukos Juniormester
14. november 2003 - 13:12 #2
Prøv at bruge
<input type="checkbox" name="box[]" value="<?php eco $id; ?>">

så får du et array, box, som du kan tjekke med via en forløkke
Avatar billede angelenglen Nybegynder
14. november 2003 - 13:12 #3
hvordan ville den for løkke så se ud?
Avatar billede sukos Juniormester
14. november 2003 - 13:16 #4
f.eks.

<form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="get">
<?php
for($i = 0; $i < 8; $i++) {
echo"<input type=\"checkbox\" name=\"box[]\" value=\"Tallet ". $i ."\"> Checkbox nr. ". $i ."<br>\n";
}
?>
<input type="submit" value="Vis">
</form>

<?php
if(isset($_GET["box"])) {

foreach($_GET["box"] as $ny) {
echo"<br>\n". $ny;
    }
}

?>
Avatar billede angelenglen Nybegynder
14. november 2003 - 13:19 #5
nice, det virker jo som det skal :)
takker mange gange, svar for points!
Avatar billede sukos Juniormester
14. november 2003 - 13:25 #6
Æh, gør heller så'n for en sikkerheds skyld:

<form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="get">
<?php
for($i = 0; $i < 8; $i++) {
echo"<input type=\"checkbox\" name=\"box[]\" value=\"Tallet ". $i ."\"> Checkbox nr. ". $i ."<br>\n";
}
?>
<input type="submit" value="Vis">
</form>

<?php
if(isset($_GET["box"])) {
if(is_array($_GET["box"])) {
foreach($_GET["box"] as $ny) {
echo"<br>\n". $ny;
  }
    }else{
echo $_GET["box"];
    }
}

?>
Avatar billede angelenglen Nybegynder
14. november 2003 - 13:25 #7
hvad er den store forskel?
Avatar billede sukos Juniormester
15. november 2003 - 10:11 #8
Hvis det ikke er et array, vil det også funke :O)
Avatar billede angelenglen Nybegynder
15. november 2003 - 10:42 #9
mmmh okay, det er slet ikke ringe så :)
-igen tak :P
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