Dropdown-Box - Aktion ausfüren bei ausgewähltem Element?

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

  • Dropdown-Box - Aktion ausfüren bei ausgewähltem Element?

    Hallo,

    ich brauche Hilfe bei folgendem Problem.

    Ich habe eine Dropdown-Box mit mehreren zur Auswahl stehenden Elementen (wurden zuvor per DB-Abfrage eingefügt). Nach dieser Auswahl wird eine Tabelle angezeigt, in der Fragen, die in einer MYSQL-DB gespeichert sind ausgegeben.

    Quellcode

    1. <select name="select_faecher[]" id="select_faecher">
    2. <?php
    3. while ($row = mysql_fetch_array($faecher))
    4. {
    5. echo '<option id="'.$row["ID"].'">'.$row["subject"].'</option>';
    6. }
    7. ?>
    8. </select>


    Nun möchte ich, dass wenn man ein Element aus der Dropdown-Box auswählt, die Seite neu geladen wird, und dann in der Tabelle, nur die Fragen der Themas angezeigt werden, das ich in der Dropdown-Box ausgewählt habe.

    Ich habe mir das so gedacht: Wenn ich das Element auswähle wird überpüft ob ich ein Element gewählt habe und welches Element (evt. anhand der id??), dann wird eine neue DB-Abfrage gestartet, in der nur die Fragen selected werden, wo das Thema = selected-ELEMENT und dann findet die Ausgabe statt.

    Nur wie realisiere ich diese Überprüfung welches Element ausgewählt wurde? Ich bin da leider zu keienr funktionierenden Lösung gekommen. Die Abfarge und die Ausgabe sind nicht das Problem, nur diese Überpüfung welches Element aus der Dropdown-Box ausgewählt wurde.

    Ich hoffe ihr könnt mir weiterhelfen ;-))

    Matthias
    "Ich bin wie Wein und werde im Alter immer besser." (Greg Foster)
  • Mit reinem PHP geht das nicht. Dazu müsstest du entweder ein Formular drum rum basteln und abschicken oder auf eine andere Technik ausweichen.
    Das erste ist ja nicht wirklich was du willst, also kommst du hier nur mit JavaScript oder AJAX weiter.

    Genaueres kann ich dir da auch nicht sagen, da ich beide Techniken nicht beherrsche. Aber google kann dir vielleicht die Lösung auf dein Problem zeigen...

    bye
  • aha, doch so einfach ;)

    Gut dann kann ich jetzt weiterbasteln ;)

    Danke für Hilfe!

    ah jetzt hab ich doch noch ne Frage:
    Wie binde ich $_POST['select_faecher']; in meine MYSQL Abfrage ein?
    $abfrage = 'SELECT * FROM sets WHERE subject_ID = "'.$var.'" '; // da wo $var steht soll die Variable rein
    "Ich bin wie Wein und werde im Alter immer besser." (Greg Foster)

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

  • so, das ist doch noch ein kleiner Fehler wie ich gerade gesehen habe.

    Wie bekomme ich es hin, dass das ausgewählte Element in der Dropdown-Box nach dem auswählen noch als aktuell ausgewähltes angezeigt wird?

    Ich meine das so: Wenn ich z.B. das Element "Test" auswähle (und es sind ingesamt 6 Elemente in der Box), dann soll sobald ich das Element "Test" ausgewählt habe, dieses in der Box noch angezeigt bleiben und nur untendrunter die Tablle neu geschrieben werden, Momentan ist es so, das zwar die Tabelle neu geschrieben wird, jedoch das ausgewählte Element wieder zurückgesetzt wird und als Standard immer das erste Element ausgewählt ist. Wie kann ich das ändern?
    "Ich bin wie Wein und werde im Alter immer besser." (Greg Foster)
  • ah okay. ich habe mir dazu nun eine javascript-funktion geschrieben:

    Quellcode

    1. function CheckAuswahl() { for (i = 0; i


    Allerdings verträgt sich diese Funktion nicht mit der this.form.submit();

    Quellcode



    Wenn ich beide Funktionen be onchange aufrufe geht nur die CheckAll() dafür nicht submit(). Wie mach ich es das beide funktionieren? oder ist mein Ansatz falsch?
    "Ich bin wie Wein und werde im Alter immer besser." (Greg Foster)
  • ah, moment, irgendwie will das mit der Code-Ansicht nicht so wie ich das will ;-))

    Quellcode

    1. function CheckAuswahl() {
    2. for (i = 0; i < document.getElementById(select_faecher).length; ++i)
    3. {
    4. document.getElementById(select_faecher).options[i].selected == true;
    5. }
    6. }

    Das wäre die Funktion um das option-Feld auf selected zu setzten.

    Quellcode

    1. <select name="select_faecher" onchange="this.form.submit()">
    2. <?php
    3. while ($row = mysql_fetch_array($faecher))
    4. {
    5. echo '<option id="'.$row["ID"].'" value="'.$row["ID"].'">'.$row["subject"].'</option>';
    6. }
    7. ?>

    Das ist ein Teil meines Formulares

    Wenn di Funktion submit() aufgerufen wird, wird das Formular neu geladen, wenn ich aber die Funktion CheckAuswahl() noch mit einbinde (bei onFocus funktioniert diese nicht, wenn ich diese Funktion alleine einbinde funktioniert sie. Ist diese Idee mit der JavascriptFunktion überhaupt sinnvoll? geht es einfacher oder wie krieg ich das hin?
    "Ich bin wie Wein und werde im Alter immer besser." (Greg Foster)