Ik probeer van een formulier de aangevinkte checkboxen in een kolom van de database te zetten.
Op dit moment heb ik:
<input name="game[]" type="checkbox" value="Game1"> Game1
<input name="game[]" type="checkbox" value="Game2"> Game2
<input name="game[]" type="checkbox" value="Game3"> Game3
<input name="game[]" type="checkbox" value="Game4"> Game4
<input name="game[]" type="checkbox" value="Game5"> Game5


Zodra ik terugkijk in de database zie ik bij de kolom waar dit ingevoerd hoort te worden alleen het de laatst aangevinkte checkbox. Nu heb ik op internet al gezocht en er word ook gesproken over:

<?php
$all_games = implode(',',$_POST['game']);
?>
maar dan krijg ik de foutmelding: implode(): Invalid arguments passed in

Hoe kan ik dus de checkbox values, gescheiden door komma's invoeren in de database?

EDIT:
Nadat ik het script verwijderd heb, opnieuw toegevoegd.. Webpagina 300x refresh, browser geschiedenis etc verwijderd werkt het wel.. Sorry voor de onnodige post.
Ik raad het niet aan om meerdere gegeven in één kolom van de database te zetten.

Stel je wilt later terugzoeken wie allemaal Game4 speelt. Hoe ga je dat (snel) doen?
@Ramon, dat is inderdaad een goed argument tegen om het zo aan te pakken, zoeken wordt dan nogal lastig.

In sommige situaties kan het toch handig zijn om het zo aan te pakken, alleen in dit geval misschien wat minder.

En wanneer je het dan zo aanpakt, zorg dan dat je alleen relevante informatie opslaat, dus enkel de game-id's, maar niet Game1..GameN voluit, dat lijkt mij een verspilling van ruimte.

En je wilt misschien een controle inbouwen voor als er niets aangevinkt is. Als een checkbox niet aangevinkt is, dan wordt dit veld ook niet verstuurd, dus gebruik op zijn minst isset().

Reageren