web-dev-qa-db-fra.com

PHP case à cocher pour vérifier en fonction de la valeur de la base de données

J'ai un système où les gens remplissent leurs informations et peuvent plus tard revenir en arrière et éditer certaines parties, essentiellement l'entrée d'informations personnelles et vérifier s'ils veulent savoir des informations supplémentaires, ces informations supplémentaires sont des cases à cocher, dont 4. l'utilisateur sélectionnera jusqu'à 4 personnes et la base de données contient 4 champs définis sur non. S'ils en sélectionnent un, ils deviennent oui. Je veux qu’ils puissent revenir en arrière et désélectionner ou resélectionner l’une de ces 4 cases à cocher, c’est pourquoi je veux que les cases à cocher soient sélectionnées si les valeurs sont oui et non sélectionnées si la valeur n’est pas.

les champs sont tag_1, tag_2, tag_3, tag_4 

Anyhelp grandement apprécié

Je comprends une sorte d’instruction if mais je ne sais pas comment l’impliquer dans une case à cocher.

<label for="tag_1">Tag 1</label>
<input type="checkbox" name="tag_1" id="tag_1" value="yes" />

Ian

11
snookian

Extrayez les informations de la base de données pour les champs de case à cocher. Modifiez ensuite l'exemple de ligne ci-dessus en: (Ce code suppose que vous avez récupéré les informations relatives à l'utilisateur dans un tableau associatif appelé dbvalue et que les noms de champs de la base de données correspondent à ceux du formulaire HTML).

<input type="checkbox" name="tag_1" id="tag_1" value="yes" <?php echo ($dbvalue['tag_1']==1 ? 'checked' : '');?>>

Si vous recherchez le code pour tout faire pour vous, vous êtes au mauvais endroit.

42
DaveyBoy

Ajouter ce code dans votre tag d'entrée

<?php if ($tag_1 == 'yes') echo "checked='checked'"; ?>
6
Damien

Cette façon la plus simple est d’ajouter l’attribut "vérifié".

<label for="tag_1">Tag 1</label>
<input type="checkbox" name="tag_1" id="tag_1" value="yes" 
    <?php if($tag_1_saved_value === 'yes') echo 'checked="checked"';?> />
2
Dan

Utilisez l'attribut checked="checked" si vous souhaitez que votre case à cocher soit cochée. 

1
NicoDeug

Vous pouvez lire la valeur de la base de données dans une variable, puis définir la variable comme suit

$app_container->assign('checked_flag', $db_data=='0'  ? '' : 'checked');

Et en html, vous pouvez simplement utiliser la variable checked_flag comme suit

<input type="checkbox" id="chk_test" name="chk_test" value="1" {checked_flag}>
0
Shriganesh Shintre