[solved] List menu waarden onthouden na validatie
Maar bij een droplist krijg ik het maar niet voor mekaar om deze (waarde) ook te late staan.
De validatie werkt wel,
Code (php)
Maar het behouden van de selectie niet..
Stuk erna:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<?
///.....
$list=(empty($_POST['list']) ? '' : $_POST['list']);
///... in de form
<select name="list" value="'. $list .'" >
<option value="-1">Select One</option>
<option value="1">One</option>
<option value="2">Two</option>
</select>
?>
///.....
$list=(empty($_POST['list']) ? '' : $_POST['list']);
///... in de form
<select name="list" value="'. $list .'" >
<option value="-1">Select One</option>
<option value="1">One</option>
<option value="2">Two</option>
</select>
?>
Gewijzigd op 01/01/1970 01:00:00 door David david
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<?php
///.....
$list=(empty($_POST['list']) ? '' : $_POST['list']);
///... in de form
echo '<select name="list">
<option value="-1">Select One</option>
<option value="1"' . ($list == 1 ? ' selected' : '') . '>One</option>
<option value="2"' . ($list == 2 ? ' selected' : '') . '>Two</option>
</select>';
?>
///.....
$list=(empty($_POST['list']) ? '' : $_POST['list']);
///... in de form
echo '<select name="list">
<option value="-1">Select One</option>
<option value="1"' . ($list == 1 ? ' selected' : '') . '>One</option>
<option value="2"' . ($list == 2 ? ' selected' : '') . '>Two</option>
</select>';
?>
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
Dit wordt zeker een stuk complexer als ik later dit zelfde formulier wil gaan updaten..
Ik heb nu zoiets in een andere script:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<?
<select name="category" size="1" id="category" >
<option selected="selected">-------------</option>
[code]<?php
$query = "SELECT id, category, label FROM upload GROUP BY category";
$result = mysql_query($query);
while($row=mysql_fetch_array($result)){
echo ("<option value=\"$row[category]\">$row[category]</option>\n");
}
?>
</select>
?>
<select name="category" size="1" id="category" >
<option selected="selected">-------------</option>
[code]<?php
$query = "SELECT id, category, label FROM upload GROUP BY category";
$result = mysql_query($query);
while($row=mysql_fetch_array($result)){
echo ("<option value=\"$row[category]\">$row[category]</option>\n");
}
?>
</select>
?>
of krijg je dan zoiets als:
Exact jouw bovenstaand script:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
echo '<select name="category" size="1" id="category" >
<option selected="selected">-------------</option>';
$query = "SELECT id, category, label FROM upload GROUP BY category";
$result = mysql_query($query);
if($result)
{
while($row=mysql_fetch_array($result))
{
echo '<option value="' . $row['category'] . '">' . $row['category'] . '</option>' . PHP_EOL;
}
}
else
{
echo 'ERROR: Query mislukt';
}
echo '</select> ';
?>
echo '<select name="category" size="1" id="category" >
<option selected="selected">-------------</option>';
$query = "SELECT id, category, label FROM upload GROUP BY category";
$result = mysql_query($query);
if($result)
{
while($row=mysql_fetch_array($result))
{
echo '<option value="' . $row['category'] . '">' . $row['category'] . '</option>' . PHP_EOL;
}
}
else
{
echo 'ERROR: Query mislukt';
}
echo '</select> ';
?>
Verder kan je de bovenstaande manier ook hier gewoon toepassen.
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
want dan moet ik dus ik mijn dynamische dropdown die ook steeds laten oplopen?..
De value van een select box is een string. Dat hoeft dus niet 1, 2, 3 zijn.
Code (php)
1
2
3
2
3
<?php
<option value="banaan"' . ($list == banaan ? ' selected' : '') . '>One</option>
?>
<option value="banaan"' . ($list == banaan ? ' selected' : '') . '>One</option>
?>
dan krijg ik foutmelding.. sorry hoor, maar probeer het te begrijpen :)
Gewijzigd op 01/01/1970 01:00:00 door david david
Code (php)
1
2
3
2
3
<?php
echo '<option value="banaan"' . ($list == banaan ? ' selected' : '') . '>One</option>';
?>
echo '<option value="banaan"' . ($list == banaan ? ' selected' : '') . '>One</option>';
?>
Edit: Misschien niet duidelijk geweest/gezien, maar in mijn eerdere post loopt de echo door over meerdere regels.
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<?php
///.....
$list=(empty($_POST['list']) ? '' : $_POST['list']);
///... in de form
echo '<select name="list">
<option value="-1">Select One</option>
<option value="banaan"' . ($list == banaan ? ' selected' : '') . '>One</option>
<option value="2"' . ($list == 2 ? ' selected' : '') . '>Two</option>
</select>';
?>
///.....
$list=(empty($_POST['list']) ? '' : $_POST['list']);
///... in de form
echo '<select name="list">
<option value="-1">Select One</option>
<option value="banaan"' . ($list == banaan ? ' selected' : '') . '>One</option>
<option value="2"' . ($list == 2 ? ' selected' : '') . '>Two</option>
</select>';
?>
krijg ik:
Notice: Use of undefined constant banaan - assumed 'banaan'...
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<?php
///.....
$list=(empty($_POST['list']) ? '' : $_POST['list']);
///... in de form
echo '<select name="list">
<option value="-1">Select One</option>
<option value="banaan"' . ($list == 'banaan' ? ' selected' : '') . '>One</option>
<option value="2"' . ($list == 2 ? ' selected' : '') . '>Two</option>
</select>';
?>
///.....
$list=(empty($_POST['list']) ? '' : $_POST['list']);
///... in de form
echo '<select name="list">
<option value="-1">Select One</option>
<option value="banaan"' . ($list == 'banaan' ? ' selected' : '') . '>One</option>
<option value="2"' . ($list == 2 ? ' selected' : '') . '>Two</option>
</select>';
?>
aah ok :) excuus, nu begrijp ik ook (hopelijk) beter dat het makkelijk is om deze staische list om te zetten naar een dynamische.
Code (php)
1
2
2
<?php
echo ' <option value= "' . $row['klant'] . '" ' . ($klant == ' . $row['klant'] . ' ? ' selected' : '') . ' >' . $row['klant'] . '</option>';?>
echo ' <option value= "' . $row['klant'] . '" ' . ($klant == ' . $row['klant'] . ' ? ' selected' : '') . ' >' . $row['klant'] . '</option>';?>
ergens hier denk ik?..:
(syntax error, unexpected T_STRING...)
Gewijzigd op 01/01/1970 01:00:00 door david david
Met de functie sprintf kan je algouw veel kanten op, en blijft het netjes en overzichtelijk!
Code (php)
Gewijzigd op 01/01/1970 01:00:00 door Dutch Caffeine
Hier staat LETTERLIJK dat er een string is gekomen waar dat niet hoeft.
En blijkbaar weet jij zelf ook al waar je fout zit.
Wat is je probleem dan?
Code (php)
1
2
3
2
3
<?
echo ' <option value= "' . $row['klant'] . '" ' . ($klant == $row['klant'] ? ' selected' : '') . '>' . $row['klant'] . '</option>'.PHP_EOL;
?>
echo ' <option value= "' . $row['klant'] . '" ' . ($klant == $row['klant'] ? ' selected' : '') . '>' . $row['klant'] . '</option>'.PHP_EOL;
?>
zo werkt het idd :)