Hoe kan ik mijn PHP dropdown field werkend krijgen?
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
24
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Ik heb nu een dropdown menu wat verbonden is met een database. Het opslaan van de gekozen waarde in de database gaat goed, maar wanneer ik de dropdown waarde weer wil veranderen moet de waarde die in de database staat dus als SELECTED weergeven worden in de dropdown.
Ik heb het volgende stukje code:
div class="form_row clearfix">
<label><?php _e(DISTANCETOSTATION_TEXT);?> </label>
<select name="proprty_distance_station" id="proprty_distance_station" class="select_s">
<option value="<?php echo $proprty_distance_station;?>" SELECTED><?php echo $proprty_distance_station;?></option>
<option value="Unknown">Unknown</option>
<option value="5+km">5+ km</option>
<option value="2-5km">2 - 5 km</option>
<option value="1-2km">1 - 2 km</option>
<option value="500-1000m">500 - 1.000 m</option>
<option value="200-500m">200 - 500 m</option>
<option value="0-200m">0 - 200 m</option>
</select>
</div>
Nu heb ik dus dat hij de SELECTED waarde uit de database haalt en boven aanzet maar dat wil ik niet. Ik wil dat hij de waarde in de dropdown markeert en als onthoude waarde weergeeft.
MISSCHIEN IS HET NIET HELEMAAL DUIDELIJK UITGELEGD, MAAR DMV DE BIJGEVOEGDE AFBEELDING IS MIJN PROBLEEM GELIJK DUIDELIJK
[img]http://www.freebits.nl/images/438help.png[/img]
Ik heb het volgende stukje code:
div class="form_row clearfix">
<label><?php _e(DISTANCETOSTATION_TEXT);?> </label>
<select name="proprty_distance_station" id="proprty_distance_station" class="select_s">
<option value="<?php echo $proprty_distance_station;?>" SELECTED><?php echo $proprty_distance_station;?></option>
<option value="Unknown">Unknown</option>
<option value="5+km">5+ km</option>
<option value="2-5km">2 - 5 km</option>
<option value="1-2km">1 - 2 km</option>
<option value="500-1000m">500 - 1.000 m</option>
<option value="200-500m">200 - 500 m</option>
<option value="0-200m">0 - 200 m</option>
</select>
</div>
Nu heb ik dus dat hij de SELECTED waarde uit de database haalt en boven aanzet maar dat wil ik niet. Ik wil dat hij de waarde in de dropdown markeert en als onthoude waarde weergeeft.
MISSCHIEN IS HET NIET HELEMAAL DUIDELIJK UITGELEGD, MAAR DMV DE BIJGEVOEGDE AFBEELDING IS MIJN PROBLEEM GELIJK DUIDELIJK
[img]http://www.freebits.nl/images/438help.png[/img]
Gewijzigd op 14/02/2012 18:07:09 door Engin C
<option selected value="distance">200 - 500 m</option>
Edit; ik keek naar de afbeelding en niet naar de tekst. sorry.
je kan met een while alle opties nalopen en kijken of je optie daartussen zit?
Gewijzigd op 14/02/2012 17:40:01 door Maestro Roboroads
kan je misschien alles tussen [.code] [./code] zetten ( zonder de puntjes ) dan is het wat beter leesbaar voor iedereen :)
Amcuk siktir op 14/02/2012 18:07:39:
Ok heb het als code gezet.
Je hebt nu iets te veel tussen code tags gezet. De bedoeling is alleen je script.
een array maken met distances, vervolgens er door heen loopen en per item een <option> aanmaken. Indien het huidige element gelijk is aan $proprty_distance_station moet je het selected attribuut setten.
Het gaat dan vooral om de herhaling van de volgende code:
<option value="5+ km">5+ km</option>
<option value="2 - 5 km">2 - 5 km</option>
<option value="1 - 2 km">1 - 2 km</option>
<option value="500 - 1000 m">500 - 1.000 m</option>
<option value="200 - 500 m">200 - 500 m</option>
<option value="0 - 200 m">0 - 200 m</option>';
De bovenstaande code wordt elke keer opnieuw herhaald wat ik slecht vind, maar ik kan niet zo snel een alternatief verzinnen.
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
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
function get_proprty_distance_station_dl($proprty_distance_station)
{
switch ($proprty_distance_station){
case "":
echo '<option value="Unknown">Unknown</option>
<option value="5+ km">5+ km</option>
<option value="2 - 5 km">2 - 5 km</option>
<option value="1 - 2 km">1 - 2 km</option>
<option value="500 - 1000 m">500 - 1.000 m</option>
<option value="200 - 500 m">200 - 500 m</option>
<option value="0 - 200 m">0 - 200 m</option>';
break;
case "Unknown":
echo '<option value="Unknown" SELECTED>Unknown</option>
<option value="5+ km">5+ km</option>
<option value="2 - 5 km">2 - 5 km</option>
<option value="1 - 2 km">1 - 2 km</option>
<option value="500 - 1000 m">500 - 1.000 m</option>
<option value="200 - 500 m">200 - 500 m</option>
<option value="0 - 200 m">0 - 200 m</option>';
break;
case "5+ km":
echo '<option value="Unknown">Unknown</option>
<option value="5+ km" SELECTED>5+ km</option>
<option value="2 - 5 km">2 - 5 km</option>
<option value="1 - 2 km">1 - 2 km</option>
<option value="500 - 1000 m">500 - 1.000 m</option>
<option value="200 - 500 m">200 - 500 m</option>
<option value="0 - 200 m">0 - 200 m</option>';
break;
case "2 - 5 km":
echo '<option value="Unknown">Unknown</option>
<option value="5+ km">5+ km</option>
<option value="2 - 5 km" SELECTED>2 - 5 km</option>
<option value="1 - 2 km">1 - 2 km</option>
<option value="500 - 1000 m">500 - 1.000 m</option>
<option value="200 - 500 m">200 - 500 m</option>
<option value="0 - 200 m">0 - 200 m</option>';
break;
case "1 - 2 km":
echo '<option value="Unknown">Unknown</option>
<option value="5+ km">5+ km</option>
<option value="2 - 5 km">2 - 5 km</option>
<option value="1 - 2 km" SELECTED>1 - 2 km</option>
<option value="500 - 1000 m">500 - 1.000 m</option>
<option value="200 - 500 m">200 - 500 m</option>
<option value="0 - 200 m">0 - 200 m</option>';
break;
case "500 - 1000 m":
echo '<option value="Unknown">Unknown</option>
<option value="5+ km">5+ km</option>
<option value="2 - 5 km">2 - 5 km</option>
<option value="1 - 2 km">1 - 2 km</option>
<option value="500 - 1000 m" SELECTED>500 - 1.000 m</option>
<option value="200 - 500 m">200 - 500 m</option>
<option value="0 - 200 m">0 - 200 m</option>';
break;
case "200 - 500 m":
echo '<option value="Unknown">Unknown</option>
<option value="5+ km">5+ km</option>
<option value="2 - 5 km">2 - 5 km</option>
<option value="1 - 2 km">1 - 2 km</option>
<option value="500 - 1000 m">500 - 1.000 m</option>
<option value="200 - 500 m" SELECTED>200 - 500 m</option>
<option value="0 - 200 m">0 - 200 m</option>';
break;
case "0 - 200 m":
echo '<option value="Unknown">Unknown</option>
<option value="5+ km">5+ km</option>
<option value="2 - 5 km">2 - 5 km</option>
<option value="1 - 2 km">1 - 2 km</option>
<option value="500 - 1000 m">500 - 1.000 m</option>
<option value="200 - 500 m">200 - 500 m</option>
<option value="0 - 200 m" SELECTED>0 - 200 m</option>';
break;
}
}
{
switch ($proprty_distance_station){
case "":
echo '<option value="Unknown">Unknown</option>
<option value="5+ km">5+ km</option>
<option value="2 - 5 km">2 - 5 km</option>
<option value="1 - 2 km">1 - 2 km</option>
<option value="500 - 1000 m">500 - 1.000 m</option>
<option value="200 - 500 m">200 - 500 m</option>
<option value="0 - 200 m">0 - 200 m</option>';
break;
case "Unknown":
echo '<option value="Unknown" SELECTED>Unknown</option>
<option value="5+ km">5+ km</option>
<option value="2 - 5 km">2 - 5 km</option>
<option value="1 - 2 km">1 - 2 km</option>
<option value="500 - 1000 m">500 - 1.000 m</option>
<option value="200 - 500 m">200 - 500 m</option>
<option value="0 - 200 m">0 - 200 m</option>';
break;
case "5+ km":
echo '<option value="Unknown">Unknown</option>
<option value="5+ km" SELECTED>5+ km</option>
<option value="2 - 5 km">2 - 5 km</option>
<option value="1 - 2 km">1 - 2 km</option>
<option value="500 - 1000 m">500 - 1.000 m</option>
<option value="200 - 500 m">200 - 500 m</option>
<option value="0 - 200 m">0 - 200 m</option>';
break;
case "2 - 5 km":
echo '<option value="Unknown">Unknown</option>
<option value="5+ km">5+ km</option>
<option value="2 - 5 km" SELECTED>2 - 5 km</option>
<option value="1 - 2 km">1 - 2 km</option>
<option value="500 - 1000 m">500 - 1.000 m</option>
<option value="200 - 500 m">200 - 500 m</option>
<option value="0 - 200 m">0 - 200 m</option>';
break;
case "1 - 2 km":
echo '<option value="Unknown">Unknown</option>
<option value="5+ km">5+ km</option>
<option value="2 - 5 km">2 - 5 km</option>
<option value="1 - 2 km" SELECTED>1 - 2 km</option>
<option value="500 - 1000 m">500 - 1.000 m</option>
<option value="200 - 500 m">200 - 500 m</option>
<option value="0 - 200 m">0 - 200 m</option>';
break;
case "500 - 1000 m":
echo '<option value="Unknown">Unknown</option>
<option value="5+ km">5+ km</option>
<option value="2 - 5 km">2 - 5 km</option>
<option value="1 - 2 km">1 - 2 km</option>
<option value="500 - 1000 m" SELECTED>500 - 1.000 m</option>
<option value="200 - 500 m">200 - 500 m</option>
<option value="0 - 200 m">0 - 200 m</option>';
break;
case "200 - 500 m":
echo '<option value="Unknown">Unknown</option>
<option value="5+ km">5+ km</option>
<option value="2 - 5 km">2 - 5 km</option>
<option value="1 - 2 km">1 - 2 km</option>
<option value="500 - 1000 m">500 - 1.000 m</option>
<option value="200 - 500 m" SELECTED>200 - 500 m</option>
<option value="0 - 200 m">0 - 200 m</option>';
break;
case "0 - 200 m":
echo '<option value="Unknown">Unknown</option>
<option value="5+ km">5+ km</option>
<option value="2 - 5 km">2 - 5 km</option>
<option value="1 - 2 km">1 - 2 km</option>
<option value="500 - 1000 m">500 - 1.000 m</option>
<option value="200 - 500 m">200 - 500 m</option>
<option value="0 - 200 m" SELECTED>0 - 200 m</option>';
break;
}
}
Gewijzigd op 14/02/2012 21:39:09 door Engin C
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
function get_proprty_distance_station_dl($proprty_distance_station)
{
$values = array( "Unknown",
"5+ km",
"2 - 5 km",
"1 - 2 km",
"500 - 1000 m",
"200 - 500 m",
"0 - 200 m"
);
foreach($values as $value)
{
$selected = ($value == $proprty_distance_station) ? ' selected ' : '';
echo '<option value="' . $value . '"' . $selected . '>' . $value . '</option>';
}
}
?>
function get_proprty_distance_station_dl($proprty_distance_station)
{
$values = array( "Unknown",
"5+ km",
"2 - 5 km",
"1 - 2 km",
"500 - 1000 m",
"200 - 500 m",
"0 - 200 m"
);
foreach($values as $value)
{
$selected = ($value == $proprty_distance_station) ? ' selected ' : '';
echo '<option value="' . $value . '"' . $selected . '>' . $value . '</option>';
}
}
?>
Gewijzigd op 14/02/2012 22:47:07 door - SanThe -
Toevoeging op 15/02/2012 13:24:14:
HOE KAN IK MIJN VRAAG SLUITEN, AANGEZIEN IK HET ANTWOORD AL GEKREGEN HEB?
Ik wil dus de "Unknown", "5+", "2-5"...etc vervangen door 16,17,18 ........ tm 100 maar hoe kan ik dit het beste doen?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function get_proprty_minage_dl($proprty_minage)
{
$values = array( "Unknown",
"5+ km",
"2 - 5 km",
"1 - 2 km",
"500 - 1000 m",
"200 - 500 m",
"0 - 200 m"
);
foreach($values as $value)
{
$selected = ($value == $proprty_minage) ? ' selected ' : '';
echo '<option value="' . $value . '"' . $selected . '>' . $value . '</option>';
}
}
{
$values = array( "Unknown",
"5+ km",
"2 - 5 km",
"1 - 2 km",
"500 - 1000 m",
"200 - 500 m",
"0 - 200 m"
);
foreach($values as $value)
{
$selected = ($value == $proprty_minage) ? ' selected ' : '';
echo '<option value="' . $value . '"' . $selected . '>' . $value . '</option>';
}
}
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
<?php
function get_proprty_distance_station_dl($proprty_distance_station)
{
$values = array_merge(array("Unknown"), range(16,100));
foreach($values as $value)
{
$selected = ($value == $proprty_distance_station) ? ' selected ' : '';
echo '<option value="' . $value . '"' . $selected . '>' . $value . '</option>';
}
}
?>
function get_proprty_distance_station_dl($proprty_distance_station)
{
$values = array_merge(array("Unknown"), range(16,100));
foreach($values as $value)
{
$selected = ($value == $proprty_distance_station) ? ' selected ' : '';
echo '<option value="' . $value . '"' . $selected . '>' . $value . '</option>';
}
}
?>
Toevoeging op 17/02/2012 23:01:27:
Ok snap het al die unknown is niet nodig, aangezien ik het bij 16 wil laten beginnen. Erg bedankt voor je hulp! :)
$values = range(16,100);