Announcement

Collapse
No announcement yet.

DB-Abfrageergebnis über select-tag übergeben

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • DB-Abfrageergebnis über select-tag übergeben

    Hi,
    ich habe folgendes Problem, welches mich bald in den Wahnsinn treibt...
    Ich habe ein Abfrageergebnis in ein Select-tag gepackt (ID,Name, Vname) und möchte nun die ID des ausgewählten Eintrags aus dem select-tag an ein Script übergeben, um es in eine andere DB-Tabelle einzutragen. Leider wird, egal, welchen Eintrag ich wähle, immer die letzte ID übergeben.
    ICHWERDEWAHNSINNIG!!!!!!!!
    Danke an alle Therapeuten )

  • #2
    Hi,
    Versuch: Ist es ein Mulitselect? Wenn ja, mußt du bei dem Attribut name [] drannstellen damit PHP kneisst das es ein Array ist.
    zb. <select name="test[]" ...>
    ...
    ...
    </select>
    Du bekommst dann wie gesagt ein Array mit allen ausgewählten Elementen.

    have fun
    lg.mike

    Comment


    • #3
      Irgendwie hat das mit dem Beispiel nicht funktioniert... hier noch mal ..
      "select name="test[]"....
      :
      :
      /select
      usw..

      have fu

      Comment


      • #4
        Danke,
        das war's aber nicht :

        Comment


        • #5
          vielleicht postest du mal einen Quelltextauszug!
          Vielleicht steht auch nur das ID Feld der zweiten DB auf autoincrement???

          Jen

          Comment


          • #6
            Hi Jens, hier ein Auszug...<br>
            <select name=\"urlazv\">
            <option selected>***Mitarbeiter auswählen***

            "; // ende echo, verlassen des HTML-Codes


            while ($row=mysql_fetch_array($result)) {
            $pid = $row["PID"];
            $name = $row["Name"];
            $vname=$row["Vname"];
            echo "
            <option value=\"$pid\">$pid $name, $vname";
            }
            mysql_free_result($result);
            // ab "echo" wieder HTML-Code
            echo "
            </select>
            .
            .
            .
            if($go) {
            $db=mysql_connect("localhost", "ab", "");
            mysql_select_db("Projekt", $db);
            $sql="INSERT INTO Abwesend (AID, PID, von, bis, Grund) VALUES( '',
            '$pid', '$von', '$bis', '$grund')";
            $result=mysql_query($sql,$db);

            Comment


            • #7
              Hi Jens,
              hier der Code...
              <PRE>
              &lt;select name=\"urlazv\"&gt;
              &lt;option selected&gt;***Mitarbeiter auswählen***

              "; // ende echo, verlassen des HTML-Codes


              while ($row=mysql_fetch_array($result)) {
              $pid = $row["PID"];
              $name = $row["Name"];
              $vname=$row["Vname"];
              echo "
              &lt;option value=\"$pid\"&gt;$pid $name, $vname";
              }
              mysql_free_result($result);
              // ab "echo" wieder HTML-Code
              echo "
              &lt;/select&gt;
              .
              .
              .
              if($go) {
              $db=mysql_connect("localhost", "ab", "");
              mysql_select_db("Projekt", $db);
              $sql="INSERT INTO Abwesend (AID, PID, von, bis, Grund) VALUES( '',
              '$pid', '$von', '$bis', '$grund')";
              $result=mysql_query($sql,$db);
              }//
              </PRE&gt

              Comment


              • #8
                hier isser...<br>
                //<select name=\"urlazv\">
                //<option selected>***Mitarbeiter auswählen***

                "; // ende echo, verlassen des HTML-Codes


                while ($row=mysql_fetch_array($result)) {
                $pid = $row["PID"];
                $name = $row["Name"];
                $vname=$row["Vname"];
                echo "
                <option value=\"$pid\">$pid $name, $vname";
                }
                mysql_free_result($result);
                // ab "echo" wieder HTML-Code
                echo "
                </select>
                .
                .
                .
                if($go) {
                $db=mysql_connect("localhost", "ab", "");
                mysql_select_db("Projekt", $db);
                $sql="INSERT INTO Abwesend (AID, PID, von, bis, Grund) VALUES( '',
                '$pid', '$von', '$bis', '$grund')";
                $result=mysql_query($sql,$db);

                Comment


                • #9
                  hier isser...<br>
                  <select name=\"urlazv\">
                  <option selected>***Mitarbeiter auswählen***

                  "; // ende echo, verlassen des HTML-Codes


                  while ($row=mysql_fetch_array($result)) {
                  $pid = $row["PID"];
                  $name = $row["Name"];
                  $vname=$row["Vname"];
                  echo "
                  <option value=\"$pid\">$pid $name, $vname";
                  }
                  mysql_free_result($result);
                  // ab "echo" wieder HTML-Code
                  echo "
                  </select>
                  .
                  .
                  .
                  if($go) {
                  $db=mysql_connect("localhost", "ab", "");
                  mysql_select_db("Projekt", $db);
                  $sql="INSERT INTO Abwesend (AID, PID, von, bis, Grund) VALUES( '',
                  '$pid', '$von', '$bis', '$grund')";
                  $result=mysql_query($sql,$db);

                  Comment


                  • #10
                    Hi Andreas,
                    so richtig viel klarer wirds dadurch auch nicht. Wenn es sich nur um einen Datensatz aus der ersten Abfrage handelt, brauchst du die erste while Schleife eigentlich nicht. Damit müsste der Output von <i>echo " $pid $name, $vname";</i> auch die richtigen Werte anzeigen.
                    Den Wert von $pid kannst du dann auch per INSERT reinschreiben.
                    Ist alles nicht hilfreich ich weiß aber ich sehe dein Problem nicht.
                    Also stimmt pid ja oder nein?

                    Jen

                    Comment


                    • #11
                      Hi Jens,<br>
                      ich glaube, wir reden aneinander vorbei ! Die Abfrage lautet wie folgt: Select pid, name, vname from Pers.<br>
                      Das Ergebnis (mehrere Sätze) lese ich mit der while-Schleife aus und zeige es in einem HTML-select-tag an, wobei "value" die zum ausgewählten Eintrag zugehörige pid ($pid) sein soll, die ich mittels post an ein Skript übergeben will, um sie und andere Formulareinträge in eine andere Tabelle einzutragen. Es wird allerdings, unabhängig von der Auswahl, immer die letzte pid des select-tags übertragen, alle anderen Einträge werden richtig in die Tabelle geschrieben. Die pid's passen schon zu den Namen, aber es wird halt immer die letzte genommen..

                      Comment


                      • #12
                        Aha,
                        also sollte der Quelltext der Auswahlseite in etwa so aussehen:
                        form bla bla
                        <select name="pid">
                        <option value="1">Herr A
                        <option value="2">Herr B
                        </select>
                        submit
                        Wenn dem so ist wird beim abschicken <b>definitiv</b> der richtige Wert an die nächste Seite geschickt. Damit grenzt sich der Fehler schon ein. Entweder hast du einen kleinen Schreibfehler im Formular oder die Verarbeitung auf der nächsten Seite schlägt Fehl da du PID möglicherweise zweimal belegst.
                        Vorschlag, eh wir noch lange aneinander vorbeireden, schick mir die Quelltexte mal per Mail ([email protected]) da im Forum die HTML Tags herausgefiltert werden.

                        Jen

                        Comment

                        Working...
                        X