Hoe zet ik de Standaard Value op 0/leeg?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Robin B

Robin B

20/03/2013 15:58:49
Quote Anchor link
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 -->
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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>';
                                ?>

<!-- End CONTACT -->

Groeten,

Robin
 
PHP hulp

PHP hulp

04/05/2024 13:59:00
 
Donny Wie weet

Donny Wie weet

20/03/2013 16:04:00
Quote Anchor link
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.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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>';
                  ?>
Gewijzigd op 20/03/2013 16:14:55 door Donny Wie weet
 
- SanThe -

- SanThe -

20/03/2013 16:05:27
Quote Anchor link
Als eerste option een lege neerzetten.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
echo '<select id="Con_Firstname_Prefix_Surname" name="Con_Firstname_Prefix_Surname">';
echo '<option value="">Maak een keuze</option>';
while()                            }
//...
?>


Toevoeging op 20/03/2013 16:07:47:

Donny Wie weet op 20/03/2013 16:04:00:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
                                echo '<option value="" selected="selected">Dit is een leeg veld</option>';
                                echo '<select id="Con_Firstname_Prefix_Surname" name="Con_Firstname_Prefix_Surname">';
?>


Maar dan toch niet vóór <select> lijkt mij.
 
Robin B

Robin B

20/03/2013 16:10:24
Quote Anchor link
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
 
Donny Wie weet

Donny Wie weet

20/03/2013 16:14:01
Quote Anchor link
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
 
Robin B

Robin B

20/03/2013 16:17:17
Quote Anchor link
@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 ?
Gewijzigd op 20/03/2013 16:18:17 door Robin B
 
Donny Wie weet

Donny Wie weet

20/03/2013 16:29:31
Quote Anchor link
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
 
Ward van der Put
Moderator

Ward van der Put

20/03/2013 16:43:01
Quote Anchor link
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
 
Eddy E

Eddy E

20/03/2013 19:05:37
Quote Anchor link
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:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<option value="false" selected="selected" disabled>Maak een keuze</option>
 
Robin B

Robin B

21/03/2013 10:29:38
Quote Anchor link
Thanks allemaal!
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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>';
                                ?>


zo heb ik het nu, nu kan ik geen "Selecteer een contactpersoon meer selecteren als ik erin heb geklikt :D"
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.