Hallo is er ook iemand die me kan zeggen hoe ik een multiple box naar de database stuur? (Graag zo simpel mogelijk want ik ben nogal een leek!:-P)

Bvd
<select name=selections[] multiple>
<option value="een">een</option>
<option value="twee">twee</option>
<option value="drie">drie</option>
</select>

Na verzenden vang je zo de waarden op:

<?php
if (isset ($_POST['selections'])) {
$aantal = count ($_POST['selections']);
for ($i = 0; $i < $aantal; $i++) {
// doe iets met $_POST['selections'][$i]
}
}
?>
of

<?php

foreach($_POST['selections'] as $vars)
{
//doe iets met $vars
}

?>
ja ik houd het probleem nu nog,
ik heb nu:
<?
if (isset ($_POST['Soort'])) {
$aantal = count ($_POST['Soort']);
for ($i = 0; $i < $aantal; $i++) {
$postsoort = $_POST['Soort'][$i];
}
}
?>

en $postsoort wordt dus naar de db gestuurd.
Maar ik krijg alleen de onderste geselecteerde te zien in de db
Je moet in de for lus data naar database schrijven, want nu overschrijf je de variabele steeds totdat hij bij de laatste is.
oke er is vooruitgang! Ze worden nu 1 voor 1 in de database gezet.. ik heb dit nu:
<?
if (isset ($_POST['Soort'])) {
$aantal = count ($_POST['Soort']);
for ($i = 0; $i < $aantal; $i++) {
mysql_query("INSERT INTO admin (soort) VALUES ('".$_POST['Soort'][$i]."')") or die(mysql_error());
}
}
?>

Hoe krijg ik ze in 1 veld?
Oke, wou je dat :)


<?
if (isset ($_POST['Soort'])) {
$aantal = count ($_POST['Soort']);
for ($i = 0; $i < $aantal; $i++) {
$postsoort .= $_POST['Soort'][$i].', ';
}
}
?> 


Ze staan ze allemaal in de variabele postsoort gescheiden door een komma.
yeahhh <:o) thnxx! Dit is hem!
Hoe krijg ik ze in 1 veld?
Dat wil je niet, daarmee help je het hele idee van een relationele database om zeep. Dat gaat vervolgens weer een hele berg problemen opleveren.

Tussen de tutorials staat er ook eentje over database-normalisatie.

Succes

Reageren