Ajax Abfrage einer MySQL Datenbank über PHP

This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

  • Ajax Abfrage einer MySQL Datenbank über PHP

    Hallo!
    Ich habe schon die ganzen Ajax-Tutorials durchgemacht und bin begeistert von dieser Seite! Sind echte Fachleute unterwegs hier!
    Allerdings habe ich noch zwei Probleme:

    1.) Sobald ich mit Ajax was abfrage (in meinem Fall ein Dropdownfeld) erstscheint das passende zweite Dropdownfeld. Alles kein Problem! Nur wenn ich ein zweites Mal auf das erste Dropdownfeld klicke erscheint ein drittes Feld und so weiter...

    Hier mein Javascript:

    Source Code

    1. function Start() {
    2. var XMLHTTP = null;
    3. if (window.XMLHttpRequest) {
    4. XMLHTTP = new XMLHttpRequest();
    5. } else if (window.ActiveXObject) {
    6. try {
    7. XMLHTTP = new ActiveXObject("Msxml2.XMLHTTP");
    8. } catch (ex) {
    9. try {
    10. XMLHTTP = new ActiveXObject("Microsoft.XMLHTTP");
    11. } catch (ex) {
    12. }
    13. }
    14. }
    15. var StandortID = document.getElementById("ort").value;
    16. XMLHTTP.open("GET", "func.php?q="+ StandortID);
    17. XMLHTTP.onreadystatechange = DatenAusgeben;
    18. XMLHTTP.send(null);
    19. function DatenAusgeben() {
    20. if (XMLHTTP.readyState == 4) {
    21. var d = document.getElementById("Daten");
    22. d.innerHTML += XMLHTTP.responseText;
    23. }
    24. }
    25. }
    Display All





    2.) Als zweites möchte ich ein Dropdownfeld mit einem inputfeld "verknüpfen", soll heißen ich wähle erst im Dropdownfeld etwas aus und dann will ich eine Nummer im Inputfled eingeben und bei onkeyup soll der prüfen, ob es diese Nummer an dem Standort schon gibt! Mit IE funktioniert des, mit firefox und safari nicht... Im Internet Explorer aber gleiches Problem wie bei 1.)

    Source Code

    1. function DoesNebenstelleExist() {
    2. var AJAX = null;
    3. if (window.XMLHttpRequest) {
    4. AJAX = new XMLHttpRequest();
    5. } else if (window.ActiveXObject) {
    6. try {
    7. AJAX = new ActiveXObject("Msxml2.XMLHTTP");
    8. } catch (ex) {
    9. try {
    10. AJAX = new ActiveXObject("Microsoft.XMLHTTP");
    11. } catch (ex) {
    12. }
    13. }
    14. }
    15. var Nebenstelle = document.getElementById("NebenstelleAnlegen").value;
    16. var StandortID = document.getElementById("OrtAnlegen").value;
    17. AJAX.open("GET", "func.php?o="+ StandortID + "&n="+ Nebenstelle, false);
    18. AJAX.onreadystatechange = NebenstellenAusgeben;
    19. AJAX.send(null);
    20. function NebenstellenAusgeben() {
    21. if (AJAX.readyState == 4) {
    22. var d = document.getElementById("NebenstelleAnlegenAusgabe");
    23. d.innerHTML += AJAX.responseText;
    24. }
    25. }
    26. }
    Display All


    Hier soll dann erscheinen, ob es diese Nummer schon gibt oder nicht.

    Source Code

    1. <font id=\"NebenstelleAnlegenAusgabe\"></font>


    Hoffentlich könnt ihr mir helfen!
    Vielen herzlichen Dank!
    Grüße Sven

    The post was edited 1 time, last by yadrummer ().

  • Hi,
    Problem 1 ist ja einfach zu lösen... du erweiterst den Content immer nur:

    Source Code

    1. d.innerHTML += XMLHTTP.responseText;

    Stattdessen kannst du dir ja ein DIV allein für die 2te Auswahl erstellen und das immer überschreiben.

    Source Code

    1. document.getElementById('zweiteSpalte').innerHTML = XMLHTTP.responseText;


    zu zweitem: Hast du dazu eine Online Demo?
    Da du das ziemlich veraltete und seit Jahren im HTML Standard verschwundene font-Tag verwendest tippe ich mal auf ungültigen HTML Code.
    Ersetze das font mal durch ein div und validiere den restlichen Code mal mit validator.w3.org