hallo ik heb dit stukje:
<?
MONDAY<input type="checkbox" name="1" value="monday"><Br>
TUESDAY<input type="checkbox" name="1" value="tuesday"><Br>
WEDNESDAY<input type="checkbox" name="1" value="wednesday"><BR>
THURSDAY<input type="checkbox" name="1" value="thursday"><BR>
FRIDAY<input type="checkbox" name="1" value="friday"><BR>
SATURDAY<input type="checkbox" name="1" value="saturday"><BR>
SUNDAY<input type="checkbox" name="1" value="sunday"><BR>
?>

en dat wil ik op deze manier invoegen:

<?
$insert = 'INSERT INTO table (date
VALUES ("'.$_POST['1'].'")';
mysql_query($insert);
?>

ik wil dan dat als ik bijvoorbeeld saturday en sunday aanvink die 2 in de tabel komen te staan maar op deze manier komt alleen de laatste er te staan.
als ik ze allemaal een andere naam geef komen alle die niet zijn aangevinkt ook in te tabel te staan als lege velden wie weet een oplossing?
Als eerst even vloeken. NOOIT een $_POST direct in je database knallen. mysql_real_escape_string() erover!!

Tevens de quotes in je query andersom!

En je mag je veld niet 'date' noemen. Dit is een verboden veldnaam binnen mysql

Dan over je vraag. Alle inputs behoren een unieke naam te hebben, anders zijn ze niet te benaderen voor je controller.

Wat je kunt doen, is ze namen geven als


<?php 
<input type="checkbox" name="week['monday']" value="1" />
?>


dan in je controller


<?php
$week_arr = mysql_real_escape_string($_POST['week']);

foreach($week_arr as $day => $i)
{
   if($i == "1")
   {
      $query = "INSERT INTO tabel1 
                      SET day = '" . $day . "' ";
                mysql_query($query);
   }
}

dank voor je reactie wat bedoel je met date verboden? want het werkte wel of is het gewoon ongebruikelijk?
"date" is gereserveerd. Gebruik een andere naam, bijvoorbeeld 'datum'. Of als je alles in 't Engels wil houden "day_field"
als ik name="week['monday']" dan ziet hij gewoon dat hele stuk als naam wat doe ik verkeerd?
PS het moet ook werken als ze meerdere dagen aanvinken.
dus duidelijke vraag:

stel ik heb 1000 checkboxen met allemaal een getal 1 tot 1000 en ik wil dat alle aangevinkten onder elkaar in een database komen en degene die niet zijn aangevinkt daar moet niks mee gedaan worden.

Reageren