Felix Riesterer: Individuelle Datenbankzugriffe einrichten

Beitrag lesen

problematische Seite

Lieber borisbaer,

Du kannst drei Zustände für einen Wert als Radio-Buttons realisieren. Für jeden User bildest Du ein Set an Radio-Buttons ab:

<fieldset>
  <legend>Einstellungen</legend>
  <form method="POST">
    <dl>
      <dt>Dark-Mode</dt>
      <dd>
        <label for="user_0001_setting_0001_value_0">
            <input
              name="user_0001_setting_0001"
              type="radio"
              value="0"
              id="user_0001_setting_0001_value_0"
            >
            Habe ich nicht
        </label>
        <label for="user_0001_setting_0001_value_1">
            <input
              name="user_0001_setting_0001"
              type="radio"
              value="1"
              id="user_0001_setting_0001_value_1"
            >
            Habe ich
        </label>
        <label for="user_0001_setting_0001_value_2">
            <input
              name="user_0001_setting_0001"
              type="radio"
              value="2"
              id="user_0001_setting_0001_value_2"
            >
            Will ich nicht
        </label>
      </dd>
      <dt>Display MOTD</dt>
      <dd>
        <label for="user_0001_setting_0002_value_0">
            <input
              name="user_0001_setting_0002"
              type="radio"
              value="0"
              id="user_0001_setting_0002_value_0"
            >
            Habe ich nicht
        </label>
        <label for="user_0001_setting_0002_value_1">
            <input
              name="user_0001_setting_0002"
              type="radio"
              value="1"
              id="user_0001_setting_0002_value_1"
            >
            Habe ich
        </label>
        <label for="user_0001_setting_0002_value_2">
            <input
              name="user_0001_setting_0002"
              type="radio"
              value="2"
              id="user_0001_setting_0002_value_2"
            >
            Will ich nicht
        </label>
      </dd>
    </dl>
  </form>
</fieldset>

Anstatt drei Radio-Buttons mit identischen name-Attributewerten kannst Du auch sein <select> verwenden. Ob das besser zu bedienen ist, kann ich nicht sagen. Auch weiß ich nicht, wie Du mit dem Fall "unbekannt" umgehen willst. In der DB wird dann als Wert sicherlich null stehen. Das wäre dann auch zu setzen, wenn beim Speichern kein (passender) Wert ankommt. Willst Du das verhindern, wirst Du einem Radio-Button ein Attribut selected mitgeben müssen, was im Zweifel aber nicht verlässlich ist.

Liebe Grüße

Felix Riesterer