Malcolm Beck´s: Datenbank-Struktur für ein einfaches Treemenu

Beitrag lesen

hi,

Warum reisst du das ganze überhaupt mit Gewalt derart auseinander, in dem du Sachen, die eigentlich zusammengehören, in unterschiedliche Datenobjekte steckst?

Ich bin doch noch in der Lehre ;)

Ein Link kann Unterelemente haben oder nicht, wenn ja, dann sind diese in einem Array abgelegt, das wiederum Links enthält, die wiederum Unterelemente haben können oder nicht, ...

Dann hätte ich doch aber wieder das Problem mit dem SELECT-Statement, dem ich sagen müsste,

Wenn (Unterelemente)
  dann hole die Daten

---
Ich sollte wohl noch mal von vorn anfangen; wie könnte eine mögliche Datenbank-Struktur für ein einfaches Treemenu aussehen?

Nested-Sets wäre in meinem Fall wohl mit Kanonen auf Spatzen schiessen, denn ich benötige Maximal 3 Ebenen, zumal ich bei Nested-Sets eh nicht durchsteige, selbst nach 5 anläufen.

Bevor ich wieder in eine Sackgasse laufe, helft mir doch Bitte mal, eine vernünftige Struktur für eine einfache Navigation zu erstellen.

Mein Ansatz wäre folgender:

ID  
  
-- Links der ersten Ebene  
Titel -- <a>Titel</a>  
Target -- <a href="/Target">Titel</a>  
  
-- Links der zweiten Ebene  
Subtitel -- <a>Subtitel</a>  
Subtarget -- <a href="/Target/Subtarget">Subtitel</a>  
ParentId -- Die ID des übergeordneten Links  
  
-- Möglicher Inhalt  
ID, Titel, Target, Subtitel, Subtarget, ParentId  
 (1, 'Autos', 'autos', '', '', '')  
,(2, '', '', 'BMW', 'bmw', '1')  
,(3, '', '', 'VW', 'vw', '1')  
 (4, 'Busse', 'busse', '', '', '')  
,(5, '', '', 'Iveco', 'iveco', '4')  
,(6, '', '', 'Renault', 'Renault', '4')

Oder wäre das schon vom Ansatz her falsch?

mfg

--
echo '<pre>'; var_dump($Malcolm_Beck`s); echo '</pre>';
array(2) {
  ["SELFCODE"]=>
  string(74) "ie:( fl:) br:> va:? ls:? fo:) rl:| n4:# ss:{ de:? js:} ch:? sh:( mo:? zu:("
  ["Meaningful"]=>
  string(?) "Der Sinn des Lebens ist deinem Leben einen Sinn zu geben"
}