Jochen: Radiobuttons vorbelegen

Beitrag lesen

Hallo Rolf,

wenn Du mehrfach eine Radiobutton-Gruppe für "iO" / "niO" erzeugen musst, dann kann es sich anbieten, das in eine Funktion auszulagern.

Ja, das könnte ich machen.

aufzubereiten. Hat deine Seite eine Art Checkliste, bestehend aus Frage und iO/nIO Gruppe? In dem Fall wäre eine Funktion sinnvoll, die eine vollständige Zeile der Checkliste ausgibt und man kann sich Gedanken über eine Steuertabelle für diese Checkliste machen.

Ganz genau so ist es. Eine Zeile besteht aus einer Frage und/oder einem Messwert und der anschließenden Beurteilung, ob das als iO oder niO zu beurteilen ist.

Beachte dabei: Der Text für ein input-Element muss als <label> ins HTML.

Stimmt.

Eine Funktion, die das oben stehende Fragment ausgibt, könnte so aussehen:

function erzeugeIORadiogruppe($name, $wert) {
?>
<label>
  <input type="radio" name="<?= $name ?>" 
         value="1" <?= $wert == 1 ? "checked" : "" ?>> iO
</label>
<label>
  <input type="radio" name="<?= $name ?>" 
         value="0" <?= $wert == 1 ? "" : "checked" ?>> niO
</label>
<?php
}

Beachte, dass die Funktion die PHP Umgebung verlässt, um HTML auszugeben. Nur bei Bedarf wird mit <?= ... ?> mal kurz nach PHP zurückgekehrt, um einen Wert aus PHP zu holen.

Ich versteh den Code schon, aber klar, Du weißt natürlich nicht, wo ich wissenstechnisch gerade stehe. Ich mag nur den Syntaxwechsel zwischen php und html gar nicht. Ich mag viel lieber, wenn php den html-Code generiert. Das sollte aber erstmal nebensächlich sein.

Ich knabbere grad erstmal daran, warum mein assoziatives Array nicht so will, wie ich wollen würde 😉

Jochen