Ajax Abfrage einer MySQL Datenbank über PHP

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • 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:

    Quellcode

    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. }
    Alles anzeigen





    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.)

    Quellcode

    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. }
    Alles anzeigen


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

    Quellcode

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


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

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von yadrummer ()

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

    Quellcode

    1. d.innerHTML += XMLHTTP.responseText;

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

    Quellcode

    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