1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

Drop Down Menu optionen

  • clark_039
  • 19. Januar 2009 um 09:35
  • Unerledigt
  • clark_039
    5
    clark_039
    Mitglied
    Punkte
    205
    Beiträge
    30
    • 19. Januar 2009 um 09:35
    • #1

    Hallo zusammen,

    weiß jemand von euch evtl. wie ich die Daten aus einem Drop Down menü in ein anderes Laden kann also etwa so:

    1. Menü: Kotinent
    2. Menü: Länder

    Das bei der Auswahl eines Kontinents nur die Länder im 2ten Menü erscheinen die es auch auf diesem Kontinent gibt ?

    MFG clark_039

    P.S: Sry für diese kompi. Formulierung :grinning_face_with_smiling_eyes:

  • beefy
    13
    beefy
    Mitglied
    Reaktionen
    18
    Punkte
    1.683
    Beiträge
    304
    • 19. Januar 2009 um 10:50
    • #2

    Dazu musst du dir ein bisschen JavaScript anlernen. Schlussendlich musst du einen Eventhandler fuer das onChange-Ereignis der ersten Dropdown (<select>)-Box schreiben, der die Optionen der zweiten Dropdown-Box veraendert (die Kontinente und ihre Laender wirst du z.B. in einem Array gespeichert haben).

  • clark_039
    5
    clark_039
    Mitglied
    Punkte
    205
    Beiträge
    30
    • 20. Januar 2009 um 16:46
    • #3

    Also wenns interessiert ich habs jetzt so gelöst und es läuft perfekt.

    <form name="continent" id="con_menu">
    Continent
    <select name="con" onChange="document.getElementById('con_menu').submit()">
    <?php
    $con = (int)$_GET['con'];
    $DatabasePointer = mysql_connect("localhost", "user", "pwd");
    mysql_select_db("db", $DatabasePointer);
    $SQL2 = "SELECT * FROM continent";
    $result2 = mysql_query($SQL2, $DatabasePointer);
    echo '<option value="0" '.($con==0?'selected="selected"':'').'>All</option>';

    while ($row2 = mysql_fetch_assoc($result2)) {
    echo '<option value="'.$row2['id'].'" '.($con==$row2['id']?'selected="selected"':'').'>'.htmlentities($row2['continent']).'</option>';
    }
    mysql_free_result($result2);
    ?>
    </select>
    </form>

    <!-- Auswahl Land -->
    <form name="country" id="cou_menu">
    <input type="hidden" name="con" value="<?=$con?>" />
    Country
    <select name="cou" onChange="document.getElementById('cou_menu').submit()">
    <?php
    $cou = (int)$_GET['cou'];
    $SQL3 = "SELECT * FROM country WHERE country.continent=$con";
    $result3 = mysql_query($SQL3, $DatabasePointer);
    echo '<option value="0" '.($cou==0?'selected="selected"':'').'>All</option>';

    while ($row3 = mysql_fetch_assoc($result3)) {
    echo '<option value="'.$row3['id'].'" '.($cou==$row3['id']?'selected="selected"':'').'>'.htmlentities($row3['country']).'</option>';
    }
    mysql_free_result($result3);
    ?>
    </select>
    </form>

    <!-- Auswahl Stadt -->
    <form name="city" id="cit_menu">
    <input type="hidden" name="con" value="<?=$con?>" />
    <input type="hidden" name="cou" value="<?=$cou?>" />
    City
    <select name="cit" onChange="document.getElementById('cit_menu').submit()">
    <?php
    $cit = (int)$_GET['cit'];
    $SQL4 = "SELECT * FROM cities WHERE cities.country=$cou";
    $result4 = mysql_query($SQL4, $DatabasePointer);
    echo '<option value="0" '.($cit==0?'selected="selected"':'').'>All</option>';

    while ($row4 = mysql_fetch_assoc($result4)) {
    echo '<option value="'.$row4['id'].'" '.($cit==$row4['id']?'selected="selected"':'').'>'.htmlentities($row4['city']).'</option>';
    }

    mysql_free_result($result4);
    ?>
    </select>
    </form>

    MFG clark_039

  • Paulchen
    1
    Paulchen
    Gast
    • 20. Januar 2009 um 17:44
    • #4

    Und wer soll sich je diese völlig unübersichtliche HTML-/PHP-Mischung ansehen?

  • clark_039
    5
    clark_039
    Mitglied
    Punkte
    205
    Beiträge
    30
    • 21. Januar 2009 um 09:41
    • #5

    Wenn irgendjemand auch mal sowas vor hat wie könnte sie ihm evtl. helfen, ich hätte gerne noch bei meinem Post [code=html] in [code=php] geändert.

    Sorry wenn mein Post für euch unübersichtlich ist...

    MFG clark_039

  • beefy
    13
    beefy
    Mitglied
    Reaktionen
    18
    Punkte
    1.683
    Beiträge
    304
    • 21. Januar 2009 um 11:52
    • #6

    Hab kurz druebergeschaut, scheint OK zu sein. Nicht so guenstig ist es allerdings, dass bei jeder Aenderung der Dropdown-Auswahl die gesamte Seite neu geladen wird und auch Datenbankabfragen durchgefuehrt werden. Idealerweise wuerdest du die Daten nur einmal auslesen und im Speicher halten; JavaScript koennte dann auf die Auswahlaenderung "live" reagieren und fertig. Der Code ist mir jetzt aber ein bissl zu anstrengend um ihn aufzuschreiben... fuers Erste reicht auch deine Loesung. :)

  • Maximilian Rupp 27. Dezember 2024 um 00:26

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Benutzer online in diesem Thema

  • 1 Besucher

Rechtliches

Impressum

Datenschutzerklärung