it-swarm.com.de

PHP Kontrollkästchen für die Überprüfung basierend auf dem Datenbankwert festgelegt

Ich habe ein System, in dem die Leute ihre Informationen eingeben und später bestimmte Teile bearbeiten können, im Grunde die persönlichen Daten eingeben und prüfen, ob sie zusätzliche Informationen erhalten möchten. Diese zusätzlichen Informationen sind Kontrollkästchen, 4 davon. Der Benutzer wählt bis zu einem der 4 Felder aus und die Datenbank verfügt über 4 Felder, die auf Nein gesetzt sind. Wenn sie eines auswählen, ändert sich das Feld in Ja. Ich möchte, dass sie in der Lage sind, eines dieser 4 Kontrollkästchen abzuwählen oder erneut zu aktivieren. Was also für die Kontrollkästchen aktiviert werden soll, wenn die Werte "Ja" und "Nicht ausgewählt" sind, wenn der Wert nicht lautet.

die Felder sind Tag_1, Tag_2, Tag_3, Tag_4 

AnyHelp sehr geschätzt

Ich sammle eine if-Anweisung, weiß aber nicht, wie sie in ein Kontrollkästchen eingefügt werden soll.

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

Ian

11
snookian

Extrahieren Sie die Informationen aus der Datenbank für die Kontrollkästchenfelder. Ändern Sie als Nächstes die obige Beispielzeile in: (Dieser Code setzt voraus, dass Sie die Informationen für den Benutzer in einem assoziativen Array mit dem Namen dbvalue abgerufen haben und die DB-Feldnamen mit denen im HTML-Formular übereinstimmen.)

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

Wenn Sie nach dem Code suchen, der alles für Sie erledigt, sind Sie an der falschen Stelle.

42
DaveyBoy

Fügen Sie diesen Code in Ihr Eingabe-Tag ein

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

Diese einfachste Möglichkeit besteht darin, das "geprüfte Attribut" hinzuzufügen.

<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

Verwenden Sie das checked="checked"-Attribut, wenn Sie das Kontrollkästchen aktivieren möchten. 

1
NicoDeug

Sie können den Datenbankwert in eine Variable einlesen und die Variable dann wie folgt einstellen

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

Und in HTML können Sie die Variable checked_flag wie folgt verwenden

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