php.de

Zurück   php.de > Lösungen durch Skripte > Scriptbörse

Scriptbörse PHP Lösungen für nen schmalen Taler

Antwort
 
LinkBack Themen-Optionen Bewertung: Bewertung: 1 Stimmen, 1,00 durchschnittlich.
Alt 17.08.2008, 21:40  
Neuer Benutzer
 
Registriert seit: 03.08.2008
Beiträge: 25
mklewer befindet sich auf einem aufstrebenden Ast
Standard 2 abhängige Auswahllisten: Kategorie -> Unterkategorie

Hallo,

Habe ein Formular zum Artikel bearbeiten bzw. hinzufügen.
Jetzt hab ich aber ein Problem mit der Kategorieauswahl.

Also ich möchte zuerst die Hauptkategorie auswählen
und dann im 2. Dropdown-Menü die dazugehörigen Unterkategorien.

Beim BEARBEITEN eines Artikels ist ja schon die Kategorien-ID gespeichert.
Die sollen natürlich in dem Fall vorselektiert werden.

Hinweis:
Es wird nur die ENDGÜLTIGE (meistens Unterkategorie) in der ARTIKEL-Datenbank gespeichert.

In der KATEGORIEN-Datenbank ist der Aufbau wie folgt:

id, name, main_categorie

id = Kategoriennummer
name = Name der Kategorie
main_categorie = gehört zu Hauptkategorie XX (id), wobei "0" selbst eine Hauptkategorie ist

Beispiel:
id "1"
name "Computer"
main_categorie "0"

id "2"
name "Festplatten"
main_categorie "1"

id "3"
name "Monitore"
main_categorie "1"

id "4"
name "Tastaturen"
main_categorie "1"

id "5"
name "Bücher"
main_categorie "0"

Also im Beispiel gibt es 2 Hauptkategorien und 3 Unterkategorien.
Artikel dürfen immer in Unterkategorien eingestellt werden, aber nie
in Hauptkategorien, AUSSER es gibt keine dazugehörige Unterkategorie.

Das heißt, man darf in den Kategorien "Festplatten", "Monitore", "Tastaturen" und "Bücher" Artikel einstellen, jedoch NICHT in "Computer".

PHP-Code:
        <?php
 
echo "<select name=\"categorie\" size=\"1\" class=\"dropdown\">";
 
# Alle Kategorien deren keine Unterkategorie (0) zugeordnet ist -> Hauptkategorien
$query sql_while("select * from categories WHERE main_categorie = '0'");
while (
$result mysql_fetch_array($query))
 { 
 if(
$item['categorie1'] == $result['id'])
                           {
                      
$preselect " selected";
                           }
         else
                           {
        
$preselect "";
                           }
     echo 
"<option value=\"".$result['id']."\"".$preselect.">";
  echo 
$result['name'];
  echo 
"</option>";                          
 } 
echo 
"</select>";
 

echo 
"<select name=\"sub_categorie\" size=\"1\" class=\"dropdown\">";
 
# Alle Unterkategorien von Hauptkategorie XX (im 1. Dropdown-Menue) auflisten
$query sql_while("select * from categories WHERE main_categorie = XX");
while (
$result mysql_fetch_array($query))
 { 
 if(
$item['categorie1'] == $result['id'])
                           {
                      
$preselect " selected";
                           }
         else
                           {
        
$preselect "";
                           }
     echo 
"<option value=\"".$result['id']."\"".$preselect.">";
  echo 
$result['name'];
  echo 
"</option>";                          
 } 
echo 
"</select>";
?>
Meine Frage:
wie bekomme ich die ID der ausgewählen Hauptkategorie in das MySQL-Statement der Unterkategorien?

Also... $query = sql_while("select * from categories WHERE main_categorie = XX"); ...
wobei XX die ID der zuvor gewählten Hauptkategorie ist.

Ich suche schon seit 2 Tagen im Internet nach einer Lösung,
aber wie Ihr seht, keine passende Lösung gefunden (Ausser wo die Daten nicht in der Datenbank sind, sondern Direkt im Javascript).

Ich denke, ich habe mich verständlich ausgedrückt und hoffe auf Hilfe

PS.: Nein, ich verkaufe keine Computer-Hardware

Gruss
Marcel
mklewer ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 19.08.2008, 02:47  
Neuer Benutzer
 
Registriert seit: 03.08.2008
Beiträge: 25
mklewer befindet sich auf einem aufstrebenden Ast
Standard

hat keiner eine Idee?
mklewer ist offline   Mit Zitat antworten
Alt 19.08.2008, 08:13  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

das geht nur mit AJAX ohne einem Seiten-Reload (Formular absenden), du kannst mit PHP nicht auf User-Aktionen reagieren, das ist unmöglich.
cycap ist offline   Mit Zitat antworten
Alt 19.08.2008, 12:48  
Erfahrener Benutzer
 
Benutzerbild von tomtaz
 
Registriert seit: 17.06.2008
Beiträge: 1.762
PHP-Kenntnisse:
Fortgeschritten
tomtaz ist einfach richtig netttomtaz ist einfach richtig netttomtaz ist einfach richtig netttomtaz ist einfach richtig netttomtaz ist einfach richtig nett
tomtaz eine Nachricht über ICQ schicken tomtaz eine Nachricht über Skype™ schicken
Standard

Zitat:
Zitat von cycap Beitrag anzeigen
das geht nur mit AJAX ohne einem Seiten-Reload (Formular absenden), du kannst mit PHP nicht auf User-Aktionen reagieren, das ist unmöglich.
Klar kann man reagieren, aber nicht "on the fly".

Heißt also, es muss was an den Webserver gesendet werden kann, dass dieser darauf reagieren kann. Und das bekommst du in deinem Fall mit Ajax hin.
__________________
Mfg Tomtaz
"Es soll jetzt diese Erfindung geben.... Kugel oder so heißt die. Ist so eine Art Suchmaschine..."
tomtaz ist offline   Mit Zitat antworten
Alt 19.08.2008, 14:21  
Neuer Benutzer
 
Registriert seit: 03.08.2008
Beiträge: 25
mklewer befindet sich auf einem aufstrebenden Ast
Standard

Ja das ist mir schon klar.
Habe meine Frage ja auch deswegen extra in das "Javascript/AJAX"-, und nicht "PHP"-Forum geschrieben

Aber WIE mache ich das mit JS/Ajax??
Also die Hauptkategorien werden ja so oder so IMMER ganz geladen (sind bei mir eh nur 5 Kat.) und bei den Unterkategorien gibt es ja 2 möglichkeiten...
entweder es werden ALLE Unterkategorien geladen und nur die passenden (je nach gewählter Hauptkategorie) angezeigt oder es werden erstmal GAR KEINE Unterkategorien vorgeladen, sondern erst wenn eine Hauptkategorie ausgewählt wurde.
mklewer ist offline   Mit Zitat antworten
Alt 19.08.2008, 15:03  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

na indem du dem haupt-select ein onchange-event einbaust was dir die aktuelle auswahl per ajax request an eine php-datei schickt und die liefert wiederum die unterkategorien zurück.

wie ajax technisch funktioniert musst du anhand tutorials lernen...

@tomtaz: ich denke ich hab mich verständlich genug ausgedrückt ich geb ja zu ich hab mir eben ein wenig selbst wiedersprochen
cycap ist offline   Mit Zitat antworten
Alt 19.08.2008, 15:16  
Neuer Benutzer
 
Registriert seit: 03.08.2008
Beiträge: 25
mklewer befindet sich auf einem aufstrebenden Ast
Standard



hat denn vielleicht einer ein paar Links oder Beispiele?
mklewer ist offline   Mit Zitat antworten
Alt 19.08.2008, 15:22  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

Ich hoffe du kannst englisch:

AJAX Introduction

ist aber wirklich ganz einfach zu verstehen, ich kann auch nur Schul-Englisch und habs kapiert
cycap ist offline   Mit Zitat antworten
Alt 19.08.2008, 20:35  
Neuer Benutzer
 
Registriert seit: 03.08.2008
Beiträge: 25
mklewer befindet sich auf einem aufstrebenden Ast
Standard

hmm... das ist etwas zu allgemein, aber trotzdem danke
hat vielleicht einer ein konkreteres Beispiel?
mklewer ist offline   Mit Zitat antworten
Alt 20.08.2008, 09:09  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

Also ganz ehrlich, bis auf vielleicht SELFHTML: JavaScript / Sprachelemente / Event-Handler brauchst du nichts weiter.

Ein konkretes Beispiel heisst in deinem Fall wohl es soll dir einer vorprogrammieren, das ist auch für eine entsprechende Gegenleistung kein Problem.
cycap ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

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
dynamische abhängige Auswahllisten + MysqlDatenbank freakymiky JavaScript, Ajax und mehr 6 15.06.2008 04:13
PHP-Frage - Ausgabe bei Auswahllisten Redfish PHP Tipps 2006 11 23.05.2006 08:51
2 Auswahllisten HTML, Usability und Barrierefreiheit 6 19.07.2005 12:07
Komme nicht sorecht weiter / Kategorie Baum erstellen. PHP Tipps 2005 11 05.05.2005 13:20
einfache Kategoriestruktur und deren Zuordnung... PHP Tipps 2005 1 20.04.2005 12:24
2* gleiches newssystem auf server (kategorie fehler ?) PHP Tipps 2004 1 24.10.2004 18:46
Witze Off-Topic Diskussionen 7 09.07.2004 20:51

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
html abhängige auswahllisten, php kategorie unterkategorie, mysql kategorie unterkategorie, abhängige auswahllisten, mysql kategorien unterkategorien, php kategorien unterkategorien, abhängige auswahllisten html, abh, abhängige select, javascript abhängige auswahl, kategorien unterkategorien php, html select unterkategorie, unterkategorien in datenbanken, unterkategorien formular, javascript unterkategorie, javascript 2 abhängige selectboxen, dynamische auswahllisten javascript beispiele, mehrere abhängige formularfeld php javascript ajax, javascript kategorie unterkategorie, auswahlliste kategorien

Alle Zeitangaben in WEZ +2. Es ist jetzt 23:24 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