php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 07.10.2004, 21:06  
Gast
 
Beiträge: n/a
Standard DYNAMISCHES MENUE MIT PHP und MySQL PROFIS GEFRAGT

Mein anliegen ist das ich ein Menü Programmieren will das soviele Untermenüs wie möglich in eine Datenbank speichern kann und diese wieder in einer art baumstrucktur ausgibt. das Speichern ist kein problem da habe ich folgende MYSQL Strucktur benutzt.
_______________________________
CREATE TABLE `kategorie` (
`ID_KATEGORIE` int(11) NOT NULL auto_increment,
`NAME_KATEGORIE` varchar(60) NOT NULL default '',
`PARENT_ID` int(11) NOT NULL default '0',
`SORT_ORDER` int(3) NOT NULL default '0',
`DATE_ADDED` datetime NOT NULL default '0000-00-00 00:00:00',
`DATEMODIFIED` datetime NOT NULL default '0000-00-00 00:00:00',
PRIMARY KEY (`ID_KATEGORIE`),
KEY `PARENT_ID` (`PARENT_ID`)
) TYPE=MyISAM AUTO_INCREMENT=9 ;
__________________________________________________ _

Ich habe jetzt bloß Probleme bei der Ausgabe ich dachte eine rekursion wird da weiterhelfen. Also habe ich mit arrays und funktionen um mich geschmissen und diese mal ausprobiert.

Problem ist jetzt das ich die erste und die zweite ebene erhalte. Bloß geht es nicht weiter.

Ich muss eine Funktion schreiben der alle menues zurückverfolgend aus gibt wie folgt:

Menue1
Untermenue1
SubUntermenue1
Subuntermenue2
Untermenue2
Menue2

und so weiter.

dazu habe ich dieses Script geschrieben das leider nicht funktioniert würde mich unheimlich freuen wenn Ihr mir helfen könntet:
_________________________________________________
function sub_categories ($Kategorie, $account)
{
$query_sub_menu = "SELECT * FROM `kategorie` WHERE `PARENT_ID` = '".$Kategorie."'";
$result_sub_menu = @mysql_query($query_sub_menu);
$num_sub_menu = @mysql_num_rows($result_sub_menu);
if ($num_sub_menu >= 1)
{
for ($j=0; $j < $num_sub_menu; $j++)
{
$row_sub_menu = @mysql_fetch_object($result_sub_menu);
$id_name = array();
$account = array_merge($account, array($row_sub_menu->NAME_KATEGORIE => $row_sub_menu->ID_KATEGORIE ));
}
return $account;
}
}

function sub_categories_link($ID, $PARENT_ID)
{
if (($_REQUEST['untermenue'] == "true") && ($_REQUEST['ID_KATEGORIE'] == $ID))
{
$z = sub_categories($_REQUEST['ID_KATEGORIE'],array());
while(!empty($z))
{
$menu_name = array_keys ($z);
while(!empty($menu_name))
{
echo "<a href=menue.php?untermenue=true&liste=true&ID_KATEG ORIE=".array_shift($z).">".array_shift($menu_name) ."</a>
";
}
}
}
if (($_REQUEST['untermenue'] == "true") && ($_REQUEST['ID_KATEGORIE'] == $PARENT_ID))
{
$z = sub_categories($_REQUEST['$PARENT_ID'],array());
while(!empty($z))
{
$menu_name = array_keys ($z);
while(!empty($menu_name))
{
echo "<a href=menue.php?untermenue=true&liste=true&ID_KATEG ORIE=".array_shift($z).">".array_shift($menu_name) ."</a>
";
}
}
}
}


//Die verbindungsdatei
include("connection.tmp");

$query = "SELECT * FROM `kategorie` WHERE `PARENT_ID` = '0'";
$result = @mysql_query($query);
$num = @mysql_num_rows($result);
if ($num < 1) { echo ("Kein Menü");} else
{
for($i = 0; $i < $num; $i++)
{
$row = @mysql_fetch_object($result);
//ausgabe Hauptkatagorie
echo "<a href=menue.php?untermenue=true&ID_KATEGORIE=".$row->ID_KATEGORIE.">".$row->NAME_KATEGORIE."</a>";
echo "
";
sub_categories_link($row->ID_KATEGORIE, $row->PARENT_ID);
//echo "
";
}
}
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 08.10.2004, 09:05  
Erfahrener Benutzer
 
Registriert seit: 27.10.2003
Beiträge: 530
Thice
Standard Re: DYNAMISCHES MENUE MIT PHP und MySQL PROFIS GEFRAGT

Erstmal Ordnung schaffen:
PHP-Code:
function sub_categories ($Kategorie$account)
{
    
$query_sub_menu     "SELECT * FROM `kategorie` WHERE `PARENT_ID` = '".$Kategorie."'";
    
$result_sub_menu    = @mysql_query($query_sub_menu);
    
$num_sub_menu        = @mysql_num_rows($result_sub_menu);
    if (
$num_sub_menu  >= 1)
    {
        for (
$j=0$j $num_sub_menu$j++)
        {
            
$row_sub_menu   =   @mysql_fetch_object($result_sub_menu);
            
$id_name        =   array();
            
$account        =   array_merge($account,  array($row_sub_menu->NAME_KATEGORIE => $row_sub_menu->ID_KATEGORIE ));
        }
        return 
$account;
    }   
}

function 
sub_categories_link($ID$PARENT_ID)
{
    if ((
$_REQUEST['untermenue'] == "true") && ($_REQUEST['ID_KATEGORIE'] == $ID))
    {
        
$z sub_categories($_REQUEST['ID_KATEGORIE'],array());
        while(!empty(
$z))
        {
            
$menu_name  =   array_keys ($z);
            while(!empty(
$menu_name))
            {
                echo 
"<a href=menue.php?untermenue=true&liste=true&ID_KATEGORIE=".array_shift($z).">".array_shift($menu_name)."</a>
 "
;
            }
        }
    }
    if ((
$_REQUEST['untermenue'] == "true") && ($_REQUEST['ID_KATEGORIE'] == $PARENT_ID))
    {
        
$z sub_categories($_REQUEST['$PARENT_ID'],array());
        while(!empty(
$z))
        {
            
$menu_name  =   array_keys ($z);
            while(!empty(
$menu_name))
            {
                echo 
"<a href=menue.php?untermenue=true&liste=true&ID_KATEGORIE=".array_shift($z).">".array_shift($menu_name)."</a>
 "
;
            }
        }
    }
}

//Die verbindungsdatei
include("connection.tmp");

$query "SELECT * FROM `kategorie` WHERE `PARENT_ID` = '0'";
$result    = @mysql_query($query);
$num    = @mysql_num_rows($result);
if (
$num 1) { echo ("Kein Menü");} else

    for(
$i 0$i $num$i++)
    {
        
$row    =   @mysql_fetch_object($result);
        
//ausgabe Hauptkatagorie
        
echo "<a href=menue.php?untermenue=true&ID_KATEGORIE=".$row->ID_KATEGORIE.">".$row->NAME_KATEGORIE."</a>";
        echo 
"
"
;
        
sub_categories_link($row->ID_KATEGORIE$row->PARENT_ID);
        
//echo "
";
    } 
}[/code] 
__________________
kintzebros.de | KintzeBros Home Entertainment
2061. Nach dem Frieden | kurzfilm
Paula | spielfilm
Thice ist offline   Mit Zitat antworten
Alt 08.10.2004, 09:09  
Erfahrener Benutzer
 
Registriert seit: 27.10.2003
Beiträge: 530
Thice
Standard

Du rufst die Sub-Menü-Funktion pro Menü einmal auf. Für die Menüpunkte aber nicht. Dann kann ja nur die zweite Ebene funktionieren... Oder seh ich da was falsch?
__________________
kintzebros.de | KintzeBros Home Entertainment
2061. Nach dem Frieden | kurzfilm
Paula | spielfilm
Thice 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
[Erledigt] MySQL - ERROR 1044 bei erstellen einer Datenbank _youngenterpriser_ Datenbanken 2 05.02.2008 17:56
Mysql Server Einstellunen Optimieren pchero Datenbanken 3 01.05.2007 19:50
PHP 5.1.2 mySQL 5.0.19 MS-SQL 2005 IIS 6.0 Shakaar PHP-Fortgeschrittene 10 26.03.2006 22:23
Kein Zugriff über ODBC mit der IP-Adresse auf MySql DB Datenbanken 4 09.02.2006 11:04
[Erledigt] Zu blöd um MySQL in PHP einzurichten? Apache Server PHP Tipps 2006 18 30.01.2006 23:39
[Erledigt] Mysql 4.1.x unter php 4.3.9 Datenbanken 3 15.11.2005 13:49
Wieso funktioniert mein MySQL nicht mehr ? Skazi Datenbanken 1 09.11.2005 14:49
Schnittstelle zwischen PHP und MySQL klappt net !!! Datenbanken 16 16.10.2005 14:24
[Erledigt] not allowed to connect to this MySQL server PHP Tipps 2005-2 2 23.09.2005 18:34
Suche Tipps für Persormance-Steigerung (Geld für Nützliches) Beitragsarchiv 18 16.08.2005 10:57
MYSQL läuft nur wenn /tmp auf 777 Datenbanken 5 06.07.2005 08:38
mysql root passwort vergessen Datenbanken 1 29.05.2005 11:33
Dynamisches Menue PHP Tipps 2005 1 07.03.2005 10:31
Access denied for user: '@localhost' / SYSTEM@localhost Datenbanken 0 10.11.2004 20:35
[Erledigt] PHP5 &amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;a m p; MySQL Datenbanken 5 01.08.2004 05:47

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php dynamisches menü mysql, dynamisches menü php mysql, php mysql menu, php mysql dynamisches menü, auswahlmenü php mysql, mysql dynmaisches mneü, php mysql auslesen, dynamisches menü in php, php menü mysql, php 5 mysql dynamisches menü, mysql dynamisches menü parent_id, menu msql datenbank, dynamisches menü mit php, tutorial php menu mysql, php mysql menue, dynamisches menü datenbank mit php, mysql php menu, dynamisches menü mit php und mysql, dynamisches php menu mit datenbank, php5 mysql menu

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