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 ::

TYPO3 Kochbuch

TYPO3 Kochbuch 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.02.2008, 17:59:05
ksticker ksticker ist offline
Member
 
Registriert seit: Nov 2007
Ort: Karlsruhe, Dresden
Alter: 35
Beiträge: 596
ksticker eine Nachricht über ICQ schicken
Linksliste mit meheren Ebenen welcher in einer Datenbank gespeichert wird

Hi, ich habe folgendes Problem, ich möchte den zukünftigen Betreiber einer Internetseite die Verwaltung so einfach wie möglich gestalten.
So soll er zum Beispiel seine Menülinks ohne weiteres bearbeiten können.

Das Formular sieht derzeit wie folgt aus
http://www.hesa-baederatelier.de/neu/test.php?

und der Quellcode so:
PHP-Code:
// Initialisierung
$sql_alles "SELECT * FROM Inhalte Where Menu_Struktur = '_root'"
$mysql_alles mysql_query($sql_alles); 
// while-Anweisung
while ($ergeb_alles mysql_fetch_assoc($mysql_alles)) { // Bedingung
    
echo'<option value="'.$ergeb_alles['Seiten_Name'].'" color="red">'.$ergeb_alles['Seiten_Name'].'</option>'// Anweisungsblock
    
$sql_Pfad "SELECT * FROM Inhalte Where Menu_Struktur = '_root.".$ergeb_alles['Seiten_Name']."'"
    
$mysql_Pfad mysql_query($sql_Pfad); 
    if (
mysql_num_rows ($mysql_Pfad) > "0")
    {
        while (
$ausgabe_Pfad mysql_fetch_assoc($mysql_Pfad)) 
        {
            echo
'<option value="'.$ausgabe_Pfad['Seiten_Name'].'" color="red">---- '.$ausgabe_Pfad['Seiten_Name'].'</option>';
            
        }

    
    }
  } 
Nu habe ich nur ein Problem, der Betreiber/ Admin kann nun nur solche eine Tiefe/Ebene für die Links treffen.

Über Uns
---- Geschichte
---- Sitz
---- Telefon
---- Geschäftszeiten

ich wöllte die aber gerne unbegrenzt ermöglichen (auch wenn die evtl. sinnlos ist, mich möchte aber jede möglichkeit für den Betreiber bieten) so das es so aussieht.


Über Uns
---- Geschichte
---- Kontakt
-------- Sitz
-------- Telefon
-------- Geschäftszeiten
---- Geschäftsbereiche


Den Pfad des Links speicher ich in der Datenbank.

Bsp. welches sich auf das erste Beispiel bezieht:


Seite Pfad
Über Uns _root
Geschichte _root.Über Uns
Sitz _root.Über Uns
Telefon _root.Über Uns
Geschäftszeiten _root.Über Uns

Wie kann ich es nun in meinem Script so realisieren das auch mehere Ebenen/Tiefen möglich sind und nicht nur eine, möchte ja nicht mehere Schleifen hintereinandere hängen.

Danke für Deine Hilfe :-)
Mit Zitat antworten
  #2  
Alt 08.02.2008, 18:05:44
feuervogel feuervogel ist offline
SELFPHP Guru
 
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
AW: Linksliste mit meheren Ebenen welcher in einer Datenbank gespeichert wird

mit einer (intelligenteren) baumstruktur.

meinetwegen so:

id | name
1 | punkt1
2 | punkt2
3 | punkt1.1
4 | punkt1.1.1

und nun noch die verbindungen, z.B. so:

topid | subid
0 | 1
0 | 2
1 | 3
3 | 4

oder, falls jeder knoten höchstens einen vater haben kann, die id des vaters direkt beim menüpunkt.
Mit Zitat antworten
  #3  
Alt 08.02.2008, 18:14:32
ksticker ksticker ist offline
Member
 
Registriert seit: Nov 2007
Ort: Karlsruhe, Dresden
Alter: 35
Beiträge: 596
ksticker eine Nachricht über ICQ schicken
AW: Linksliste mit meheren Ebenen welcher in einer Datenbank gespeichert wird

geht das nicht so wie ich es zur zeit realisiert hab?
Mit Zitat antworten
  #4  
Alt 09.02.2008, 10:41:07
feuervogel feuervogel ist offline
SELFPHP Guru
 
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
AW: Linksliste mit meheren Ebenen welcher in einer Datenbank gespeichert wird

Zitat:
Zitat von ksticker Beitrag anzeigen
geht das nicht so wie ich es zur zeit realisiert hab?
Okay, ich bringe es noch einmal auf den Punkt: Den Pfad serialisiert ohne Fremdschlüssel in einem Feld zu speichern ist sehr dumm. Warum? Weil die Algorithmen hierfür nicht sehr einfach zu finden sind (alleine schon fürs auslesen).

Du willst momentan noch auslesen und nicht auf eine bestimmte Tiefe angewiesen sein.

Hier mein rekursiver Pseudo-Pseudocode-Algorithmus:

Code:
for jeden menüpunkt mit pfad == "_root":
 print menüpunkt->name
 gib_menüpunkt_aus(menüpunkt->pfad . "." . menüpunkt->name)
endfor

define function gib_menüpunkt_aus(vaterpfad):
 menüpunkte =  (wähle menüpunkte aus dessen pfad == vaterpfad)
 for menüpunkt in menüpunkte:
  print menüpunkt->name
  gib_menüpunkt_aus(menüpunkt->pfad . "." . menüpunkt->name)
 endfor
enddefine
Wie gesagt, sehr umständlich und nicht grade ressourcensparend. Lustig wirds dann, wenn Du Menüpunkte umhängen willst oder sie umbenennen willst. Aber die Suppe darfst Du gerne selbst auslöffeln.

Geändert von feuervogel (09.02.2008 um 10:41:41 Uhr)
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

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
neuer Datensatz wird nicht in der Datenbank gespeichert Tatjana PHP Grundlagen 10 29.06.2007 18:04:35
Zeilenumbrüche in Variablen und Datenbank neo244 PHP Grundlagen 3 05.01.2007 01:57:40


Alle Zeitangaben in WEZ +2. Es ist jetzt 14:04:51 Uhr.


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


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