Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Select- Feld mit PHP-Variable befüllen

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Select- Feld mit PHP-Variable befüllen

    Servus miteinander,

    wie übergebe ich Werte aus MySQL an Ajax? Ich meine so, dass diese im Select-Feld als Option 0 bis Option... automatisch befüllt wird? Bspw. Kunde 1, Kunde 2 .....

    Gesendet von meinem GT-I9300 mit Tapatalk


  • #2
    Indem du mit PHP eine entsprechende Response erzeugst.

    Kommentar


    • #3
      Ich komme nicht weiter und verzweifle langsam. Hätte jemand ein Beispiel für mich?

      Gesendet von meinem GT-I9300 mit Tapatalk

      Kommentar


      • #4
        Dann zeig doch mal was Du bisher versucht hast.

        Kommentar


        • #5
          OK, geht aber erst am Samstag, da ich erst morgen nach Hause komme.
          Erwarte aber nicht viel. Bisher schaffe ich es das Select-Feld mittels PHP zu füllen = Grundschulwissen.
          Wenn ich dann den Submit-Button ancklicke wird die Auswahl zurückgesetzt.

          Gesendet von meinem GT-I9300 mit Tapatalk

          Kommentar


          • #6
            Ein kleiner Nachtrag: fest vorgegebene Optionen kann ich auch setzen. Dazu gibt es ja auch viele Beispiele im Internet. Nun scheitere ich an der Schleife, die die Werte aus MYSQL als Optionen setzt.

            Gesendet von meinem GT-I9300 mit Tapatalk

            Kommentar


            • #7
              zwischen MySQL und AJAX sitzt ... *trommelwirbel* PHP

              - mit PHP macht man SQL Abfragen
              - mit PHP erzeugt man HTML und Javascript (AJAX)
              - AJAX fragt ein PHP Script nach Daten (aus einer MySQL Datenbank z.B.)

              Jetzt musst du das noch zusammenbringen.

              Lerne Grundlagen - hier findest du auch Links zu Tutorials...
              Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

              Kommentar


              • #8
                So,
                jetzt bin ich wieder da:

                Ich habe in HTML eine Selectbox erstellt, die ich mit PHP fülle. Mittels dieser Selectbox soll eine Personalnummer ausgewählt werden. Als Ergebnis sollen das Geburtsdatum und der Gehalt eine Zeile weiter unten angezeigt werden. Leider passiert hier nichts (Ich habe absichtlich die Methode GET ausgewählt, damit ich sehen kann, ob irgendwelche Variablen mitgeschickt werden).

                Zunächst die Datei TEST.php, mit der ich die Personalnummer auswähle:
                Code:
                <html>
                <head>
                    <script type="text/javascript" src="jquery.js">
                
                function anfordern(personalnummer)
                {
                   var req = new XMLHttpRequest();
                   req.open("GET", "ajax_db_b.php?pnr=" + personalnummer, true);
                   req.setRequestHeader("Content-Type",
                      "application/x-www-form-urlencoded");
                   req.onreadystatechange = auswerten;
                   req.send();
                }
                
                function auswerten(e)
                {
                   if(e.target.readyState == 4 && e.target.status == 200)
                   {
                      var antwort = e.target.responseXML;
                      document.getElementById("idGehalt").firstChild.nodeValue =
                         antwort.getElementsByTagName("gh")[0].
                            firstChild.nodeValue;
                      document.getElementById("idGeburtstag").firstChild.nodeValue =
                         antwort.getElementsByTagName("gb")[0].
                            firstChild.nodeValue;
                   }
                }
                </script>
                </head>
                <body>
                <p>
                <form id="pnr" name="pnr">
                 <label>
                   Personalnummer w&auml;hlen:&nbsp;
                   <select id="pnr" name="pnr" onchange="anfordern(personalnummer)">
                    <?php
                     $con = mysqli_connect("", "root");
                     mysqli_select_db($con, "firma");
                     $res = mysqli_query($con,
                     "select personalnummer from personen order by personalnummer");
                      while ($dsatz = mysqli_fetch_assoc($res)){
                       echo"<option>".$dsatz['personalnummer']."</option>";
                      }
                   mysqli_close($con);
                   ?>
                   </select>
                 </label>
                </form>
                </p>
                <p><span id="idGehalt">&nbsp;</span>
                <span id="idGeburtstag">&nbsp;</span></p>
                </body>
                </html>
                Und hier die "antwortende" Datei ajax_db_b.php:
                Code:
                <?php
                header("Content-Type: text/xml; charset=utf-8");
                
                $con = mysqli_connect("", "root");
                mysqli_select_db($con, "firma");
                $res = mysqli_query($con,
                  "select * from personen where personalnummer = " . $_GET["pnr"]);
                $dsatz = mysqli_fetch_assoc($res);
                
                echo "<?xml version='1.0' encoding='utf-8'?>\n";
                echo "<daten>\n";
                echo " <gh>" . $dsatz["gehalt"] . "</gh>\n";
                echo " <gb>" . $dsatz["geburtstag"] . "</gb>\n";
                echo "</daten>\n";
                ?>
                Was und wo mache ich einen oder mehrere Fehler?

                Gruß

                ST500

                Kommentar


                • #9
                  Code:
                  onchange="anfordern(personalnummer)"
                  Woher kommt diese "personalnummer"?
                  Fang mit dem Debuggen an, für Javascript hat inzwischen jeder Browser eine Developerkonsole.

                  Und wenn du schon jquery einbindest, warum verwendest du es dann nicht auch?
                  Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

                  Kommentar


                  • #10
                    Die Personalnummer kommt aus der Selectbox, die mittels PHP gefüllt wird. Die Funktion anfordern(personalnumner) habe ich oben definiert. Im Debugmodus erhalte ich die Fehlerneldung RessourceError: anfordern nicht definiert.
                    Ich würde es gerne mit jquery machen, weiss aber nicht wie. Ich habe mir ein Beispiel aus dem Internet kopiert. Das funktioniert aber nur, wenn die Personalnummern nicht in einer Selectbox, sondern als Links untereinandern aufgelistet werden. Und ich kann es nicht für eine Selectbox umschreiben.

                    Gesendet von meinem GT-I9300 mit Tapatalk

                    Kommentar


                    • #11
                      Ich probiere noch was und melde mich.

                      Gesendet von meinem GT-I9300 mit Tapatalk

                      Kommentar


                      • #12
                        Hier mal ein Minimalbeispiel, wie man mit jquery ein onchange abfängt und die Selection abfragt.

                        http://jsfiddle.net/zq0j0bw8/3/
                        Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

                        Kommentar


                        • #13
                          Super!!! Vielen Dank!!!

                          Gesendet von meinem GT-I9300 mit Tapatalk

                          Kommentar

                          Lädt...
                          X