Erklärung:
Ich habe eine seite auf der ich 4 Dropdownauswahlen mit javascript habe die im zusammenhang stehen.
1.Dropdown
Hauptauswahl
2.Dropdown
Kurse passend zur Hauptauswahl
3.Dropdown
Kursorte passend zur Kursauswahl
4.Dropdownauswahl
Termine passend zur Ortsauswahl und zur Kursauswahl
Hierfür habe ich eine abfrage der Datenbank geschrieben die auch alles richtig ausgibt.
PHP-Code:
<?php
$res = mysql_query("SELECT
k.kurstitel as kurstitel,
t.termin as termin,
o.ort as orte,
h.titel as htitel
FROM
(kurse as k INNER JOIN kursetermine as t ON t.kurse_id = k.kurse_id)
inner join kursorte as o ON o.kursorte_id = t.kursorte_id
inner join hauptgruppen as h ON h.hauptgruppen_id = k.hauptgruppen_id WHERE h.anzeigen=1 AND t.anzeigen=1 AND o.anzeigen=1 AND k.anzeigen=1
ORDER BY h.titel, k.kurstitel, t.kursorte_id
");
$gruppe = '';
$kur = '';
$or = '';
while($sub1 = mysql_fetch_object($res)) {
if ($gruppe != $sub1->htitel){
$gruppe = $sub1->htitel;
echo "
--".$sub1->htitel."
";
$coun=1;
}
if ($kur != $sub1->kurstitel){
$kur = $sub1->kurstitel;
echo "-----".$sub1->kurstitel."
";
$coun=1;
}
if ($or != $sub1->orte){
$or = $sub1->orte;
echo "--------".$sub1->orte."
";
$coun=1;
}
echo "-----------".$sub1->termin."
";
$coun++;
}
?>
Die datenbank ist folgendermasen aufgebaut:
hauptgruppen
hauptgruppen_id int(5)
titel varchar(255)
anzeigen int(2)
kurse
kurse_id int(5)
kurstitel varchar(255)
hauptgruppen_id int(5)
anzeigen int(2)
kursetermine
kursetermine_id bigint(20)
kursorte_id int(5)
kurse_id int(5)
termin varchar(255)
anzeigen int(2)
kursorte
kursorte_id int(5)
plz bigint(15)
ort varchar(255)
strasse varchar(255)
bemerkung varchar(255)
anzeigen int(2)
Jetzt ist das problehm wie ich die daten in das script bekomme.
Erste auswahl:
Code:
function update_auswahl()
{
var kategorieAuswahl = document.forms.verzeichnis.kategorie;
var subkategorieAuswahl = document.forms.verzeichnis.subkategorie;
var subsubkategorieAuswahl = document.forms.verzeichnis.subsubkategorie;
var subsubsubkategorieAuswahl = document.forms.verzeichnis.subsubsubkategorie;
subkategorieAuswahl.options.length = 0; // DropDown Menü2 entleeren
subsubkategorieAuswahl.options.length = 0; // DropDown Menü3 entleeren
subsubsubkategorieAuswahl.options.length = 0; // DropDown4 Menü entleeren
if (kategorieAuswahl.options[kategorieAuswahl.selectedIndex].
value == " ")
{
subkategorieAuswahl.options[0] = new Option("Bitte Wählen Sie einen Kurs");
}
Für alle Hauptgruppen
else if (kategorieAuswahl.options[kategorieAuswahl.selectedIndex].value == "Die Hauptgruppen Variable")
{
subkategorieAuswahl.options[0] = new Option("Bitte Wählen Sie einen Kurs");
Alle Kurstitel passend zur Hauptgruppe
subkategorieAuswahl.options[1] = new Option("Kurstitel Variable");
subkategorieAuswahl.options[1].value = ("Kurstitel Variable");
}
}
Zweite auswahl:
Code:
function update_auswahl()
{
var kategorieAuswahl = document.forms.verzeichnis.kategorie;
var subkategorieAuswahl = document.forms.verzeichnis.subkategorie;
var subsubkategorieAuswahl = document.forms.verzeichnis.subsubkategorie;
var subsubsubkategorieAuswahl = document.forms.verzeichnis.subsubsubkategorie;
subsubkategorieAuswahl.options.length = 0; // DropDown Menü3 entleeren
subsubsubkategorieAuswahl.options.length = 0; // DropDown4 Menü entleeren
if (subkategorieAuswahl.options[subkategorieAuswahl.selectedIndex].
value == " ")
{
subsubkategorieAuswahl.options[0] = new Option("Bitte Wählen Sie einen Ort");
}
Alle Kurse der Hauptgruppe
else if (subkategorieAuswahl.options[subkategorieAuswahl.selectedIndex].value == "Die Kurs Variable")
{
subkategorieAuswahl.options[0] = new Option("Bitte Wählen Sie einen Ort");
Alle Orte passend zur Kursauswahl und zur Hauptgruppe
subsubkategorieAuswahl.options[1] = new Option("Ort Variable");
subsubkategorieAuswahl.options[1].value = ("Ort Variable");
}
}
Die anderen 2 scripte sind identisch.
Wie kann ich die ausgabe so verschachteln das es mir das richtig anzeigt ???
Wenn möglich mit nur einer DB abfrage.
Bin echt am verzweifeln.
Die abfrage wie ich sie oben geschrieben habe geht ja nur wie bekomme ich das jetzt in das script ?????
BITTE BITTE Helft mir.