Array opstellen met meerdere posts

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 volgende »

Bart Pasmans

Bart Pasmans

03/01/2011 19:02:52
Quote Anchor link
Dames/heren,

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
 
PHP hulp

PHP hulp

23/12/2024 04:10:51
 
- Mark -

- Mark -

03/01/2011 19:07:30
Quote Anchor link
stel je checkbox heet name="deed_mee" als je daar name="deed_mee[]" van maakt dan wordt $_POST['deed_mee'] een array.
 
Thomas de vries

thomas de vries

03/01/2011 19:08:02
 
Bart Pasmans

Bart Pasmans

03/01/2011 19:12:50
Quote Anchor link
Ik heb het op mark zijn manier gedaan.

Ik kan de waarde nu opvragen via

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo $_POST['checkbox'][0]
?>


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

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo $_POST['checkbox'][0]
?>


1,2,3 enzo....

hoe plaats ik al deze 'arrays' in 1 array?
 
- Mark -

- Mark -

03/01/2011 19:35:34
Quote Anchor link
Hoe bedoel je $_POST['checkbox'] is toch 1 array?
 
Bart Pasmans

Bart Pasmans

03/01/2011 19:39:30
Quote Anchor link
Kijk ik heb het nu zo:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
     $array
= array("$post[0], $post[1]");
         
         print_r($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?
 
- Mark -

- Mark -

03/01/2011 19:47:22
Quote Anchor link
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?
 
Bart Pasmans

Bart Pasmans

03/01/2011 19:48:58
Quote Anchor link
Ik doe nu dit:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
         $post
= $_POST['checkbox'];
         $array = array("$post[0], $post[1], $post[2]");
?>


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?:)
 
- Mark -

- Mark -

03/01/2011 19:56:18
Quote Anchor link
Even kijken of ik snap wat je wilt doen want dat wat je aan het doen bent slaat nergens op als ik me niet vergis.

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?
 
Bart Pasmans

Bart Pasmans

03/01/2011 19:58:47
Quote Anchor link
Nou het zit zo.

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)
PHP script in nieuw venster Selecteer het PHP script
1
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));
         
         


?>
 
- SanThe -

- SanThe -

03/01/2011 20:03:05
Quote Anchor link
Wat jij aan het proberen bent is complete onzin.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
foreach($_POST['checkbox'] as $key => $value)
{

    echo $key . '=>' . $value . '<br/>';
}

?>
Gewijzigd op 03/01/2011 20:03:54 door - SanThe -
 
- Mark -

- Mark -

03/01/2011 20:06:33
Quote Anchor link
Als je alle sleutels van $_POST['checkbox'] wilt hebben dan kun je gewoon array_keys gebruiken. Je krijgt dan een nieuwe array met daarin alle sleutels.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php

$sleutels
= array_keys($_POST['checkbox']); // array(0, 1, 2);

?>


Maar wat wil je er mee doen? Je bent veels te complex aan het denken ben ik bang.
 
Bart Pasmans

Bart Pasmans

03/01/2011 20:16:07
Quote Anchor link
Ja ik denk het ook,

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
 
- Mark -

- Mark -

03/01/2011 20:22:04
Quote Anchor link
: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.
 
Bart Pasmans

Bart Pasmans

03/01/2011 20:31:12
Quote Anchor link
Ja klopt :)

Thnx Mark!

Toevoeging op 03/01/2011 20:36:43:

Nog even een vraagje als ik array_keys gebruik, is de hele waarde leeg?
 
- Mark -

- Mark -

03/01/2011 20:40:28
Quote Anchor link
Wat bedoel je met "is de hele waarde leeg?"
 
Bart Pasmans

Bart Pasmans

03/01/2011 20:41:46
Quote Anchor link
dit krijg ik: Array ( [0] => 0 [1] => 1 [2] => 2 )

met deze code:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php

         print_r (array_keys($_POST['checkbox'])); // array(0, 1, 2)


?>
 
- Mark -

- Mark -

03/01/2011 20:45:26
Quote Anchor link
En wat zou daar dan fout aan moeten zijn? Dat wat je terug krijgt is correct.
 
Bart Pasmans

Bart Pasmans

03/01/2011 20:47:01
Quote Anchor link
Ahh zo dus 0 is dus de waarde dan??
 
- SanThe -

- SanThe -

03/01/2011 20:49:59
Quote Anchor link
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?
 
- Mark -

- Mark -

03/01/2011 20:51:06
Quote Anchor link
array_keys pakt de sleutels van $_POST['checkbox'] en plaatst die in een nieuwe array als de waarde.
 

Pagina: 1 2 volgende »



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.