php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2006

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 03.11.2006, 13:23  
Erfahrener Benutzer
 
Registriert seit: 27.08.2003
Beiträge: 449
PHP-Kenntnisse:
Fortgeschritten
GSJLink
Standard Ordnerstruktur aus mySQL lesen

Hallo,
ich habe folgendes Problem: Für einen Downloadbereich habe ich Ordner in eine mySQL Tabelle geschrieben. Jeder Ordner erhält in der Tabelle eine ID und eine ID des übergeordneten Ordners. Wenn es keinen übergeordneten Ordner gibt, steht in diesem Feld eine 0.

Diese Ordnerstruktur würde ich jetzt wie folgt ausgeben:

Beispiel:
Code:
Ordner 1 (übergeordneter Ordner: 0)
- Ordner 4 (ü. O.: 1)
-- Ordner 7 (ü. O.: 4)
- Ordner 5 (ü. O.: 1)
Ordner 2 (ü. O.: 0)
- Ordner 6 (ü. O.: 2)
Ordner 3 (ü. O.: 0)
In mySQL dann wie folgt (Struktur, kein Code):
Code:
Abfrage (#1) wo Übergeordneter Order = 0:
Schleife (
  Ausgabe Ordner
  Abfrage (#2) wo Übergeordneter Order = ID (aus #1)
  Schleife (
  Ausgabe Ordner
    Abfrage (#3) wo Übergeordneter Order = ID (aus #2)
    Schleife (
    ...    
    )
  )
)
Dieser Code würde ja irgendwann aufhören und damit hätte man automatisch eine Begrenzung von Ebenen.
Wie gebe ich jedoch jetzt diese Ordner aus, ohne eine Begrenzung von Ebenen zu haben ohne allzuviel Code schreiben zu müssen?

mfg
Link
GSJLink ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 03.11.2006, 13:48  
da schreibt der ElePHPant
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.903
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

Mit einer Schleife die alle Elemente ausliest und dann den entsprechend ordnet und anzeigt.
Flor1an ist offline  
Alt 03.11.2006, 14:27  
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

an so etwas kniffle ich auch gerade. aber ich fürchte, da muß sql echt passen. obwohl ich die datenstruktur eigentlich gut finde, wenn ein objekt auf seine eigene tabelle verweist.
nikosch ist offline  
Alt 03.11.2006, 14:39  
Erfahrener Benutzer
 
Registriert seit: 27.08.2003
Beiträge: 449
PHP-Kenntnisse:
Fortgeschritten
GSJLink
Standard

Zitat:
Zitat von RaZoR
Mit einer Schleife die alle Elemente ausliest und dann den entsprechend ordnet und anzeigt.
Inwiefern ordnen?

mfg
Link
GSJLink ist offline  
Alt 03.11.2006, 14:46  
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

indem eine funktion die daten rekursiv durchläuft und z.b. je nach elternelement in eine bestimmte ebene eine mehrdimensionalen arrays einordnet.
nikosch ist offline  
Alt 03.11.2006, 15:19  
Erfahrener Benutzer
 
Registriert seit: 27.08.2003
Beiträge: 449
PHP-Kenntnisse:
Fortgeschritten
GSJLink
Standard

Also ich habs jetzt mal so gemacht mit ner Rekursion:

PHP-Code:
function ausgabe1($id) {
    
    
$sql2 "SELECT * FROM kateogorien WHERE parent=$id ORDER BY name"
    
$ergebnis2 mysql_query($sql2$verbindung); 
    while(
$row2 mysql_fetch_object($ergebnis2))
    {
        echo 
$row2->name.'
'
;
        
$id2 $row2->id;
        echo 
ausgabe1($id2);
    }     
}

$sql "SELECT * FROM kateogorien WHERE parent=0 ORDER BY name"
$ergebnis mysql_query($sql$verbindung); 
while(
$row mysql_fetch_object($ergebnis))
{
    echo 
$row->name.'
'
;
    
$id $row->id;
    echo 
ausgabe1($id);


Funktioniert jedoch irgendwie nicht.

Er gibt nur die erste Ebene aus. Die Funktion ausgabe1(); ignoriert der irgendwie.

mfg
Link
GSJLink ist offline  
Alt 03.11.2006, 16:42  
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

nee, ich meinte, wie es wie razor gesagt hat:
Zitat:
Zitat von RaZoR
Mit einer Schleife die alle Elemente ausliest
sonst hast du ja soviele anfragen. kommt aber auch drauf an, wie umfangreicht der vz-baum ist den du darstellen willst.

1. deine funktion gibt nichts zurück. also nützt echo nix.
2. die untere schleife entspricht genau der aus der funktion....
nikosch ist offline  
Alt 03.11.2006, 17:35  
Erfahrener Benutzer
 
Registriert seit: 27.08.2003
Beiträge: 449
PHP-Kenntnisse:
Fortgeschritten
GSJLink
Standard

Das heißt konkret? Ich kann mir darunter leider nicht so wirklich was vorstellen

mfg
Link
__________________
"Ein Script ist nur dann gut, wenn es unabhängig von der verwendeten Plattform funktioniert"
GSJLink ist offline  
Alt 03.11.2006, 17:43  
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

heißt konkret: SELECT * FROM ...
nikosch ist offline  
Alt 03.11.2006, 19:07  
Erfahrener Benutzer
 
Registriert seit: 27.08.2003
Beiträge: 449
PHP-Kenntnisse:
Fortgeschritten
GSJLink
Standard

Hm, entweder steh ich gerad aufm Schlau oder ich weiß immer noch nicht was du vor hast.
Ich kann die Teile ja nicht nach der ID Ordnen, es kann ja nämlich sein, dass da welche fehlen. Außerdem kann ich von den Parent IDs ja nicht direkt bestimmen, in welcher Ebene sich der Ordner befindet. Oder doch?

mfg
Link
__________________
"Ein Script ist nur dann gut, wenn es unabhängig von der verwendeten Plattform funktioniert"
GSJLink ist offline  
 


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
MySQL Abfrage von Ver. 5 für Ver 3. des MySQL Servers FireFIghter Datenbanken 3 02.02.2007 17:18
Kein Zugriff über ODBC mit der IP-Adresse auf MySql DB Datenbanken 4 09.02.2006 11:04
[Erledigt] Mysql 4.1.x unter php 4.3.9 Datenbanken 3 15.11.2005 13: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
mysql_result(): supplied argument is not a valid MySQL PHP Tipps 2005-2 4 25.08.2005 14:44
[Erledigt] MySQL Befehl für MySQL 4.0.24 Datenbanken 2 23.08.2005 17:35
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
Access denied for user: '@localhost' / SYSTEM@localhost Datenbanken 0 10.11.2004 20:35
[Erledigt] PHP5 &a m p; MySQL Datenbanken 5 01.08.2004 05:47

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
ordnerstruktur mysql, ordner struktuer von my sql, mysql lesen, ordnerstruktur mysql auslesen, ordnerstruktur mit mysql, mysql \ordnerstruktur\ rekursiv, php ordner struktur sql, mysql ordnerstruktur, ordnerstruktur php

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