checkboxen aus db 2 tabellen und ergbnis aus array und "checked" geht nicht richtig

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • checkboxen aus db 2 tabellen und ergbnis aus array und "checked" geht nicht richtig

    Hallo,
    ich habe bereits hier im Forum und google alle möglichen Sachen ausprobiert aber ich komme einfach nicht weiter.
    Problem:
    In der einen Tabelle artikel habe ich das Feld "zusatz", in dem ein array über Formular mit Checkboxen gespeichert wurde. A,1,B oder A,B 1,A usw.
    In der 2. Tabelle zusatz habe ich die Felder kurzname und beschreibung bei Kurzname dann A oder B oder 1 usw . Dieser Tabelle können weitere Einträge hinzugefügt werden und werden bei Artikelanlage immer alle angezeigt mit Checkboxen.

    Jetzt möchte ich den DB Eintrag editieren und lasse mir den einzelnen Datensatz mit allen Formularfeldern anzeigen und greife auf zusatz hole das array mache kommas weg und mir werden alle checkboxen angezeigt die in zusatz angelegt sind aber ich bekomme es nicht hin die checkboxen auf checked zu setzen die bereits in feld zusatz in tabelle artikel drin sind.
    Also: Formular soll alle vorhanden Einträge in zusatz als checkboxen anzeigen und gleichzeitig gesetzte Werte aus tabelle artikel feld zusatz als aktiv setzen...

    PHP-Code:
    $stmt_zusatz $_myshop->prepare("SELECT zusatz.kurzname as zusatzkurzname,
    zusatz.beschreibung AS zusatzbeschreibung,
    artikel.id, artikel.zusatz AS artikelzusatze   
    FROM zusatz,artikel WHERE artikel.id=
    $id  LIMIT 0, 30");
    $stmt_zusatz->execute();

    while(
    $row $stmt_zusatz->fetch()) {
    $str $row['artikelzusatze'];
    $array_zu explode(','$str);

    if (
    $array_zu ==  $row['zusatzkurzname']) { 
    $check "checked=\"checked\""; } 
    echo 
    "<input type='checkbox' ".$check." name='zusatz[]'  value='".$row['zusatzkurzname']."' />".$row['zusatzbeschreibung']."&nbsp;(".$row['zusatzkurzname'].")";
    }

    Danke für Hilfe

  • #2
    Das ergibt keinen Sinn:
    Code:
    FROM zusatz,artikel
    Schreib bitte ordentliche Joins mit Join-Bedingungen. Also z.b:
    Code:
    FROM zusatz
    INNER JOIN artikel ON ( <hier deine Join-Bedingung> )
    Und warum heißt die Variable, die eine Datenbankverbindung beinhaltet, $_myshop? Du solltest dir aussagekräftigere Variablen überlegen. Genauso wie $array_zu einfach nur kryptisch und nichtssagend ist.

    Kommentar


    • #3
      Wenn ich richtig nachgelesen habe kann ich join aber nur dann benutzen wenn ich in beiden Tabellen den gleichen Wert in beiden tabellen spalten habe? Aber Tabelle zusatz enthält Kurzname wie A, 1, B oder A2 und Tabelle artikel in Spalte zusatz A,1,B oder A,B oder A.

      Kommentar


      • #4
        Zitat von luckyffm Beitrag anzeigen
        Wenn ich richtig nachgelesen habe kann ich join aber nur dann benutzen wenn ich in beiden Tabellen den gleichen Wert in beiden tabellen spalten habe? Aber Tabelle zusatz enthält Kurzname wie A, 1, B oder A2 und Tabelle artikel in Spalte zusatz A,1,B oder A,B oder A.
        Dann ist dein Datenbankdesign kaputt. Informier dich mal über Datenbanknormalisierung.

        Du solltest mehrere Werte nicht in einer Spalte mit Komma getrennt speichern.

        Kommentar


        • #5
          Ok, hast du dann einen Tipp für mich? Ich speicher aus dem Formular für neuen Artikel die Werte der Checkboxen als array in einer Spalte. Die Liste der checkboxen wird individuell erstellt und es kommen welche dazu oder werden gelöscht. Also weiss ich nicht vorher wieviel Checkboxen es geben wird. Und wie gesagt ich bekomm allles ausgelesen und richtig angezeigt das einzige Problem ist wenn ich die Liste Zusatz aufrufe über die Schleife ich die Checkboxen nicht aktiviert bekomme. Danke für deine Hilfe

          Kommentar

          Lädt...
          X