MySQL, Checkbox und Select

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • MySQL, Checkbox und Select

    Grüß euch,

    in der Tabelle "thema" habe ich die Spalte Type.
    In der Spalte Type habe habe ich 4 Einträge

    AS
    LS
    MS
    GS

    Lese ich alle Einträge jetzt aus, soll er AS, LS etc. je nachdem was drinne stecht direkt mit checked="checked markieren.
    Das ganze soll am Ende mit Smyrty ausgegeben werden.

    Ich habe da irgendwo einen Fehler drinne, komme aber nicht drauf.

    HTML-Quellcode

    1. <select>
    2. <option value=".....
    3. </select>



    PHP-Quellcode

    1. $sql = "SELECT * FROM " . THEME;
    2. $stmt = MyDB::getInstance()->prepare($sql);
    3. $stmt->execute();
    4. while ( $row = $stmt->fetch() )
    5. {
    6. if($row->type == 'checked'){
    7. echo '<input type="checkbox" name="'.$row->type.'" value="'.$row->type.'" checked="checked"/>';
    8. }else{
    9. echo '<input type="checkbox" name="'.$row->type.'" value="'.$row->type.'" />';
    10. }
    11. $theme[] = $row;
    12. }
    Alles anzeigen
  • Zeile 7: $row->type kann doch nur die vier Werte AS, LS, MS, GS annehmen?! Deswegen wird bei == 'checked' niemals true rauskommen, oder hast du noch eine zusätzliche Spalte?

    Verstehe ich deinen Code richtig, dass du die 4 Checkboxen ausgeben möchtest und bei den richtigen Häckchen setzen möchtest? Dann solltest du möglicherweise eher sowas nehmen (NICHT GETESTET):

    PHP-Quellcode

    1. $array = ['AS', 'LS', 'MS', 'GS'];
    2. for ($array as $item) {
    3. echo '<input type="checkbox" name="' . $item. '" value="' . $item . '"';
    4. if (in_array($row->type, $item)) {
    5. echo ' checked="checked"';
    6. }
    7. echo '/>';
    8. }
    Alles anzeigen