WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   problem mit dropdown menu (http://www.wcm.at/forum/showthread.php?t=146653)

hewlett 05.10.2004 14:04

problem mit dropdown menu
 
hi leute,

bin gerade dabei an einer page zu basteln und steh jetzt vor einem problem. Ich hab ein dropdown menu wo die einträge aus einer datenbank kommen. Jetzt will ich darunter ein zweites dropdown menu machen das je nachdem was im ersten dropdown ausgewählt wurde das richtige aus der Datenbank holt. Wie mach ich das?

hari_t 05.10.2004 14:11

Was meinst Du mit "an einer Page basteln"? Machst Du das mit PHP oder ASP oder JSP oder...?

In jedem Fall wirst Du die Seite neu aufbauen müssen, wenn Du neue Daten aus der DB brauchst, weil der Client (Browser) ja keinen Zugriff drauf haben wird.

Abhängig von der entsprechenden Sprache, musst Du also in irgendeiner Form ein Form-POST oder -GET machen, das den gedrückten Hauptmenüpunkt zurückübermittelt und die Daten für das Untermenü entsprechend auslesen und die Seite neu generieren.

Alternativ kannst Du das natürlich auch am Client (mittels JavaScript z.B.) machen, allerdings musst Du dafür ALLE möglichen Daten übermitteln und damit z.B. ein Array füllen und die gewünschten Daten für das Menü verwenden...

hewlett 05.10.2004 14:14

i machs mit php, werds mir mal ansehen!

hewlett 05.10.2004 14:20

und wie mach i das, das er die seite neu lädt wenn ich aus dem ersten drop down was ausgewählt habe?

hari_t 05.10.2004 14:25

Naja, ich weiss ja nicht, wie Dein Drop-Down-Menü funktioniert. Aber Du must halt bei jedem Klick irgendwie zum PHP-Script zurück, das die Seite erstellt, zurückkommen.

Dafür gib't viele Möglichkeiten. Du machst z.B. einfach nur <a href=.../meinscript.php?id=4> oder es ist ein formular, dann kannst Du jedem Button einen Value mitgeben und ein submit machen ...

Auf jeden Fall muss das php-script dann das $id (oder etwas komplizierter, wenn du eine neuere PHP-Version verwendest und diese etwas unsicherer Methode des Variablenzugriffs nicht extra aktiviert hast) auswerten und den select für das untermenü entsprechend machen.

Ahja und es gibt natürlich bereits viele tolle Menüs, die das alles schon können, was du jetzt mühsam programmierst, weil sowas halt was ist, was viele Leute brauchen :)

hewlett 05.10.2004 14:28

und wo krieg ich das her, wenns schon viele haben?

hari_t 05.10.2004 14:42

Naja, ich weiss ja nicht wirklich, ob Dir das weiterhilft, wenn Du sagst, Du musst das aus der DB lesen.

Aber schöne Menüs gibt's z.B. bei

http://phplayersmenu.sourceforge.net/
http://www.phpguru.org/treemenu.php
http://php.resourceindex.com/detail/02600.html
http://www.chipchapin.com/WebTools/MenuTools/

Natürlich ist es so, daß die meisten eben alle Daten runterladen und das Menü dynamisch per JavaScript dargestellt wird. Wenn das für Dich wirklich nicht geht, dann wirst Dus wohl wirklich selber machen müssen

hewlett 05.10.2004 14:42

hab schon eine seite gfunden:
http://forum.2lucky.de/htopic,312,selected.html

hewlett 05.10.2004 16:10

ich hab jetzt aber ein problem das er mir das dropdown nicht anzeigt, hier der code des dropdown:
Code:

$db=mysql_connect("localhost", "root", "");
mysql_select_db("vermietung");
$DBA=mysql_query("SELECT DISTINCT haus FROM wohnungen GROUP BY haus ORDER BY haus ASC");
$DBAF=mysql_num_rows($DBA);
if($DBAF) {
        $select="<select name=\"Haus\" class=\"Auswahl\" style=\"width:250\" onChange=\"submit();\">\n";
        while($DBAC=mysql_fetch_array($DBA)) {
                if($Haus==$DBAC['haus']) {$selected.$y=" selected";}
                else {$selected.$y="";}
                $select.="<option value=\"".$DBAC['haus']."\"".$selected.$y.">".$DBAC['haus']."</option>\n";
                $y++;
        }
        $select.="</select>\n";
        if($Haus=="") {
                $select="";
        }
}

und mit dem code bin ich es in mein formular ein:
Code:

<?
echo $select; 
?>


hewlett 05.10.2004 16:34

habs schon gelöst, thread closed!


Alle Zeitangaben in WEZ +2. Es ist jetzt 08:48 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag