mehrere checkboxen/radiobuttons in db einfügen

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

  • mehrere checkboxen/radiobuttons in db einfügen

    hallo lieber leser!

    ich hatte vor einigen wochen folgenes problem (danke nochmal an die, die mir so gut geholfen haben):

    user hat eine liste mit neuen cd´s vor sich und soll die produkte mit einem menue bewerten können. dann werden alle datensätze der tabelle auf einmal in eine db eingetragen und man kann sie schön auswerten. die lösung poste nochmal weiter unten

    meine frage nun: wie funktioniert das, wenn ich statt einem menü checkboxen/radiobuttons verwenden will?

    erstens soll man nur eine auswahl treffen können. da fallen checkboxen ja eigentlich weg? bei radiobuttons kann ich andererseits nur einen button auf der ganzen seite aktivieren, da die radios ja wiederholt werden.

    zweitens weiss ich nicht wie ich den foreach befehl in uebergabe.php ändern soll (siehe unten)

    anbei nochmal die lösung mit dem menü:

    1.) das formular in vote.php:

    <select name="select[]">
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    </select>

    <input type="hidden" name="ItemID[]" value="<?php echo $row["ItemID"]; ?>">


    2.) das eintragen der werte in uebergabe.php:


    PHP-Code:
    foreach($_POST['ItemID'] as $item_key => $item_value)

    {

      
    $sql 'INSERT INTO vote1 (ItemID, punkte) VALUES ('.$item_value.', '.$_POST['select'][$item_key].')';


      
    mysql_query($sql) or die(mysql_error());

    }


    ich hoffe das war verständlich!
    für jede hilfe wäre ich wie immer sehr dankbar!

    lg
    carola

  • #2
    Re: mehrere checkboxen/radiobuttons in db einfügen

    Original geschrieben von carola
    bei radiobuttons kann ich andererseits nur einen button auf der ganzen seite aktivieren, da die radios ja wiederholt werden.
    falsch. du kannst jeweils nur einen radio button aus der gruppe markieren.

    gruppierung von radio buttons erfolgt bekanntlich über den gleichen namen.

    ich hoffe das war verständlich!
    nein.
    was genau ist jetzt dein problem, und wo hakt es bei der umsetzung?
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      hallo!

      zu den radios:
      wenn ich mir 10 datensätze ausgeben lasse und neben jedem 5 radiobuttons zum bewerten habe, gibts dann insgesamt 50 radiobuttons auf der seite.
      die aber alle den selben namen haben, da sie ja bei der ausgabe wiederholt werden. daher: ich kann von 50 radios genau einen aktivieren.

      nur als bsp.:

      anzeige der radios neben dem ersten datensatz:
      <td width="10%" height="25">
      <font face="verdana" size="1" color="black">&nbsp;
      <input type="radio" name="radiobutton[]" value="1">
      <input type="radio" name="radiobutton[]" value="2">
      <input type="radio" name="radiobutton[]" value="3">
      </font> </td>

      ....zweiten ds:
      <td width="10%" height="25">
      <font face="verdana" size="1" color="black">&nbsp;
      <input type="radio" name="radiobutton[]" value="1">
      <input type="radio" name="radiobutton[]" value="2">
      <input type="radio" name="radiobutton[]" value="3">
      </font> </td>

      usw...hoffe es ist jetzt klar!

      zweites problem:
      was muss ich hier ändern, damit es mit radiobuttons/checkboxen klappt?:

      PHP-Code:
      foreach($_POST['ItemID'] as $item_key => $item_value)

      {

        
      $sql 'INSERT INTO vote1 (ItemID, punkte) VALUES ('.$item_value.', '.$_POST['select'][$item_key].')'

      Kommentar


      • #4
        also ich verstehe nicht, warum Du die radios alle als array deklarierst und die werte sich wiederholen. Das passt so doch nicht...
        Der Denkfehler ist wohl dass Du mehrere Gruppen hast und die das array füllen...
        Du musst einzelne gruppen machen und den arrayindex explizit benennen.
        Hab das noch nie so ausprobiert aber es könnte funzen.
        Beantworte nie Threads mit mehr als 15 followups...
        Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

        Kommentar


        • #5
          Original geschrieben von carola
          wenn ich mir 10 datensätze ausgeben lasse und neben jedem 5 radiobuttons zum bewerten habe, gibts dann insgesamt 50 radiobuttons auf der seite.
          die aber alle den selben namen haben, da sie ja bei der ausgabe wiederholt werden. daher: ich kann von 50 radios genau einen aktivieren.
          dann ist vielleicht genau das
          "die aber alle den selben namen haben"
          die stelle, an der du schlaues köpfchen als erstes mal was ändern solltest, meinst du nicht?
          I don't believe in rebirth. Actually, I never did in my whole lives.

          Kommentar


          • #6
            hmmmmm, ich weiss dass da was falsch ist, sonst würde es ja funktionieren.
            leider bin ich nicht gut genug in php um das problem zu lösen, darum hab ich hier nachgefragt...

            Kommentar


            • #7
              Wenn Du Deine Radios indizierst sollte es Dich zumindest weiterbringen...
              achtung es folgt ein Beispiel
              <form method="post">
              <td width="10%" height="25">
              <font face="verdana" size="1" color="black">
              <input type="radio" name="radiobutton[1]" value="1">1
              <input type="radio" name="radiobutton[1]" value="2">2
              <input type="radio" name="radiobutton[1]" value="3">3
              </font> </td>

              ....zweiten ds:
              <td width="10%" height="25">
              <font face="verdana" size="1" color="black">
              <input type="radio" name="radiobutton[3]" value="1">1
              <input type="radio" name="radiobutton[3]" value="2">2
              <input type="radio" name="radiobutton[3]" value="3">3
              </font> </td>
              Beantworte nie Threads mit mehr als 15 followups...
              Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

              Kommentar

              Lädt...
              X