AJAX Select Abhängig

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

  • AJAX Select Abhängig

    Hallo zusammen,

    ich habe folgendes Problem:

    ich habe mir euer Tut "AJAX bei select abhängigen Feldern" angeschaut. Leider komme ich nicht wirklich zum gewünschten Erfolg.

    Ich habe eine DB mit folgenden tabellen
    LAND "id, land"
    UNI "id, id_land, uni"
    FACH "id, id_uni, fach"

    jetzt würde ich gerne ein formular erstellen, dass zuerst ein feld anzeigt, um das LAND auszuwählen. danach sollte die verfügbare UNI in diesem Land zur Auswahl stehen. Wenn LAND und UNI ausgewählt ist, möchte ich auf einen button "auswählen" klicken und dann die relevanten daten in einer tabelle ausgeben (das funktioniert bereits!)

    leider komme ich mit eurem Tut nicht ganz zurecht, da ich nur eine Tabelle verwende, die Beispiele sich aber immer auf mehrere Tabellen beziehen.

    Kann mir hier jemand weiterhelfen oder ein paar kleine Tipps geben?

    und dann eine weitere mit id, id_land, uni und dann ebenso mit einer weiteren id, id_uni, fach usw.?

    PHP-Quellcode

    1. <?php
    2. include'connect.php';
    3. $tablename_allowed = array('land', 'uni');
    4. $tablename_default = 'land';
    5. $tablename = isset($_REQUEST['name']) ? $_REQUEST['name'] : $tablename_default;
    6. // check whitelist
    7. if(!in_array($tablename, $tablename_allowed)) {
    8. die($tablename.' not allowed');
    9. }
    10. $sql = "SELECT id, uni
    11. FROM ".$tablename."
    12. WHERE id_land = :id";
    13. $stmt = MyDB::getInstance()->prepare($sql);
    14. $stmt->execute(array(
    15. ':id' => $_REQUEST['id']
    16. ));
    17. $return = $stmt->fetchAll();
    18. echo json_encode($return);
    19. echo '$return';
    20. ?>
    Alles anzeigen


    ich weiß nicht wie ich die sql-abfrage machen soll um zunächst ein erstes feld für land zu erstelen (zur auswahl z.b deutschland, china) und dann abhängig vom gewählten land die im 2. feld die uni auszuwählen (z.b wenn deutschland gewählt => tu münchen, WHU Vallendar etc.)

    Wäre echt super toll wenn ihr mir weiterhelfen könntet.

    VG sinus

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

  • leider komme ich mit eurem Tut nicht ganz zurecht, da ich nur eine Tabelle verwende, die Beispiele sich aber immer auf mehrere Tabellen beziehen.


    Hi!
    aber du verwendest doch mehrere Tabellen, genau wie im Tutorial.
    Hier nochmal der Link für alle Mitleser: [wiki]Select-Auswahl mit AJAX Abhängigkeit und verschiedenen Tabellen[/wiki]

    Der Unterschied zu deinen Tabellen ist, dass deine "Land" Tabelle keine Parentid hat.

    Daher meine Empfehlung

    Quellcode

    1. switch($tablename) {
    2. case 'LAND':
    3. $sql = "SELECT id, text
    4. FROM ".$tablename;
    5. break:
    6. case 'UNI':
    7. $sql = "SELECT id, text
    8. FROM ".$tablename."
    9. WHERE id_land = :id";
    10. break:
    11. case 'FACH':
    12. $sql = "SELECT id, text
    13. FROM ".$tablename."
    14. WHERE id_uni = :id";
    15. }
    Alles anzeigen


    (kann man natürlich auch kürzer schreiben)