SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Einführung in XHTML, CSS und Webdesign

Einführung in XHTML, CSS und Webdesign zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP für Fortgeschrittene und Experten
Hilfe Community Kalender Heutige Beiträge Suchen

PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 08.12.2003, 20:16:40
Miriel Miriel ist offline
Anfänger
 
Registriert seit: Dec 2003
Beiträge: 4
Navigation aus einer Datenbank auslesen

Ich muss aus einer MySQL-Datenbank eine Navigation auslesen, die wie ein Explorer aufgebaut ist.

Die Tabellenstruktur ist folgende:

Parent_ID Child_ID
122 400
122 325
325 98

Das ist jetzt ein Beispiel. Die Navigation soll dann so aussehen:

122
400
325
98

Leider komme ich da nicht weiter. Meinen Code findet ihr hier:
http://www.it.iuw-portal.de/navigation.phps
Und die Navigation so weit ich sie habe hier:
http://www.it.iuw-portal.de/navigation.php

Ich möchte in der Navigation mit Links arbeiten. Wenn ich z.b. auf 122 klicke, soll er mir 400 und 325 anzeigen,
Wenn ich dann auf 325 klicke, soll er mir 122, 325 und 98 anzeigen.
Und so weiter.

Mein Problem ist, dass er die 1. if-Anweisung durchläuft. Also in dem Beispiel, wenn ich auf 122 klicke, zeigt er mir 400 und 325 an.
Wenn ich jetzt aber auf 325 klicke zeigt er mir nichts mehr an, bis auf 122.
Wenn ihr oben auf den Link klickt, werdet ihr das besser sehen.

Ich hoffe, der Quelle-Code ist verständlich. Ich habe mich bemüht, die Kommentare verständlich zu schreiben.

Vielleicht bin ich mit der Idee auch völlig auf dem falschen Weg...

Wäre super, wenn ihr mir helfen könnt

Miri
Mit Zitat antworten
  #2  
Alt 09.12.2003, 11:39:46
Benutzerbild von Nev
Nev Nev ist offline
Member
 
Registriert seit: Feb 2002
Ort: Österreich / Wien
Alter: 44
Beiträge: 992
Hi Miriel

Erst mal Willkommen auf SELFPHP

Da hast dir ein nettes Problem ausgesucht.
Hab mich vor längerer Zeit auch mit sowas beschäftigt und bin auf folgende Lösung gekommen.

Code:
$menu = array();
$sql = "SELECT * FROM CHANNELS_IN_CH 
            ORDER BY PARENT_ID, SORT";
$menu_res = mysql_query($sql); 
While ($menu_row = mysql_fetch_array($menu_res)) {
    $menu[$menu_row["PARENT_ID"], $menu_row["SORT"], $menu_row["ID"]] = $menu_row;
}
Get_Menu_Entry ($menu, 0, 0);

Function Get_Menu_Entry ($Menu_Cache, $get_menuID, $depth, $depth_max = 3) {
    WHILE ( LIST($key1,$val1) = EACH($Menu_Cache[$get_menuID]) ) {
        WHILE ( LIST($key2,$menus) = EACH($val1) ) {

            // hier die Ausgabe die du brauchst!
            
            
            
            IF ($depth + 1 <= $depth_max) {
                Get_Menu_Entry ($Menu_Cache, $menus["menuentryID"], $depth+1);
            }
        }
    }
}
Damit bekommst du alles als Baum in ein Array und kannst dieses dann mit Get_Menu_Entry ausgeben!

Ich würde dir empfehlen, ein SORT-Feld einzubauen, dann hast du nacher kein Problem mehr das ganze irgendwohin zu positionieren.

Wenn du Get_Menu_Entry mit einer bestimmten ID aufrufst, bekommst du dann nur mehr den Teil-Baum.
__________________
Cu
Nev the XxX (Sven-Marcus Maderbacher)

Master of www.Burnworld.de
www.Nev-hilft.de die Seite für den Coder
Mit Zitat antworten
  #3  
Alt 09.12.2003, 17:52:08
Miriel Miriel ist offline
Anfänger
 
Registriert seit: Dec 2003
Beiträge: 4
Danke erstmal für die schnelle Antwort! ;o))


Also, ich muss sagen, dass sieht für mich wahnsinnig kompliziert aus. Ich muss wohl noch sehr viel lernen *g*

Werde mir das mal genauer anschauen und das testen.

Aber 2 Fragen habe ich schon.
Was genau ist die Variable depth_max? Ist das die Tiefe, also wieviele Unterzweige es gibt?
Und wie sage ich ihm, mit welchem Parent_Ids er starten soll?


Liebe Grüße,
Miri

Geändert von Miriel (09.12.2003 um 18:15:26 Uhr)
Mit Zitat antworten
  #4  
Alt 09.12.2003, 17:54:25
Benutzerbild von Nev
Nev Nev ist offline
Member
 
Registriert seit: Feb 2002
Ort: Österreich / Wien
Alter: 44
Beiträge: 992
Hi @gain

Wenn du dich ned auskennst, melde dich einfach hier.

PS:Viel Spass beim durcharbeiten.
__________________
Cu
Nev the XxX (Sven-Marcus Maderbacher)

Master of www.Burnworld.de
www.Nev-hilft.de die Seite für den Coder
Mit Zitat antworten
  #5  
Alt 09.12.2003, 18:54:24
Miriel Miriel ist offline
Anfänger
 
Registriert seit: Dec 2003
Beiträge: 4
Also ich habe das Skript jetzt einfach mal laufen lassen.
Er mag aber diese Zeile nicht:

$menu[$menu_row["PARENT_ID"], $menu_row["SORT"], $menu_row["ID"]] = $menu_row;

Fehler:
Parse error: parse error, unexpected ',', expecting ']' in /www/htdocs/itp/navi2.php

Da ich ehrlich gesagt keine Ahnung habe, was in dieser Zeile gemacht wird, weiß ich nicht, was ich da machen muss...
Könntest du mir das bitte erklären? Danke schonmal!

Liebe Grüße,
Miri
Mit Zitat antworten
  #6  
Alt 09.12.2003, 19:02:11
Benutzerbild von Nev
Nev Nev ist offline
Member
 
Registriert seit: Feb 2002
Ort: Österreich / Wien
Alter: 44
Beiträge: 992
Sorry hab mich "etwas" vertan

Code:
$menu[$menu_row["PARENT_ID"]] [$menu_row["SORT"]][$menu_row["ID"]] = $menu_row;
__________________
Cu
Nev the XxX (Sven-Marcus Maderbacher)

Master of www.Burnworld.de
www.Nev-hilft.de die Seite für den Coder
Mit Zitat antworten
  #7  
Alt 10.12.2003, 14:27:21
Benutzerbild von Nev
Nev Nev ist offline
Member
 
Registriert seit: Feb 2002
Ort: Österreich / Wien
Alter: 44
Beiträge: 992
Hi Miriel

Ich habe gerade einen Interessanten Link zu der Thematik gefunden
NestedSet-Verfahren

Vielleicht hilft dir das weiter ;-)
__________________
Cu
Nev the XxX (Sven-Marcus Maderbacher)

Master of www.Burnworld.de
www.Nev-hilft.de die Seite für den Coder
Mit Zitat antworten
  #8  
Alt 15.12.2003, 20:18:54
Miriel Miriel ist offline
Anfänger
 
Registriert seit: Dec 2003
Beiträge: 4
Sooo habe das ganze jetzt hinbekommen.

Ich möchte mich nochmal für die Hilfe bedanken!

Liebe Grüße,
Miri
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

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

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 18:13:24 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt