php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Thema geschlossen
 
LinkBack Themen-Optionen Thema bewerten
Alt 13.06.2011, 17:40  
Neuer Benutzer
 
Registriert seit: 02.12.2010
Beiträge: 8
PHP-Kenntnisse:
Anfänger
1coffee2go befindet sich auf einem aufstrebenden Ast
Standard Menüeinträge mit einem Query sortiert ausgeben

Moinsen,

Ich hab in einer MySQL DB mehrere Menüeinträge mit Untermenüs:

Code:
ID | ORDER | PARENT_CAT | SUBLEVEL |  NAME  | PATH
 1 |   1   |      0     |     0    | Main 1 | pfad/zur/datei
 2 |   1   |      1     |     1    | Sub1 1 | pfad/zur/datei
 3 |   2   |      1     |     1    | Sub2 2 | pfad/zur/datei
 4 |   2   |      0     |     0    | Main 2 | pfad/zur/datei
 5 |   1   |      4     |     1    | Sub2 1 | pfad/zur/datei
 6 |   2   |      4     |     1    | Sub2 2 | pfad/zur/datei
 7 |   1   |      6     |     2    | Sub2-1 | pfad/zur/datei
 8 |   2   |      6     |     2    | Sub2-2 | pfad/zur/datei
 9 |   3   |      4     |     1    | Sub2 3 | pfad/zur/datei
Ausgabe:
Code:
Main 1
  Sub1 1
  Sub2 2
Main 2
  Sub2 1
  Sub2 2
    Sub2-1
    Sub2-2
  Sub2 3
Kann man sich eine SELECT Abfrage mit ORDER BY so zurechtbiegen, dass das komplette Menü in der richtigen Reihenfolge zurückgegeben wird?
Oder soll ich mir meine Untermenüs lieber einzeln mit Hilfe einer While-Schleife aus der Datenbank ziehen?

Ich stehe da gerade irgendwie auf dem Schlauch.

Wäre klasse, wenn mir jemand einen Tipp zum formulieren des Queries geben könnte.

Vielen Dank
1coffee2go ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 13.06.2011, 17:51  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Das Thema wurde bereits hinreichend behandelt. Bitte benutze die Forensuche und beachte diesen Thread!
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline  
Alt 13.06.2011, 18:11  
Neuer Benutzer
 
Registriert seit: 02.12.2010
Beiträge: 8
PHP-Kenntnisse:
Anfänger
1coffee2go befindet sich auf einem aufstrebenden Ast
Standard

Vielen Dank für deinen Hinweis.
Wenn ich unter den 230 Beiträgen zum Thema "mysql sortieren" oder "menü sortieren" was gefunden hätte, würde ich hier nicht um Hilfe schreien.

Bei Google habe ich nur rekursive Lösungen gefunden - so möchte ich es aber eben eher nicht machen.

Darum die Frage:
Kann man die komplette Sortierarbeit der DB überlassen?

[EDIT]Auf Nested Sets möchte ich ebenfalls verzichten, da ich dann die Stuktur meiner DB umbauen müsste[/EDIT]

Geändert von 1coffee2go (13.06.2011 um 18:25 Uhr).
1coffee2go ist offline  
Alt 13.06.2011, 18:24  
Erfahrener Benutzer
 
Benutzerbild von tr0y
 
Registriert seit: 26.07.2010
Beiträge: 4.856
PHP-Kenntnisse:
Fortgeschritten
tr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblick
tr0y eine Nachricht über MSN schicken
Standard

Einträge als XML kaskadieren und per Stylesheet das fertige ul/li-Konstrukt ausgeben ( wär meiner version das zu tun ohne mir in der DB oder in PHP oder in XSLT die finger zu brechen ), das selbe ginge auch per array gehampel oder auch in der DB...

Was das wie angeht: behandeln wir das hier ja nich zum ersten mal, Forensuche.. Die Spuckt dir "meine Version", das Array-Gehampel und vielleicht auch die Datenbankvariante aus..
__________________
Lasse mir ohne Anwendung von Gewalt Dinge schenken, Amazon weiß darüber bald mehr.
tr0y ist offline  
Alt 13.06.2011, 19:49  
Neuer Benutzer
 
Registriert seit: 02.12.2010
Beiträge: 8
PHP-Kenntnisse:
Anfänger
1coffee2go befindet sich auf einem aufstrebenden Ast
Standard

Das Array-Gehampel mit usort etc. befriedigt mich nicht.
Darum suche ich ja nach einer alternative.

Zwischen den ganzen " Benutze "ORDER BY"! "-Posts bin ich auch auf deine XML Variante gestoßen. Sehr interessantes Konzept.
Aber wie du in dem Post selber festgestellt hast: Es ist am Anfang ein wenig Umständlich umzusetzen.

Auf eine Variante die Einträge hübsch sortiert direkt aus der DB zu ziehen bin ich leider nicht gestoßen.

Muss ich mich jetzt doch mit der Array-Lösung oder dem rekursiven ablaufen der DB-Einträge zufrieden geben?
1coffee2go ist offline  
Alt 13.06.2011, 20:02  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Es gibt keine Out-of-the-DB-Variante, es sei denn Du machst soviele Self-Joins wie es Hierarchiuestufen gibt.

Google Parent-ID


[MOD: Thread geschlossen]
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline  
Alt 13.06.2011, 23:33  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Ich finde, Pfad ist nicht Tree, trotzdem will ich die Lösung nicht vorenthalten
Zitat:
Zitat von Jens Clasen
Ich leg den Link auch mal in die Delicious Sammlung. Danke an Jens.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline  
Thema geschlossen


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
[Erledigt] Query ausgeben funktioniert nicht... ~fransen~ PHP Einsteiger 9 14.01.2011 10:36
XML Daten sortiert ausgeben ?! toney PHP Einsteiger 2 07.12.2010 18:37
Scriptsuche Spiele liste sortiert ausgeben ThelastExit Scriptbörse 6 14.11.2010 14:20
[Erledigt] Query in Tabellenform ausgeben MySQL-Bastler PHP Tipps 2010 8 04.11.2010 22:45
Ausgabe nach Datum sortiert ausgeben Cetax PHP Tipps 2009 14 18.10.2009 14:38
XML Inhalt sortiert ausgeben 9999 PHP Tipps 2009 25 05.07.2009 11:08
Text zufällig und sortiert in Tabelle ausgeben trettin Scriptbörse 5 07.06.2009 18:57
Datumsformat "Monat Jahr" eingeben und sortiert ausgeben. dahead PHP Tipps 2009 15 01.04.2009 10:34
(MySQL) Ergebnisse Zählen und sortiert ausgeben... Hawk Datenbanken 5 04.03.2007 17:08
Letzten 10 Datensätze in einem Query ausgeben Schky Datenbanken 3 17.03.2006 22:20
Sortiert nach Differenz 2er Datensätze ausgeben Datenbanken 2 24.07.2005 12:36
Mysql: Daten nach Anfangsbuchstaben Sortiert Ausgeben PHP Tipps 2005-2 5 09.07.2005 15:56
[Erledigt] Datenbank sortiert ausgeben! Datenbanken 4 23.03.2005 12:49
Verzeichnis -> read() sortiert ausgeben Unbekanntes_Pferd PHP Tipps 2005 9 30.01.2005 20:39
Datenbankeinträge sortiert ausgeben lassen PHP Tipps 2004 3 22.10.2004 22:10

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
query ausgeben mysql, zwei verschiedene datenbanken in einer php datei ausgeben

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