php.de

Zurück   php.de > php.de Intern > Beitragsarchiv

Beitragsarchiv Nur gucken, nichts anfassen. Das Archiv der Beiträge vergangener Zeiten.

 
 
LinkBack Themen-Optionen
Alt 02.05.2005, 19:13  
Erfahrener Benutzer
 
Registriert seit: 29.04.2005
Beiträge: 323
Dragon26mFR
Standard *Erledigt* Brauche hilfe bei PHP, MySQL, Javascript

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 ?????
Ich habe es schon im PHP-Anfänger Forum versucht aber ohne erfolg.

BITTE BITTE helft mir.
Dragon26mFR ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 02.05.2005, 20:34  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

öhm blub? was ist den das problem? du setzt nen button drunter und schickst es ab und schaust mal was dir
print_r($_POST); sagt, oder schaffst du es einfach nciht deine werte ins javascript zu bekommen?

abgesehen davon ein paar kritiken an dem db-design:

hauptgruppen

hauptgruppen_id int(5)
titel varchar(255)
anzeigen int(2) // hier reicht ein enum mit 0 und 1

kurse
kurse_id int(5)
kurstitel varchar(255)
hauptgruppen_id int(5)
anzeigen int(2) // hier reicht ein enum mit 0 und 1

kursetermine
kursetermine_id bigint(20) // dir ist klar wie viel in big in reinpasst? meiner meinung nach absolute verschwedung
kursorte_id int(5)
kurse_id int(5) // hier reicht ein enum mit 0 und 1
termin varchar(255) // was genau wird hier reinspeichert ? ein datum? dann doch bitte ein DATE-feld
anzeigen int(2) // hier reicht ein enum mit 0 und 1

kursorte
kursorte_id int(5)
plz bigint(15)// dir ist klar wie viel in big in reinpasst? meiner meinung nach absolute verschwedung
ort varchar(255) // 255 -> zu lang :P
strasse varchar(255) // 255 -> zu lang :P
bemerkung varchar(255) // 255 -> zu lang :P
anzeigen int(2) // hier reicht ein enum mit 0 und 1
robo47 ist offline  
Alt 05.05.2005, 13:04  
Erfahrener Benutzer
 
Registriert seit: 29.04.2005
Beiträge: 323
Dragon26mFR
Standard

Also mein problem ist das ich eben nicht weis wie ich die variablen sauber in das javascript bekomme da es ja immer im bezug zueinander sein soll und es sind ja 4 scripte.

Das javascript macht eine Dropdownliste welche die anzeige dynamisch ändert jenachdem was in der vorrangestellten dropdown ausgewählt wird. (ohne die seite neuzuladen)
Ich muß jetzt die daten aus der DB so einfügen das die 4 dropdowns alle wichtigen daten haben die möglich sind.
Das problem ist das jenachdem welches dropdown sich ändert die darauffolgenden dropdowns geleert werden müßen um die neuen daten zuschreiben. (sonnst würde ein script wohl reichen)
Das script ist so aufgebaut das eine if auswählt was in der vorrangestellten Drop ausgewählt wurde und dazu passend die richtigen daten anzeigt. Ich bekomme es aber nicht hin das die daten in der richtigen form in die 4 Drops übernommen werden und brauche dabei die hilfe.



Wenn ich 4 abfragen mache geht es aber ich blick die logig nicht wie ich das mit einer abfrage schaffen soll. (wegen der verschachtelten ausgabe.)

Bei anzeigen soll es aber 3 verschiedenen modes geben.
0 nicht anzeigen.
1 normal anzeigen
2 auch in einer speziellen seite anzeigen (top werbung)
Deshalb habe ich int(5) gewählt falls ich da noch andere anzeigen brauche.

Kurse_id brauche ich ja etliche da ich ca 50 kurse jetzt schon anbieten möchte und es ständig mehr werden sollen.

Termin soll einfach ein feld sein wo ich auch 2 termine mit zeit eingeben kann oder mehr da manche kurse mehrere tage dauern. (es gibt auch einen kurs der einen monat dauert.)


PLZ international ist doch 15 standart und das ist doch bigint oder ???

Bei ort und strasse hast du sicher recht das 255 zuviel ist aber bei bemerkung macht das für mich sinn da "wegbeschreibungen usw. reinsollen"
Dragon26mFR ist offline  
Alt 05.05.2005, 13:37  
Erfahrener Benutzer
 
Registriert seit: 29.04.2005
Beiträge: 323
Dragon26mFR
Standard

Ich hab eine ausgabe schon hinbekommen aber wie mache ich das mit 4 ???


Bsp.:

Code:
<script language="Javascript">
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ü entleeren
subsubkategorieAuswahl.options.length = 0; // DropDown Menü entleeren
subsubsubkategorieAuswahl.options.length = 0; // DropDown Menü entleeren

if (kategorieAuswahl.options[kategorieAuswahl.selectedIndex].
value == " ")
{
subkategorieAuswahl.options[0] = new Option("Bitte Wählen Sie einen Kurs");


<?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
");
$gruppe = '';
while($sub1 = mysql_fetch_object($res)) {
    if ($gruppe != $sub1->htitel){
           $gruppe = $sub1->htitel;
           echo "}";
           echo "else if (kategorieAuswahl.options[kategorieAuswahl.selectedIndex].value == \"".$sub1->htitel."\")";
           echo "{";
           echo "subkategorieAuswahl.options[0] = new Option(\"Bitte Wählen Sie einen Kurs\");";
           $coun=1;
    }
echo "subkategorieAuswahl.options[".$coun."] = new Option(\"".$sub1->kurstitel."\");";
echo "subkategorieAuswahl.options[".$coun."].value = (\"".$sub1->kurstitel."\");";
$coun++;
}

?>
}
}

Ich brauche bei der 1ten:
Bezug zu Hauptgruppen (wird über eine dropdown ausgewählt und geht so auch schon)

Bei der 2ten:
Bezug zur kursauswahl (hier kommen die kursorte passend zu den kursen)

Bei der 3ten:
Bezug zu den kursen und orten (Hier kommen die termin passend zu den kursen und kursorten)

Bei der 4ten:
Hier brauche ich nur eine einfache ausgabe der termine passend zu den orten also wie 3te (hier wird automatisch über einige andere befehlt die daten in das formular übernommen (bekomme ich siche selber hin) *g*

Nur wie sage ich der DB abfrage das er die daten immer passend und vollständig so ausgibt das es immer im richtigen script steht ???
Dragon26mFR ist offline  
 


Themen-Optionen

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] MySQL Daten in JavaScript syco753 Datenbanken 5 13.07.2008 15:52
Brauche Hilfe für Teilumsetzung eines Webprojekts (Loginsystem, Userverwaltung etc.) daddycool PHP Tipps 2008 1 11.02.2008 21:12
HILFE ! Brauche ganz dringend hilfe! PHP Tipps 2005-2 2 10.10.2005 23:08
brauche hilfe!!! marcelglaeser HTML, Usability und Barrierefreiheit 0 03.10.2005 20:01
Hilfe, Ich brauche hilfe! Kevin PHP Tipps 2005-2 2 27.09.2005 19:31
BRAUCHE DRINGENDE HILFE !!! PHP Tipps 2005-2 2 06.08.2005 19:45
Hilfe, MySQL 4.1.10-Debian_1-log macht komische sachen Datenbanken 6 24.07.2005 19:24
Brauche Hilfe bei preg_match() PHP Tipps 2005-2 2 23.07.2005 22:44
Brauche dringend Hilfe!! DaronM PHP Tipps 2005-2 8 22.07.2005 05:32
HILFE! MySQL Anfänger;Einrichtung auf WinXP;Client Settings? Datenbanken 1 02.07.2005 17:17
Brauche dringend Hilfe, Aufgabe fürs Studium (Upload-Script trivial Beitragsarchiv 23 23.06.2005 16:25
brauche hilfe PHP Tipps 2005 5 14.05.2005 16:56
Brauche hilfe bei komplexem problem mit PHP und MySQL Dragon26mFR PHP Tipps 2005 2 02.05.2005 13:58
Hilfe brauche doppelabfrage und es geht nicht Dragon26mFR Datenbanken 9 01.05.2005 11:53
Brauche dringend Hilfe!!!! PHP Tipps 2004 2 30.10.2004 14:24

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
javascript dropdown auswahl standart, javascript dropdown mysql eingabe, wie kann ich my sql entleren

Alle Zeitangaben in WEZ +2. Es ist jetzt 04:23 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.