ERLEDIGT
NEIN
NEIN
ANTWORTEN
5
5
ZUGRIFFE
389
389
EMPFEHLEN
-
Hallo,
ich habe nun schon ein paar Ansätze gefunden wie ich es mache, habe aber das Gefühl, dass ich auf dem Holzweg bin.
Es funktioniert, dass ich beim ersten DropDown einen Eintrag auswähle und dann den ausgewählten Wert übergebe. Mit diesem Wert frage ich in der zweiten Abfrage die nächste befüllung des zweiten DropDown ab. Bis hierhin funktioniert das ganze einwandfrei. Nur wenn ich nun einen Eintrag im zweiten DropDown auswähle passiert nichts mehr. Ab hier komme ich nicht mehr weiter.PHP-Code:<?php
error_reporting(E_ALL);
include ("../dbconnect.php");
if (empty($_GET["auswahl"])){
echo '
<html>
<head>
<title> DropDown aus SQL-Daten </title>
<script type="text/javascript">
function auswaehlen(s){
wert=s.options[s.selectedIndex].value;
if(wert!=0){
location.href="DropDownDrei.php?auswahl=" + wert;
}
else{
location.href="DropDownDrei.php";
}
}
</script>
</head>
<body>
<form action="" method="post">
';
echo "<select name='drop1' onChange='auswaehlen(this)'>";
echo "<option value=''>Bitte wählen...</option>";
$query="SELECT Id, CategoryOverview FROM CategoryOverview";
$ergebnis = mysql_query($query) or die("Err.:".mysql_error());
//echo ($query);
while($row=mysql_fetch_array($ergebnis)){
echo "<option value='".$row["Id"]."'>".$row["CategoryOverview"]."</option>";
} //while $row
echo "<option value='0'>zurück...</option>";
echo "</select>";
}
else
{
echo'
<form action="" method="post">
';
echo "<select name='drop2' onChange='auswaehlen(this)'>";
echo "<option value=''>Bitte wählen...</option>";
$query="SELECT Id, Category FROM Category WHERE IdCategoryOverview='".$_GET['auswahl']."'";
$ergebnis = mysql_query($query) or die("Err.:".mysql_error());
//echo ($query);
while($row=mysql_fetch_array($ergebnis)){
echo "<option value='".$row["Id"]."'>".$row["Category"]."</option>";
} //while $row
echo "<option value='0'>zurück...</option>";
echo "</select>";
}
?>
</form>
</body>
</html>
Ich brauche insgesamt drei DropDown die im Wasserfallprinzip aufgebaut sind (1 ohne Abhängigkeit, 2 abhängig von 1 und 3 abhängig von 2)
Nun meiner Fragen:
Gibt es vielleicht einen "besseren" Weg das ganze zu erstellen, wenn ja wie oder aber bin ich auf dem "richtigen" Weg und mir fehlt nur noch ein kleiner Teil. Ich bin für alles offen.
Besten Dank & Gruß,
Thisi
-
Nachtrag:
ich bekomme jetzt immer eine Fehlermeldung vom JS "Objekt erwartet". Vielleicht sagt einem das was.
Danke & Gruß,
Thisi
-
17.02.09 15:10 #3
- Registriert seit
- Sep 2004
- Ort
- Möglingen (BaWü)
- Beiträge
- 3.109
Du kannst doch einfach mit einer IF-Abfrage zuerst einmal steuern ob die zweite bzw. die dritte Auswahlbox überhaupt angezeigt wird.
Wenn ein Wert von Auswahlbox 1 übergeben wird, wird die Auswahlbox 2 angezeigt und es wird die SELECT-Anweisung ausgeführt, die diese Box mit Daten füllt.
Wenn ein Wert von Auswahlbox 2 übergeben wird (was nur sein kann wenn auch schon ein Wert von Box 1 ankommt) wird die Auswahlbox 3 angezeigt und es wird ebenfalls die SELECT-Anweisung ausgeführt um Box 3 zu füllen.
PHP-Code:IF (ISSET($_GET["auswahl1"]) AND $_GET["auswahl1"] != "") {
// SELECT-Anweisung ausführen und Auswahlbox 2 anzeigen
}
IF (ISSET($_GET["auswahl2"]) AND $_GET["auswahl2"] != "") {
// SELECT-Anweisung ausführen und Auswahlbox 3 anzeigen
}
Sollte ein Tipp von mir geholfen haben, habe ich nichts gegen eine entsprechende Bewertung oder ein Danke und wenn ein Problem gelöst ist, dann den Beitrag bitte auch als erledigt markieren.
Was ich gar nicht leiden kann sind User die es nicht für nötig halten auf Antworten zu reagieren, die Themen nicht als erledigt markieren und/oder die sich nicht für Hilfe bedanken.
-
Bin mir jetzt nicht sicher, ob mir deine Antwort wirklich weiterhilft. Im Moment funktioniert das DropDown wie folgt:
Beim Start der Seite wird der Inhalt für das erste DropDown gefüllt. Jetzt wähle ich hier einen Eintrag aus, die Seite wird neu geladen und das zweite DropDown (mit dem WHERE von Auswahl 1) wird angezeigt. Nun funktioniert der klich auf das DropDown zwei nicht mehr. Hier passiert nichts mehr aus der Fehlermeldung "Objekt erwartet". Bei deiner Lösung habe ich noch keine Werte übergeben sondern "nur" die Unterscheidung gemacht was ich anzeigen will. Das war aber eigentlich nicht das Problem. Oder bin ich jetzt total daneben?
Frage,
Thisi
-
17.02.09 16:10 #5
- Registriert seit
- Sep 2004
- Ort
- Möglingen (BaWü)
- Beiträge
- 3.109
So bald du in der Box 1 einen Wert auswählst, sendet dein Java Script die Seite mit eben diesem Wert ab.
Wenn jetzt die Seite erneut mit diesem Wert geladen wird, hast du den Wert übergeben durch den du die Box 2 befüllst (da ein Wert übergeben wird, wird die Box zum einen überhaupt angezeigt und zum anderen die entsprechenden Werte für diese Box ermittelt).
Da bis jetzt von Box 2 noch nichts übergeben wurde, wird bis jetzt nur Box 1 (die ja immer angezeigt wird) und Box 2 angezeigt.PHP-Code:// Wird nur ausgeführt, wenn die Seite mit einem Wert der Box 1 geladen wird
IF (ISSET($_GET["auswahl1"]) AND $_GET["auswahl1"] != "") {
// SELECT-Anweisung ausführen und Auswahlbox 2 anzeigen
}
Wenn du jetzt in Box 2 einen Eintrag auswählst, wird die Seite durch das Java Script erneut abgeschickt. Diesmal mit den Wert der Box 1 und dem Wert von Box 2.
Wenn die Seite jetzt geladen wird, wird nochmals die Box 2 angezeigt und gefüllt und gleich im Anschluß wird durch den zweiten Wert auf die Box 3 angezeigt und entsprechend befüllt.
Der Fehler den du jetzt noch hast, ist das Java Script. Es wird immer nur die Variable "auswahl" übergeben, welche den Wert der Box 1 enthält. Du musst aber in das Script noch den Wert der Box 2 reinbringen!!PHP-Code:// Wird nur ausgeführt, wenn die Seite mit einem Wert der Box 2 (und somit auch Wert von Box 1) geladen wird
IF (ISSET($_GET["auswahl2"]) AND $_GET["auswahl2"] != "") {
// SELECT-Anweisung ausführen und Auswahlbox 3 anzeigen
}
Sollte ein Tipp von mir geholfen haben, habe ich nichts gegen eine entsprechende Bewertung oder ein Danke und wenn ein Problem gelöst ist, dann den Beitrag bitte auch als erledigt markieren.
Was ich gar nicht leiden kann sind User die es nicht für nötig halten auf Antworten zu reagieren, die Themen nicht als erledigt markieren und/oder die sich nicht für Hilfe bedanken.
-
Ah, habe ich soweit verstanden. Ich werde das mal ausprobieren und dann den gesamten veränderten Code Posten. Bin mal gespannt was da raus kommt.
Danke schon mal und bis bald.
Grüße,
Thisi
Ähnliche Themen
-
Dropdown
Von Crash123 im Forum Javascript & AjaxAntworten: 1Letzter Beitrag: 02.03.09, 10:23 -
Dropdown im ie 6
Von pitchi im Forum CSSAntworten: 2Letzter Beitrag: 26.11.08, 23:04 -
IE7 & css-dropdown
Von gingerale im Forum CSSAntworten: 1Letzter Beitrag: 21.02.07, 06:18 -
Dropdown mit variierendem Folge-Dropdown
Von die_Ahnungslose im Forum Javascript & AjaxAntworten: 0Letzter Beitrag: 11.10.05, 18:22 -
Dropdown aus DB füllen und abhängig weiteres Dropdown anzeigen
Von boertizwei im Forum PHPAntworten: 2Letzter Beitrag: 22.01.04, 15:50





Zitieren

Login






[PHP][Snippet] Array zu XML konvertieren