Select formulier element opslaan in database
Ik heb een aantal select elementen in een formulier staan met vaste opties.
De klant wil graag de opties in de select elementen zelf kunnen toevoegen / wijzigen of verwijderen.
Nu is het beheer om de opties te kunnen toevoegen niet zo moeilijk om te maken.
Maar hoe ga ik de values van de select elementen opslaan in de database nadat een bezoeker het formulier verzonden heeft.
Want als iemand de optie later verwijderd is de value die in de database staat niet meer te koppelen aan een value die in de database eerder was aangemaakt.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<select>
<option value="">Maak een keuze</option>
<?php
// Uit de database komt een array
$select_options = array(array('value' => 'optie1', 'name' => 'Optie 1'), array('value' => 'optie2', 'name' => 'Optie 2'));
foreach($select_options AS $select_option)
{
echo '<option value="'.$select_option['value'].'">'.$select_option['name'].'</option>';
}
?>
</select>
<option value="">Maak een keuze</option>
<?php
// Uit de database komt een array
$select_options = array(array('value' => 'optie1', 'name' => 'Optie 1'), array('value' => 'optie2', 'name' => 'Optie 2'));
foreach($select_options AS $select_option)
{
echo '<option value="'.$select_option['value'].'">'.$select_option['name'].'</option>';
}
?>
</select>
Heeft iemand een idee hoe ik dit kan doen?
Alvast bedankt.
Mvg, Patrick
Een extra kolom maken en daarin zetten of de optie actief is of niet?
Als je de huidig geselecteerde waarde uit een dropdown wilt hebben kun je gewoon $_POST['dropdown_lijst'] gebruiken? Sorry als dit niet is wat je bedoelt, ik snap niet 100% wat je wilt doen!
1. Relaties aanbrengen tussen je tabellen en zo instellen dat als een optie verwijderd wordt ook in de andere tabel deze opties verdwijnen. In jouw geval niet handig want je wilt niet iets uitwissen dat in het verleden is gedaan.
2. Opties nooit weghalen maar in plaats daarvan een extra kolom 'deleted' aan de tabel toevoegen en alleen opties laten zien waarvan deleted 0 (FALSE) is. Voor de gebruiker kun je gewoon een knop 'delete' maken maar in werkelijkheid wordt de optie niet uit de tabel verwijderd maar enkel wordt de optie aangepast met deze query:
Gewijzigd op 11/10/2014 22:39:20 door Frank Nietbelangrijk
Opgelost! Bedankt Frank en Obelix.