sticky multiple select box
Dit staat tussen de php-tags
$query = "SELECT trefwoord FROM trefwoorden ORDER BY trefwoord ASC";
$result = @mysql_query ($query);
$num=mysql_num_rows ($result);
$pulldown = '<option value= "">Kies trefwoord</option>';
while ($row = mysql_fetch_array ($result, MYSQL_ASSOC)) {
$pulldown .= "<option value=\"{$row['trefwoord']}\">{$row['trefwoord']}</option>\n";
tussen de html-tags staat dan
<td width="50%"><br /><select size="10" name="trefwoord1[]" multiple></select></td>
Dit lukt perfect. Nu is mijn vraag hoe ik ervoor kan zorgen dat ze sticky worden. M.a.w. als men iets is vergeten in te vullen en het formulier moet worden aangevuld, dat de eerste gegevens blijven staan.
Ik weet dat er een functie selected="selected" bestaat, maar als ik dit gebruik heb ik ze allemaal of geen geselecteerd.
Alvast bedankt.
Je laat eerst checken of alles ingevult is met iets wat hier op lijkt:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?
if (!(isset($_POST['naam']) && !empty($_POST['naam'])))
{
$error = true;
echo "U heeft het veld naam niet ingevult!";
}
//En vervolgens:
if ($error == true)
{
$sel_naam = 'selected';
$sel_email = 'selected';
$sel_bericht = 'selected';
$sel_nogwat = 'selected';
}
else
{
$sel_naam = '';
$sel_email = '';
$sel_bericht = '';
$sel_nogwat = '';
}
?>
if (!(isset($_POST['naam']) && !empty($_POST['naam'])))
{
$error = true;
echo "U heeft het veld naam niet ingevult!";
}
//En vervolgens:
if ($error == true)
{
$sel_naam = 'selected';
$sel_email = 'selected';
$sel_bericht = 'selected';
$sel_nogwat = 'selected';
}
else
{
$sel_naam = '';
$sel_email = '';
$sel_bericht = '';
$sel_nogwat = '';
}
?>
En moet je bij elk veld echo "$sel_...."; doen. Ik weet niet of dit nu echt een super geweldige oplossing is maar het werk als het goed is wel.
Moesten er anderen iets aan hebben. Dit heb ik er van gemaakt
$query = "SELECT trefwoord FROM trefwoorden ORDER BY trefwoord ASC";
$result = @mysql_query ($query);
$pulldown = '<option value= "">Kies trefwoord</option>';
while ($row = mysql_fetch_array ($result, MYSQL_ASSOC)) {
$pulldown .= "<option value=\"{$row['trefwoord']}\"";
$select = FALSE;
$tel=count($trefwoord1);
for ($i=0;$i<$tel;$i++) {
if ($row['trefwoord'] == "$trefwoord1[$i]") {
$select = TRUE;
}
}
if($select) {
$pulldown .= "selected=\"selected\">{$row['trefwoord']}</option>\n";
}else{
$pulldown .= ">{$row['trefwoord']}</option>\n";
}
}