Als je in een database een value laad bijvoorbeeld van een kleur.
Er word een regel geladen en de kolom bevat de kleur blauw.

Hoe kan ik dan de radio button selecteren?


<input type="radio" value="blauw" name="color">
<input type="radio" value="rood" name="color">
<input type="radio" value="geel" name="color">
Zoiets ?

<?php
$checked = ( $row->kleur == 'blauw' ? 'checked' : '' );
?>
<input name="color" type="radio" <?php echo $checked; ?> value="<?php echo $row->kleur; ?>" /><?php echo $row->kleur; ?>
Of

<input type="radio" name="color" value="blauw" <? if($row['color'] == "blauw") print "selected";?> >
<input type="radio" name="color" value="geel" <? if($row['color'] == "geel") print "selected";?> >


*$row['gender'] veranderd naar $row[''color];
@Jop: Ik zou dan de volledige <?php tags gebruiken.
Als spul uit de database komt dan genereer je waarschijnlijk de formuliervelden ook dynamisch. De opties waaruit/die je kunt kiezen zijn ook vaak vastgelegd in de database. Daarom is het handig/verstandig om de formulier(veld)en dynamisch te genereren. Als je vervolgens een optie (kleur) toevoegt aan of verwijdert uit de database hoef je namelijk geen letter code in je formulier te veranderen - deze verandert automatisch mee.

Dus als je de kleur "groen" toevoegt dan pak je dus niet je aardappelstempel om die HTML toe te voegen maar repareer je dit dus fatsoenlijk door de kleuren in een loopje te zetten :).

Dit alles valt onder een algemener devies: voorkom zoveel mogelijk hard coding.
Jop B op 03/04/2019 09:40:47


 <? if($row['gender'] == "blauw") print "selected";?>



Dat is raar! Mijn "gender" is "male" maar niet blauw of rood.
Avatars?


Jan
Blauw is man, rood/roze is vrouw... :-P

Maar het klopt inderdaad niet :-)
Dat werkt op deze manier niet, de beperking van css is dat een radiobutton niet te kleuren is. Een checkbox is een betere optie. Link : https://www.w3schools.com/howto/howto_css_custom_checkbox.asp
Heb het idee dat je wat aan de volgorde van de te volgen stappen moet doen, ruwe data in een database stoppen met daaraan een gegeven kleurtje heeft weinig nut, de data uit een database trekken en er daarna via een css-class een kleurtje aan geven is meer zinvol.

Reageren