Array opstellen met meerdere posts
Volgende situatie:
Ik heb een tabel ongeveer zo:
----Voornaam----Achternaam----Deed mee?
----********----**********-----{}------
bij deed mee staat een checkbox met een value (gebruiker id), de gehele tabel wordt namelijk geplaatst met behulp van een while loop.
Hoe kan ik nou zorgen dat wanneer ik mijn checkboxes post met behulp van een form dat wanneer ik meerdere checkboxes heb aangeklikt deze ook worden meegenomen?
Ik denk dat ik dit met een array moet gaan doen, maar ik weer echt niet hoe ik dit moet aanpakken zelfs niet na w3schools, en php.net gelezen te hebben.
Ik hoop op een snelle reactie,
Alvast bijvoorbaat dank
Bart
stel je checkbox heet name="deed_mee" als je daar name="deed_mee[]" van maakt dan wordt $_POST['deed_mee'] een array.
Ik kan de waarde nu opvragen via
waarbij de 0 dan ook 1,2,3 enz kan zijn.
Super bedankt! ik ga even verder kijken hoe ik nu verder ga!
Toevoeging op 03/01/2011 19:30:08:
Nu zitten al mijn checkboxes dus in een apparte array
1,2,3 enzo....
hoe plaats ik al deze 'arrays' in 1 array?
Hoe bedoel je $_POST['checkbox'] is toch 1 array?
maar dit is een erge statische manier, en als er dus meer dan 2 posts zijn, worden de overige waardes niet meegenomen, hoe zorg ik er dus voor dat $array gevuld wordt met alle $post[x] waarbij x het opvolgende nummer is?
Ik volg je niet meer om eerlijk te zijn. In $_POST['checkbox'] zitten alleen de ID's van de personen die je hebt geselecteerd. Wat maakt het nu uit wat de sleutels in je array zijn?
dus ik heb checkbox[0], checkbox[1], checkbox[2] etc...
hoe kan ik ervoor zorgen dat al de checkboxen die ooit zullen bestaan allemaal in
$array komen?
snappie?:)
Stel je hebt drie checkboxen die hebben als value kwik, kwek en jantje.
Als ik kwik en kwek aanvink dan wil jij kwik, kwek op je pagina hebben staan?
als kwik, kwek en kwak alle drie aan iets hebben meegedaan, klik je de box aan.
klik op post en op de volgende pagina heb ik voor het gemak de echo gedaan met kwik kwek en kwak,
krijg dan dit: Array ( [0] => 6d7c211a7f9b81809f4711774c9c4577 [1] => 234c211a7f9b81809f4711774c9c4523 [2] => f5cb69afedc1d480946615a4e0f00856 )
nu wil ik graag zo:
Dat voor elke post die gemaakt wordt deze in een array wordt geplaatst, en dan met een array_merge samen gevoegd worden op deze manier:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
$post = $_POST['checkbox'];
$array = array("$post[0]");
$array1 = array("$post[1]");
$array2 = array("$post[2]");
print_r (array_merge($array,$array1,$array2));
?>
$post = $_POST['checkbox'];
$array = array("$post[0]");
$array1 = array("$post[1]");
$array2 = array("$post[2]");
print_r (array_merge($array,$array1,$array2));
?>
Maar wat wil je er mee doen? Je bent veels te complex aan het denken ben ik bang.
Ik denk denk het te moeilijk dan dat het is,
weet ook niet goed hoe ik het kan uitleggen.
Maar @SanThe, je leert pas iets door het echt te proberen :) dus ook met dingen die op het eerste gezicht 'onzin' zijn :)
Ik ga jouw manier proberen Mark! super bedankt voor je hulp en dat je niet gek van me word :P
:p dat valt wel mee. Je hebt de logica achter array's nog niet helemaal begrepen denk ik maar je instelling is goed dus je komt er wel.
Thnx Mark!
Toevoeging op 03/01/2011 20:36:43:
Nog even een vraagje als ik array_keys gebruik, is de hele waarde leeg?
Wat bedoel je met "is de hele waarde leeg?"
met deze code:
En wat zou daar dan fout aan moeten zijn? Dat wat je terug krijgt is correct.
Ahh zo dus 0 is dus de waarde dan??
Bart Pasmans op 03/01/2011 20:16:07:
Maar @SanThe, je leert pas iets door het echt te proberen :) dus ook met dingen die op het eerste gezicht 'onzin' zijn :)
Daar ben ik het zeer zeker mee eens. Mijn opmerking was misschien een beetje kort door de bocht. Sorry. Heb je al gekeken wat mijn stukje aan output geeft?
array_keys pakt de sleutels van $_POST['checkbox'] en plaatst die in een nieuwe array als de waarde.