Matthias Apsel: Liste mit Kategorien und Unterkategorien (2. Lösungsidee)

Beitrag lesen

Om nah hoo pez nyeetz, Melvin Cowznofski!

Die Inhalte der ID sind belanglos.

Was genau meinst Du bitte damit? Der "Inhalt der ID"? Verstehe ich Dich richtig, dass Du damit sagen willst, jede Kategorie braucht eine eindeutige ID und jede Unterkategorie braucht eine eindeutige ID, aber es muss nicht jede Zahl als ID in jeder Gruppe stehen?

Die IDs müssen nur eindeutig sein, es könnten sogar Zufallszahlen sein.

Es gibt dann also noch eine 3. Tabelle mit allen URLs
Und die ist vermutlich auch unnötig. Die Links können ebenfalls mit in der einen Tabelle als weiteres Feld stehen.

Wenn es eine Tabelle "Kategorien" und "Unterkategorien" gibt, dann lässt sich zwischen denen eine 1:n-Beziehung herstellen. Da es beides Kategorien sind, lässt sich die 1:n-Beziehung auch zur selben Tabelle herstellen.

Ebenso bräuchtest du keine eigenen Tabellen für "Frauen" und "Männer", nur weil du den Status des Verheiratetseins abbilden willst (unabhängig davon, dass es auch gleichgeschlechtliche Partner gibt)

Aus meiner Sicht wäre folgende Tabelle sinnvoll

ID | KNr | KName | Parent | Linktext | Linkziel

In der Spalte Parent steht die KNr. der Elternkategorie bzw. 0, wenn es kein Elternteil gibt.

Ich sehe nicht, wo du da Redundanzen erzeugst.

Um eine weitere Analogie aufzuzeigen: Mit der selben Logik würde man jemenden, der eine DB für einen Autovermieter erstellt und eine Tabelle mit den Fahrzeugkategorien sowie eine mit den Fahrzeugen füllt, sagen, er soll doch die Autos in die selbe Tabelle wie die Fahrzeugkategorien schmeissen. Auch hier stünden dann 2 _völlig_ verschiedene Informationen in eienr Tabelle.

In dem Fall ist eine Kategorie tatsächlich etwas anderes als ein Auto.

auf den ersten Blick viel schneller und einfacher zu erfassen als würde man das Ganze als

foo bar foo{

bar foo foo
    }
bar bar foo
baar foo bar{
    foo bar{
        bar bar
        }
    }


>   
  
Man sollte auch "vorne" wieder ankommen mit der schließenden Klammer und Leerzeilen sind auch nicht unwichtig.  
  
~~~php
foo bar foo {  
    bar foo foo  
}  
  
bar bar foo  
  
baar foo bar {  
    foo bar {  
        bar bar  
    }  
}

Das Beispiel ist auch dumm gewählt, weil ja in echt nicht bar foo drinsteht. sondern

for ($i = 1; $i < 10; $i++ ) {  
    bar foo foo  
}  
  
bar bar foo  
  
foreach ($cats as $value) {  
    if ($value != 0) {  
        bar bar  
    }  
}

Ich habe mich übrigens mit der alternativen Schreibweise von Kontrollstrukturen in PHP angefreundet, das macht es mMn. übersichtlicher wenn man html-Ausgaben im PHP-Code braucht.

for ($i = 1; $i < 10; $i++ ) :  
    bar foo foo  
endfor;  
  
bar bar foo  
  
foreach ($cats as $value) :  
    if ($value != 0) :  
        bar bar  
    endif;  
endforeach;

Man darf die beiden Schreibweisen allerdings nicht mischen. (Und unser Syntaxhighlighter kennt die nicht.)

Eine letzte Frage noch: In diesem speziellen Fall schreibe ich das Ganz nur für mich persönlich. Da ich nur URLs kompiere und in einem Formulatr einfüge, weiß ich ja, dass hier keine html Tags landen werden.

Wenn es URIs sind die du "in schön" ausgeben möchtest, verwende urldecode.

http://example.com/wiki/überflüssige Füßlinge

http%3A%2F%2Fexample.com%2Fwiki%2F%C3%BCberfl%C3%BCssige%20F%C3%BC%C3%9Flinge

Matthias

--
Der Unterschied zwischen Java und JavaScript ist größer als der zwischen Hang und Hangar.