php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > SQL / Datenbanken
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


SQL / Datenbanken Probleme mit SQL? Hier könnt ihr eure Fragen zu SQL (MySQL, PostgreSQL, MS-SQL und andere ANSI-SQL Server) los werden.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 16-01-2005, 02:03
meglepetes
 Junior Member
Links : Onlinestatus : meglepetes ist offline
Registriert seit: Aug 2003
Beiträge: 61
meglepetes ist zur Zeit noch ein unbeschriebenes Blatt
Standard tabelle rekursiv für menubaum auslesen

hallo zusammen,

ich habe folgende tabelle für einen kleinen shop

CREATE TABLE `kategorie` (
`id` int(11) NOT NULL auto_increment,
`tiefe` int(11) NOT NULL default '0',
`zeiger` int(11) NOT NULL default '0',
`anlagedatum` int(11) NOT NULL default '0',
`aktiv` int(11) NOT NULL default '0',
`beschreibung` varchar(100) NOT NULL default '',
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=8 ;

INSERT INTO `kategorie` VALUES (1, 1, 0, 0, 1, 'Monitor');
INSERT INTO `kategorie` VALUES (2, 1, 0, 0, 1, 'Gehäuse');
INSERT INTO `kategorie` VALUES (3, 1, 0, 0, 1, 'Eingabegeräte');
INSERT INTO `kategorie` VALUES (4, 2, 1, 0, 1, 'CRT');
INSERT INTO `kategorie` VALUES (5, 2, 1, 0, 1, 'TFT');
INSERT INTO `kategorie` VALUES (6, 1, 0, 0, 1, 'Tastatur');
INSERT INTO `kategorie` VALUES (7, 2, 4, 0, 1, '17');

die spalte tiefe ist die verschachtelungstiefe, die spalte zeiger zeigt auf kategorie.id

mit folgendem codeschnipsel wollte ich nun ein menu stricken, das sich aus- und einklappt, aber es klappt nicht so, wie ich das will


viellleicht kann mir hier einen die eingebung ins hirn nageln, wo mein denkfehler ist.

vorab many thx

megle

PHP-Code:
<?

include "zentrale/head.php";
?>

</head>

<body class="show">
Verlinkung<br><br><br>
<a href="abfragen.php">Abfragen</a><br><br>


<?
 
$aktTiefe    
$_GET[aktTiefe];
$aktId        $_GET[id];

if( !isset(
$aktTiefe) ){
    
$aktTiefe 1;
}

function 
unterKategorie(){
    global 
$MySql_kategorie $aktId $aktTiefe;
    
$neueTiefe func_get_arg(0);
    
$neueId func_get_arg(1);
    
    if ( 
$aktTiefe == $neueTiefe && $aktId == $neueId ) {
        echo 
"abfrage<br><br>";
        
$sqlbefehlunter  "SELECT * FROM $MySql_kategorie ";
        
$sqlbefehlunter    .= "WHERE zeiger = $neueId ";
        
$sqlbefehlunter    .= "AND tiefe = $neueTiefe ";
        
$abfrageunter    mysql_query($sqlbefehlunter);
        
$anzahlunter    mysql_num_rows($abfrageunter);

        for( 
$x $x $anzahlunter $x++ ){
            
$idunter            mysql_result$abfrageunter $x"id");
            
$naechsteTiefe        mysql_result$abfrageunter $x"tiefe");
            
$naechsteTiefe++;
            
$zeigerunter        mysql_result$abfrageunter $x"zeiger");
            
$beschreibungunter    mysql_result$abfrageunter $x"beschreibung");
            
            
$leerraum        "";
            for( 
$l $l $naechsteTiefe $l++ ){
                
$leerraum        "&nbsp;&nbsp;&nbsp;";
            }
    
            print 
"$leerraum<a href='abfragen.php?id=" $idunter "&aktTiefe=" $naechsteTiefe "'>" $beschreibungunter "</a><br><br>\n\n";
            
            
unterKategorie$naechsteTiefe $idunter );
            echo 
"aufruf " $naechsteTiefe  "<br><br>";
            
        }
    }

}

$sqlbefehl     "SELECT * FROM $MySql_kategorie ";
$sqlbefehl    .= "WHERE tiefe = 1 ";
$sqlbefehl    .= "ORDER BY beschreibung ASC ";
$abfrage    mysql_query($sqlbefehl);
$anzahl        mysql_num_rows($abfrage);

for( 
$i $i $anzahl $i++ ){
    
$id                mysql_result$abfrage $i"id");
    
$naechsteTiefe    mysql_result$abfrage $i"tiefe");
    
$naechsteTiefe++;
    
$zeiger            mysql_result$abfrage $i"zeiger");
    
$beschreibung    mysql_result$abfrage $i"beschreibung");

    
$leerraum        "";
    for( 
$l $l $tiefe $l++ ){
        
$leerraum        "&nbsp;&nbsp;&nbsp;";
    }
    
    print 
"$leerraum<a href='abfragen.php?id=" $id "&aktTiefe=" $naechsteTiefe "'>" $beschreibung "</a><br><br>\n\n";

    
unterKategorie$naechsteTiefe $id );
    echo 
"aufruf " $naechsteTiefe  "<br><br>";

}

print 
"</body>\n";
print 
"</html>\n";

?>
Mit Zitat antworten
  #2 (permalink)  
Alt 16-01-2005, 14:43
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

1.) Code umbrechen!!!

2.) Wo ist der Fehler?
Zitat:
tabelle rekursiv für menubaum auslesen
3.) such mal nach menumenu
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #3 (permalink)  
Alt 18-01-2005, 23:13
Coragon Rivito
 Master
Links : Onlinestatus : Coragon Rivito ist offline
Registriert seit: Oct 2002
Ort: Mils/AT
Beiträge: 908
Coragon Rivito ist zur Zeit noch ein unbeschriebenes Blatt
Coragon Rivito eine Nachricht über ICQ schicken Coragon Rivito eine Nachricht über AIM schicken Coragon Rivito eine Nachricht über Yahoo! schicken
Standard

wozu speicherst du tiefe mit ab ? ergibt sich doch allein aus der tatsache wieviele eltern der knoten hat ..
und solltest du mal das menu neu"stricken" / anordnen sind die dir nur im weg
__________________
mfg,
Coragon
Mit Zitat antworten
Antwort

Lesezeichen


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

Themen-Optionen
Thema bewerten
Thema bewerten:

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 an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

Projektmanagement Damals und Heute
Projektmanagement Damals und HeuteWerfen Sie einen Blick auf das, was sich verändert hat, und entdecken Sie, wo die Zukunft dieses Gebietes hinsteuert.

18.01.2021 | Berni

Arbeitsmanagement-Tools
Arbeitsmanagement-ToolsWarum jedes Team Arbeitsmanagement-Tools benötigt. Man schätzt, dass 25% eines durchschnittlichen Mitarbeiter-Tages durch ineffiziente Arbeit vergeudet werden.

11.12.2020 | Berni

-->
 

Aktuelle PHP Scripte

ebiz-trader 6.0 - Das professionelle PHP Marktplatz Script ansehen ebiz-trader 6.0 - Das professionelle PHP Marktplatz Script

Mit unserer Lösungen können Sie nahezu jeden B2B / B2C Marktplatz betreiben den Sie sich vorstellen können. Ganz egal ob Sie einen Automarktplatz, Immobilenportal oder einfach einen Anzeigenmarkt betreiben möchten. Mit ebiz-trader können Sie Ihre Anforder

21.10.2020 Berni | Kategorie: PHP/ Anzeigenmarkt
Sendeplan Script inkl. Wunsch- und Grußbox + Kick-System + Bewerbungssystem

Das professionelle Sendeplan PHP Script inkl. Wunsch- und Grußbox + Kick-System für dein Webradio. Der übersichtliche Sendeplan bietet deinen Moderatoren und Zuhörern die perfekte Übersicht der aktuellen Shows! Du kannst nicht nur Sendungen eintragen, s

20.10.2020 drcomputer | Kategorie: PHP/ Web Radio
Newsmanager 2

Der Newsmanager 2 ist sehr Vielfältig und kann News schreiben, Newsletter versenden und RSS Feeds in einem erzeugen.

20.10.2020 Stephan_1972 | Kategorie: PHP/ News
 Alle PHP Scripte anzeigen

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