Hoe zet ik de Standaard Value op 0/leeg?
Hallo, ik ben redelijk nieuw met Php en MySQL, Ik wil graag dat hij standaard de selectiebox leeg laat.
Wat moet ik veranderen aan deze code?
<!-- SELECT CONTACT -->
<!-- End CONTACT -->
Groeten,
Robin
Wat moet ik veranderen aan deze code?
<!-- SELECT CONTACT -->
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$result=mysql_query("
SELECT Con_FirstName, Con_Prefix, Con_SurName, Con_ID FROM tbl_contact;")
or die(mysql_error());
echo '<label for="Con_Firstname_Prefix_Surname">Contact:*</label>';
echo '<select id="Con_Firstname_Prefix_Surname" name="Con_Firstname_Prefix_Surname">';
while ($row = mysql_fetch_assoc($result))
{
echo '<option value="'.$row['Con_ID'].'">'.$row['Con_FirstName'].' '.($row['Con_Prefix'] == '' ? '' : $row['Con_Prefix'].' ').$row['Con_SurName'].'</option>';
}
echo '</select>';
?>
$result=mysql_query("
SELECT Con_FirstName, Con_Prefix, Con_SurName, Con_ID FROM tbl_contact;")
or die(mysql_error());
echo '<label for="Con_Firstname_Prefix_Surname">Contact:*</label>';
echo '<select id="Con_Firstname_Prefix_Surname" name="Con_Firstname_Prefix_Surname">';
while ($row = mysql_fetch_assoc($result))
{
echo '<option value="'.$row['Con_ID'].'">'.$row['Con_FirstName'].' '.($row['Con_Prefix'] == '' ? '' : $row['Con_Prefix'].' ').$row['Con_SurName'].'</option>';
}
echo '</select>';
?>
<!-- End CONTACT -->
Groeten,
Robin
Even een lege option tussen gooien voor je while:
De code selected="selected" zal zorgen dat de option die deze waarde bevat als eerste zichtbaar is.
De code selected="selected" zal zorgen dat de option die deze waarde bevat als eerste zichtbaar is.
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
<?php
$result=mysql_query("
SELECT Con_FirstName, Con_Prefix, Con_SurName, Con_ID FROM tbl_contact;")
or die(mysql_error());
echo '<label for="Con_Firstname_Prefix_Surname">Contact:*</label>';
echo '<select id="Con_Firstname_Prefix_Surname" name="Con_Firstname_Prefix_Surname">';
//Zie hier:
echo '<option value="" selected="selected">Dit is een leeg veld</option>';
// Een leeg veld met een eigen waarde die niet uit de database gehaald wordt
while ($row = mysql_fetch_assoc($result))
{
echo '<option value="'.$row['Con_ID'].'">'.$row['Con_FirstName'].' '.($row['Con_Prefix'] == '' ? '' : $row['Con_Prefix'].' ').$row['Con_SurName'].'</option>';
}
echo '</select>';
?>
$result=mysql_query("
SELECT Con_FirstName, Con_Prefix, Con_SurName, Con_ID FROM tbl_contact;")
or die(mysql_error());
echo '<label for="Con_Firstname_Prefix_Surname">Contact:*</label>';
echo '<select id="Con_Firstname_Prefix_Surname" name="Con_Firstname_Prefix_Surname">';
//Zie hier:
echo '<option value="" selected="selected">Dit is een leeg veld</option>';
// Een leeg veld met een eigen waarde die niet uit de database gehaald wordt
while ($row = mysql_fetch_assoc($result))
{
echo '<option value="'.$row['Con_ID'].'">'.$row['Con_FirstName'].' '.($row['Con_Prefix'] == '' ? '' : $row['Con_Prefix'].' ').$row['Con_SurName'].'</option>';
}
echo '</select>';
?>
Gewijzigd op 20/03/2013 16:14:55 door Donny Wie weet
Als eerste option een lege neerzetten.
Toevoeging op 20/03/2013 16:07:47:
Maar dan toch niet vóór <select> lijkt mij.
Code (php)
Toevoeging op 20/03/2013 16:07:47:
Donny Wie weet op 20/03/2013 16:04:00:
Maar dan toch niet vóór <select> lijkt mij.
Thanks !En als ik nu wil dat bij jouw "Dit is een leeg veld" niet als optie in de dropdownbox komt ?
Gewijzigd op 20/03/2013 16:10:36 door Robin B
Robin B op 20/03/2013 16:10:24:
Thanks !En als ik nu wil dat bij jouw "Dit is een leeg veld" niet als optie in de dropdownbox komt ?
Dan moet je de hele <option></option> weg halen. Dan krijg je direct je resultaten.
@sanThe,
Was een foutje, ik kopieer normaal altijd script naar mn editor en bekjk ze dan. Deze zag er simpel uit... Blijkbaar niet simpel genoeg anders had ik geen fout gemaakt :P
Toevoeging op 20/03/2013 16:15:25:
En je moet even dat stukje nemen van "zie hier". Ik zag de fout tijdens scripten en heb toen gekopieerd, niet geknipt
@Donny Dan moet je de hele <option></option> weg halen. Dan krijg je direct je resultaten.
En dit is wel logisch om dit zo te doen ?
En dit is wel logisch om dit zo te doen ?
Gewijzigd op 20/03/2013 16:18:17 door Robin B
Als je een leeg veld wilt hebben in je SELECT menu, dan moet je de <option></option> laten staan. Zoniet, dan moet je em weg halen. Je kan tussen de <option>Ook een waarde zetten</option> dan is het veld niet blanco, maar bevat het de tekst "ook een waarde zetten"
Let erop dat je em niet in je while lus zet, dan word het lege vakje elke keer aangeroepen als er een resultaat is in je SQL query
Let erop dat je em niet in je while lus zet, dan word het lege vakje elke keer aangeroepen als er een resultaat is in je SQL query
De lege container <option></option> kan door browsers worden genegeerd en dan moet je voor tientallen browsers en browserversies gaan testen waar dat het geval is.
De oplossing van SanThe is eleganter en gebruikelijk in GUI's: toon een instructie of een placeholder. Bijvoorbeeld:
(selecteer een land)
België
Nederland
Of:
(land)
België
Nederland
De oplossing van SanThe is eleganter en gebruikelijk in GUI's: toon een instructie of een placeholder. Bijvoorbeeld:
(selecteer een land)
België
Nederland
Of:
(land)
België
Nederland
Of wellicht beter: gebruik datalist van html5: http://www.w3schools.com/tags/tryit.asp?filename=tryhtml5_datalist
Werkt nog niet overal, maar fatsoenlijk onderhouden browsers wel.
En dat schept legio voordelen: gewoon een input-veld (werkt altijd) met een soort van auto-suggestions, maar dan zonder kilobytes en massa Javascripts. Gewoon puur (simpele) HTML.
Je kan dan een placeholder (google maar) gebruiken als 'standaard' en toch een select gebruiken.
Met disabled kan je in je <select> ook dingen negeren, maar volgens mij wel selecteren.
Dus eerste optie:
Werkt nog niet overal, maar fatsoenlijk onderhouden browsers wel.
En dat schept legio voordelen: gewoon een input-veld (werkt altijd) met een soort van auto-suggestions, maar dan zonder kilobytes en massa Javascripts. Gewoon puur (simpele) HTML.
Je kan dan een placeholder (google maar) gebruiken als 'standaard' en toch een select gebruiken.
Met disabled kan je in je <select> ook dingen negeren, maar volgens mij wel selecteren.
Dus eerste optie:
Thanks allemaal!
zo heb ik het nu, nu kan ik geen "Selecteer een contactpersoon meer selecteren als ik erin heb geklikt :D"
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
$result=mysql_query("
SELECT Con_FirstName, Con_Prefix, Con_SurName, Con_ID FROM tbl_contact;")
or die(mysql_error());
echo '<label for="Con_Firstname_Prefix_Surname">Contact:*</label>';
echo '<select id="Con_Firstname_Prefix_Surname" name="Con_Firstname_Prefix_Surname">';
echo '<option value="false" selected="selected" disabled>Selecteer een contactpersoon</option>';
while ($row = mysql_fetch_assoc($result))
{
echo '<option value="'.$row['Con_ID'].'">'.$row['Con_FirstName'].' '.($row['Con_Prefix'] == '' ? '' : $row['Con_Prefix'].' ').$row['Con_SurName'].'</option>';
}
echo '</select>';
?>
$result=mysql_query("
SELECT Con_FirstName, Con_Prefix, Con_SurName, Con_ID FROM tbl_contact;")
or die(mysql_error());
echo '<label for="Con_Firstname_Prefix_Surname">Contact:*</label>';
echo '<select id="Con_Firstname_Prefix_Surname" name="Con_Firstname_Prefix_Surname">';
echo '<option value="false" selected="selected" disabled>Selecteer een contactpersoon</option>';
while ($row = mysql_fetch_assoc($result))
{
echo '<option value="'.$row['Con_ID'].'">'.$row['Con_FirstName'].' '.($row['Con_Prefix'] == '' ? '' : $row['Con_Prefix'].' ').$row['Con_SurName'].'</option>';
}
echo '</select>';
?>
zo heb ik het nu, nu kan ik geen "Selecteer een contactpersoon meer selecteren als ik erin heb geklikt :D"




