Dynamische Checkboxes abfragen

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

  • Dynamische Checkboxes abfragen

    Hiho,

    folgende Frage:

    Ich lade aus einer Datanbank Kategorien. Die Kategorien können jederzeit frei erstellt werden.
    Nun kann einer Kategorie mehrere Einträge zugeordnet werden. Dies möchte ich über Checkboxes (ist das die Mehrzahl?) realisieren.

    Ich lade also die Kategorien und zeige für jede Kategorie eine Checkbox. Nach dem Submit will ich dementsprechend jeder makierten Kategorie den Eintrag zuweisen (Ein Eintrag kann mehreren Kategorien zugeordnet sein).

    Da die Kategorien eindeutige ID's haben sieht meine Idee bisher so aus, dass ich nochmal alle Kategorien auslese und deren ID's mit den ID's der Checkboxen abgleiche.

    Wäre aber sehr holprig. Gibt es da eine elegantere Methode?

    Danke im Vorraus
    Noro

  • #2
    Hab noch eine andere Stütze gefunden:

    if (isset($_REQUEST['cbutton'])) {
    reset($_REQUEST['cbutton']);
    foreach ($_REQUEST['cbutton'] as $k => $v) {
    print "$k $v\n";
    }


    Damit werd ichs erstmal probieren.

    Kommentar


    • #3
      Klar, du kannst deinen Checkboxen (so nenn ich die Mehrzahl, kA obs richtig ist ), ein Array als Name geben, also z.B. so:

      Code:
      <input type="checkbox" name="kategorie[1]" /> Hühner
      <input type="checkbox" name="kategorie[2]" /> Pferde
      <input type="checkbox" name="kategorie[3]" /> Kühe
      Du kriegst dann auf der Seite auf der du das Request erwartest ein Array mit eben den IDs die angeklickt sind. Notfalls einfach mal ein bisschen rumprobieren, dann findeste auch raus in welchem Format etc.

      EDIT:
      value fehlt natürlich, sorry
      Zuletzt geändert von ArSeN; 06.03.2009, 16:04.
      Nur wenige wissen, wieviel man wissen muss, um zu wissen, wie wenig man weiß.

      Kommentar


      • #4
        Ja, das auch ne möglichkeit.

        <input type="checkbox" name="cat[<?=$item->id>]"> Blubb


        Und auf der Seite die den Request bearbeitet kann ja alle cat[] abarbeiten. Muss nur schauen wie mans schreibst am besten ^^


        Edit:
        Code:
        foreach($_POST["cat"] as $item)
        {
        	echo $item["value"];
        }
        Klappt super ^^
        Zuletzt geändert von norodon; 06.03.2009, 17:40.

        Kommentar

        Lädt...
        X