Multiple naar database sturen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Mathijs

mathijs

07/03/2006 11:47:00
Quote Anchor link
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
 
PHP hulp

PHP hulp

15/01/2025 14:03:10
 
Jan Koehoorn

Jan Koehoorn

07/03/2006 11:51:00
Quote Anchor link
<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:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
    if (isset ($_POST['selections'])) {
        $aantal = count ($_POST['selections']);
        for ($i = 0; $i < $aantal; $i++) {
            // doe iets met $_POST['selections'][$i]
        }
    }

?>
 
- wes  -

- wes -

07/03/2006 11:54:00
Quote Anchor link
of

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

foreach($_POST['selections'] as $vars)
{

//doe iets met $vars
}

?>
 
Mathijs

mathijs

07/03/2006 12:23:00
Quote Anchor link
ja ik houd het probleem nu nog,
ik heb nu:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?
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
 
Willem Jan Z

Willem Jan Z

07/03/2006 12:27:00
Quote Anchor link
Je moet in de for lus data naar database schrijven, want nu overschrijf je de variabele steeds totdat hij bij de laatste is.
 
Mathijs

mathijs

07/03/2006 12:39:00
Quote Anchor link
oke er is vooruitgang! Ze worden nu 1 voor 1 in de database gezet.. ik heb dit nu:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?
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?
 
Willem Jan Z

Willem Jan Z

07/03/2006 12:42:00
Quote Anchor link
Oke, wou je dat :)

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

mathijs

07/03/2006 12:50:00
Quote Anchor link
yeahhh <:o) thnxx! Dit is hem!
 
Frank -

Frank -

07/03/2006 13:33:00
Quote Anchor link
Quote:
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
 



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.