checkbox data invoegen in tabel

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Hendrik sfd

hendrik sfd

01/08/2008 14:22:00
Quote Anchor link
hallo ik heb dit stukje:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?
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:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?
$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?
 
PHP hulp

PHP hulp

20/11/2024 15:18:35
 
Spike Spade

Spike Spade

01/08/2008 15:32:00
Quote Anchor link
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

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
<input type="checkbox" name="week['monday']" value="1" />
?>


dan in je controller

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
$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);
   }
}

[
/code]
 
Hendrik sfd

hendrik sfd

01/08/2008 16:16:00
Quote Anchor link
dank voor je reactie wat bedoel je met date verboden? want het werkte wel of is het gewoon ongebruikelijk?
 
Gerben Jacobs

Gerben Jacobs

01/08/2008 16:20:00
Quote Anchor link
"date" is gereserveerd. Gebruik een andere naam, bijvoorbeeld 'datum'. Of als je alles in 't Engels wil houden "day_field"
 
Hendrik sfd

hendrik sfd

02/08/2008 14:02:00
Quote Anchor link
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.
 
Hendrik sfd

hendrik sfd

02/08/2008 14:12:00
Quote Anchor link
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.
 



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.