[PHP5] multiselect mit ausgabe und insert

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

  • #16
    hallo, hast du denn jetzt das Problem, dass du für jede zeile, in die eine ID soll, eine neue Anfrage machst, gelöst?

    Kommentar


    • #17
      warum soll es nicht gehen ein array in eine mysql datenbank einzufügen


      also nochmahl zur erklärung...


      in meinem formular habe ich ein array
      mit z.b. 1 und 3

      das wird durch das multiselect selectiert..


      dann will ich das was in meinem multiselect array steht

      in meine mysql tabelle einfügen...

      hab schon sämtliche sachen mit $_POST $HTTP_.... ausprobiert...

      es muss doch irgendwie gehen.
      kann mir nicht vorstellen das es sowas nicht gibt..


      also das formular
      Code:
      <select name="gruppe[]" size="5" multiple="multiple">
          <option value='1'>gruppe1</option>
          <option value='2'>gruppe2</option>
          <option value='3'>gruppe3</option>
          <option value='4'>gruppe4</option>
          <option value='5'>gruppe5</option>
          <option value='6'>gruppe6</option>
      </select>
      und hier der insert

      Code:
      mysql_query("INSERT INTO `$tabelle` (`ID_GRUPPE`) VALUE (??????'$_POST['gruppe']'?????) ");
      Zuletzt geändert von cronex; 31.08.2006, 15:02.

      Kommentar


      • #18
        nein hab ich noch nicht gelösst..
        endlich mal einer der versteht was ich meine..

        Kommentar


        • #19
          Nee, EINE, dich dich versteht
          ...hoffe ich zumindest.
          Ich bin mir nich ganz sicher, aber warum versuchst du es nichtmal auf diese Art:
          PHP-Code:
          <?php 
          //Formularkopf
          echo("<form action='insert.php' method='POST'>
                    <select name='gruppe[]' size='5' multiple='multiple'>"
          );
          include(
          "db_connect.php");
          $sql=mysql_query("select * from teile_gruppe");
          //Die einzelnen Einträge der Liste
          while($zeile mysql_fetch_assoc($sql))
          {
           print(
          "<option value=".$zeile['persID'].">"
                     
          .$zeile['benutzername']."</option>");
          }
          //Button zum Absenden
          print("<input type=submit value=Absenden>");
          echo(
          "</select></form>");
          ?>
          Wenn ich mich nicht irre, müsste das ungefähr sein, was du wolltest.
          Damit bekommst du dann halt alle gewählten Einträge in dem Array gruppe[] zurück geliefert und kannst so wie gewohnt darauf zugreifen.
          Jetzt sollte auch bei einer Testausgabe mit
          PHP-Code:
          print_r($_POST['gruppe']); 
          das Egebnis der Auswahl zu sehen sein.

          Hoffe, das kann dir ein bißchen helfen...
          Zuletzt geändert von smarter; 01.09.2006, 09:11.

          Kommentar


          • #20
            danke du hast mir sehr gehollfen mit der überprüfung von meinem array bekomm ich alle meine ausgewählten postionen;

            das mit dem formular hab ich so gemeint aber du hast mir ja schon die lösung veraten

            PHP-Code:
            <?
            include("db_connect.php");
            //position1
            $sql = mysql_query("SELECT ID, Beschreibung from teile_gruppe where ID=1");
            while ($adr = mysql_fetch_array($sql))
            {
              echo "<select name='gruppe' size='5' multiple='multiple'>";
              echo "<option value='$adr[ID]'>$adr[Beschreibung]</option>";
              break;
            }
            //position2
            $sql2 = mysql_query("SELECT ID, Beschreibung from teile_gruppe where ID=2");
            while ($adr2 = mysql_fetch_array($sql2))
            {
              echo "<option value='$adr2[ID]'>$adr2[Beschreibung]</option>";
              break;
            }
            //position3
            $sql3 = mysql_query("SELECT ID, Beschreibung from teile_gruppe where ID=3");
            while ($adr3 = mysql_fetch_array($sql3))
            {
              echo "<option value='$adr3[ID]'>$adr3[Beschreibung]</option>";
              echo "</select>";
              break;
            }
            ?>

            Kommentar


            • #21
              danke das ist genau das was ich wollte

              vielen dank



              jetzt muss ich nurnoch das mit dem array in die mysql tabelle hinbekommen


              das kommt bei der kontrolle "print_r($_POST);" raus:
              Code:
              [gruppe] => Array ( [0] => 1 [1] => 2 )
              Zuletzt geändert von cronex; 01.09.2006, 09:18.

              Kommentar


              • #22
                Du willst jetzt also alle gewählten ID in eine Spalte in die Tabelle schreiben?
                Also nur den Inhalt des Arrays oder wirklich das Array selber?

                Kommentar


                • #23
                  nur die id's die ich mit dem array ausgewählt hab

                  also nur den inhalt das array's

                  Kommentar


                  • #24
                    und dabei alle gewählten ID's in die gleiche Spalte und Reihe?
                    Also in das gleiche "Feld"?

                    Kommentar


                    • #25
                      jep genau alle id's die im array sind, ins gleiche feld

                      Kommentar


                      • #26
                        ich würd das dann wahrscheinlich so machen:
                        PHP-Code:
                        foreach ($_POST['gruppe'] as $key => $val
                        {
                            
                        $id.=$val." ";
                        }
                        $anfrage"INSERT INTO '$tabelle' (`ID_GRUPPE`) VALUES ('$id')"
                        Also wären dann alle ID's durch ein Leerzeichen voneinander getrennt.

                        Kommentar


                        • #27
                          hm... geht leider immer noch nicht

                          wenn ich 2 id's selectiere

                          kommt die meldung:

                          Notice: Undefined variable: id in ....


                          und er schreibt mir die ID 1 in das feld... ????????

                          Zuletzt geändert von cronex; 01.09.2006, 10:19.

                          Kommentar


                          • #28
                            da weiß ich dann ehrlich gesagt auch micht mehr so richitg weiter, bin ja selber noch Anfänger

                            Die Notice "Undefined variable" kriegst du eigentlich weg, wenn du die Variable initialisiertst....

                            Also habe das auch alles bei mir ausprobiert und das hat geklappt.

                            Hast du dir zu Testzwecken vor der Schleife mal $_POST['gruppe'] ausgeben lassen?
                            Oder vielleicht in der Schleife mal eine Testausgabe des Values untergebracht um zu schauen, was passiert?
                            PHP-Code:
                            foreach ($_POST['gruppe'] as $key => $val
                            {
                                print(
                            "value: ".$val."<br>");
                                
                            $id.=$val." ";

                            Ob wirklich alle Werte durchlaufen werden?
                            Oder nach der Schleife mal ein print ($anfrage); ?
                            Zuletzt geändert von smarter; 01.09.2006, 10:37.

                            Kommentar


                            • #29
                              ja klar, es kommen auch die id's raus wenn ich den POST gruppe ausgebe...

                              mit deinem code sieht die sache so aus:

                              Code:
                              value: 1
                              
                              Notice: Undefined variable: id in C:\Programme\xampp\htdocs\idgruppe\insert.php on line 13
                              value: 2
                              wie du siehst

                              value: 1| dann nen fehler und dann | value: 2

                              Kommentar


                              • #30
                                dann schreib mal vor die Schleife
                                $id="";
                                Damit ist dann erstmal der Fehler (Undefined variable) weg.

                                Mal sehen, was dann spannendes passiert

                                und lass dir mal bitte in der schleife anstelle von den values die ID's augeben mit:
                                PHP-Code:
                                print("ID: ".$id."<br>"); 
                                aber natürlich erst, nachdem, du die neue angehangen hast
                                Zuletzt geändert von smarter; 01.09.2006, 10:50.

                                Kommentar

                                Lädt...
                                X