Juiste waarde in selectbox zien

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Willem L

Willem L

16/11/2014 16:34:25
Quote Anchor link
Bij het opvragen van gegevens vanuit de database moet de selectbox de juiste index tonen.
De selectbox bevat 3 items.
Gegevens worden bijv. als 2,B weggeschreven.
Bij het ophalen van gegevens wil ik dan ook
de juiste tekst in de selectbox zien.
Zoals het nu gaat plaats hij de gegevens naast de
selectbox en blijft de selectbox op -Selecteer wijk- staan.
Ben er nu een paar dagen mee bezig, maar helaas lukt het me niet.
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
        echo '<p>'.PHP_EOL;
        echo '<label for="wijk" class="align_text">Wijk:</label>'.PHP_EOL;
    echo '<select id="cmbwijk" name="wijk">'.PHP_EOL;
        echo '<option value="0">Selecteer wijk</option>'.PHP_EOL;
        echo '<option value="1, --">--</option>'.PHP_EOL;
        echo '<option value="2, B">Buytenwegh</option>'.PHP_EOL;
        echo '<option value="3, L">de Leyens</option>'.PHP_EOL;
        
        $wijkselectie= explode(',',$wijk);
        echo '<option value="'.$wijkselectie[0].'">'.$wijkselectie[1].'</option>';        
        //echo $wijkselectie[0];
        //echo $wijkselectie[1];
        echo '</select>'.PHP_EOL;
        echo '</p>'.PHP_EOL;
Gewijzigd op 16/11/2014 16:37:09 door Willem L
 
PHP hulp

PHP hulp

27/04/2024 05:59:40
 
Pipo Clown

Pipo Clown

16/11/2014 17:08:08
Quote Anchor link
Wat doen al die PHP_EOL's in je code ? DIe heb ik de afgelopen 15 jaar nog nooit gebruikt.

Waar krijgt de variable $wijk zijn waarde ?

Ik zou nog eens goed kijken naar het gecombineerde gebruik vam HTML en PHP, ik heb een beetje het idee dat je het nog niet helemaal begrijpt.
 
Willem L

Willem L

16/11/2014 18:56:46
Quote Anchor link
$data = mysql_fetch_array($result);
$wijk = stripslashes($data['wijk']);
Hier komt de waarde uit bijv. 2,B
 
Pipo Clown

Pipo Clown

16/11/2014 21:48:15
Quote Anchor link
Het is mij nog niet echt duidelijk wat je nu wilt en waar het mis gaat.
Heb je al eens gekeken of $wijk wel de juiste gegevens terug krijgt uit de database ? (echo $wijk;)
 
Willem L

Willem L

16/11/2014 23:02:03
Quote Anchor link
Bij de invoer van nieuwe gegevens zoals naam voornaam enz.
Zo kan ik de selectbox gebruiken om een keuze te maken.
Dit wordt in kolom wijk weggeschreven als bijv. 2,B naar de database.
Als ik gegevens van een bepaald persoon wil wijzigen worden de
velden vanuit de database gevuld. $wijk geeft dan 2,B terug terug.
Dus als $wijk 2,B is wil ik dat de selectbox dan ook Buytenwegh weergeeft.
en dat wannneer ik die data wil wijzigen dat ook weer kan en alles kan wegschrijven naar de
database
Gewijzigd op 16/11/2014 23:03:32 door Willem L
 
Frank Nietbelangrijk

Frank Nietbelangrijk

17/11/2014 00:58:24
Quote Anchor link
Willem,

Omdat het niet erg degelijk klinkt geef ik hieronder aan hoe het volgens mij zou moeten:

Ik begrijp dat je een keuze wilt maken uit een aantal wijken. Deze wijken staan al in de database, laten we aannemen in de tabel 'wijken'.

Deze tabel zou een primaire sleutel moeten hebben, zeg maar een uniek id.
Dit id zou de value moeten worden van de <option>

Dus stel je hebt deze tabel:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
wijken:
========================
id | code | omschrijving
========================
1  | 1,-- | --
2  | 2, B | Buytenwegh
3  | 3, L | de Leyens


dan komen je opties er zo uit te zien:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<option value="1">--</option>
<option value="2">Buytenwegh</option>
<option value="3">de Leyens</option>


Mocht je nou perse ook nog de code nodig hebben voor in je javascript dan kun je gebruik maken van het data- attribuut:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<option data-code="1,--" value="1">--</option>
<option data-code="2, B" value="2">Buytenwegh</option>
<option data-code="3, L" value="3">de Leyens</option>
Gewijzigd op 17/11/2014 00:59:40 door Frank Nietbelangrijk
 
H Kse

H Kse

17/11/2014 01:43:56
Quote Anchor link
Waarom sla je de 'wijk' namen niet gelijk op in je database i.p.v. the value '2, B' etc.
Dit kan gemakkelijk met jQuery,
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
$('#form-id).on('submit', function(){
   //Dit geeft de geselecteerd wijk naam weer i.p.v values
   console.log($("#select-id option:selected").text())
});
 
Willem L

Willem L

17/11/2014 11:42:49
Quote Anchor link
@Frank Nietbelangrijk
Op dit moment schrijft hij de data weg als '$wijk'
dit bevat dan '2,B'
Bij het opvragen van gegevens om te wijzigen wil ik dat de selectbox
dan ook 'Buytenwegh' toont, dus option value= 2 met tekst: Buytenwegh.

Door gebruikmaking van navolgende code,
Gebeurt er niets met de selectbox
alleen de variabele (tekst) komt naast de selectbox te staan,
waarom selecteer hij dan niet de selectbox?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
$wijkselectie= explode(',',$wijk);// $wijk geeft 2,B terug
echo '<option value="'.$wijkselectie[0].'">'.$wijkselectie[1].'</option>';        
        //echo $wijkselectie[0]; geeft 2
        //echo $wijkselectie[1]; geeft B
[/CODE]
Gewijzigd op 17/11/2014 11:46:22 door Willem L
 
- SanThe -

- SanThe -

17/11/2014 12:05:27
Quote Anchor link
Waarom die extra letter in de database?
Je hebt alleen het id nodig.
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
<?php
$waarde_uit_database
= 2;

$selectArray = array(    'Selecteer wijk',
                        '--',
                        'Buytenwegh',
                        'de Leyens'
                    );
                    
echo '<select id="cmbwijk" name="wijk">'.PHP_EOL;
    foreach($selectArray as $key => $value)
    {
    $selected = ($waarde_uit_database == $key) ? ' selected' : '';
        echo '<option value="'.$key.'"'.$selected.'>'.$value.'</option>'.PHP_EOL;
    }

echo '</select>'.PHP_EOL;
?>
 
Willem L

Willem L

17/11/2014 13:20:17
Quote Anchor link
@ - San The -
Thanx
werkt, heb gelukkig nu alles werkend.
Mijn dank is zéér groot.


Toevoeging op 17/11/2014 19:51:13:

@San The
Toch nog één vraagje geldt dit ook voor een checkbox.
1 vanaf de DB aangevinkt en 0 niet aangevinkt
Gewijzigd op 17/11/2014 19:52:04 door Willem L
 
- SanThe -

- SanThe -

17/11/2014 21:39:37
Quote Anchor link
Ja, dan is het alleen checked in plaats van selected.
 
Willem L

Willem L

18/11/2014 09:42:27
Quote Anchor link
@San The
Krijg je dan zoiets?
ff ter lering, nog nooit gebruikt.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
echo '<p>'.PHP_EOL;
        $waarde_uit_database = $actief; // $actief= 0 of 1
        $selectArray = array('0','1');
         echo '<label for="actief" class="align_text">actief lid:</label>';                
        echo '<input type="checkbox" name="actief">';
        foreach($selectArray as $key => $value)
        {    $checked = ($waarde_uit_database == $key) ? ' checked' : '';
             echo '<value="'.$key.'"'.$checked.'>'.$value.''.PHP_EOL;

        }        
        echo '</p>'.PHP_EOL;[/CODE]
Gewijzigd op 18/11/2014 09:44:02 door Willem L
 
- SanThe -

- SanThe -

18/11/2014 11:58:35
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
$waarde_uit_database
= $actief; // $actief= 0 of 1
echo '<label for="actief" class="align_text">actief lid:</label>';  
$checked = ($waarde_uit_database == 1) ? ' checked' : '';              
echo '<input type="checkbox" name="actief" value="'.$key.'"'.$checked.'>'.$value.PHP_EOL;
?>
 
Willem L

Willem L

18/11/2014 14:23:26
Quote Anchor link
@San The
Bij de code de $value weggehaald, deze gaf value waarde door
van bovengelegen waarde van de selectbox.
Maar mijn dank is wederom groot.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
$selectArray
= array('0','1');
echo '<label for="actief" class="align_text">actief lid:</label>';  
foreach($selectArray as $key => $value)
$checked = ($actief == 1) ? ' checked' : '';              
echo '<input type="checkbox" name="actief" value="'.$key.'"'.$checked.'>'.PHP_EOL;
?>
Gewijzigd op 18/11/2014 15:13:07 door Willem L
 



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.