Kategorie bei Forum!

Kategorien: PHP & MySQL
9 Antworten
Spike_php
Spike_php am Sonntag, 17. April 2005 um 10:25
Hallo leutz, mich würde mal interessieren wie man das am besten lösen kann, also das jetzt boardid2 kategorie ist und boardid3,4,5 zu boardid2 gehört alos das diese 3 foren sind. wie kann man das am besten realisieren,weil ich habe es immer mit 2 tabellen gemahct, einmal kategorie und einmal foren und dann kann ich die foren den kategorien zuordnen. also ich meine des so: Kategorie(Boardid2) -Forum(Boardid3) -Forum(Boardid4) -Forum(Boardid5) Kategorie(Boardid6) -Forum(Boardid7) -Forum(Boardi8) Kategorie(Boardid9) -Forum(Boardid10) Danke für Antwort.

Kommentare

Morpheus
Morpheus am Sonntag, 17. April 2005 um 20:07

du musst nur bei der Forentabelle eine Spalte namens typ machen.
Dort trägst du für Kategorie 1 und für Forum 2 ein
Dann machst du noch ne Spalte namens cat und dort trägst du bei einer Kategorie einfach nix ein und bei Foren die ID der Kategorie in der gleichen Tabelle

Dann machst dus einfach so

$result=mysql_query("SELECT * FROM boards WHERE typ=1");
// Alle Foren holen, die Kategorien sind
while ($row=mysql_fetch_array($result)) {

echo "Kategorie: ".$row[name];

$result2=mysql_query("SELECT * FROM boards WHERE cat='".$row[id]."' AND typ=2");
while($row2=mysql_fetch_array($result2)) {
// Alle Foren holen die typ 2 sind also Forum und die als Kategorie die ID der Kategorie haben in der sie abgerufen werden

echo "Forum: ".$row2[name];

}
}


hoffe es hat dir geholfen :)

cruz
cruz am Sonntag, 17. April 2005 um 20:38

kann man auch mit einer spalte machen. 0 steht für eine kategorie und darüber hinaus stehts dafür das es einer kategorie der jeweiligen id eben unter geordnet ist. unterkategorien fallen zwar weg aba das scheinst du ja nicht zu verlangen.

dadurch fällt das mit den zwei spalten weg .. n bissl resourcen schonend :) und je einfacher desto besser programmiert, find ich :P

Spike_php
Spike_php am Montag, 18. April 2005 um 08:22

jop ich habe es mir vom wbb abgeguckt also mit parentid.
Danke morpheus, so in der art habe ich mir des auch vorgestellt, bloß ich wollte des so wie rock5tar gesagt mit parentid haben,mhh mir fehlt bloß eine kleine denkhilfe,danke!

boardid | parentboardid
2 | 0
3 | 2
4 | 2
5 | 2
6 | 0
7 | 6
8 | 6
9 | 0
10 | 9

cruz
cruz am Montag, 18. April 2005 um 11:10


$result=mysql_query("SELECT * FROM boards WHERE parentid=0");
// Alle Foren holen, die Kategorien sind
while ($row=mysql_fetch_array($result)) {

echo "Kategorie: ".$row[name];

$result2=mysql_query("SELECT * FROM boards WHERE parentid='".$row[id]."' AND typ=2");
while($row2=mysql_fetch_array($result2)) {
// Alle Foren holen die parentid gleich der, der kategorie sind also Forum und die als Kategorie die ID der Kategorie haben in der sie abgerufen werden

echo "Forum: ".$row2[name];

}
}


hab mir mal erlaubt den code von morpheus herzunehmen. viel glück damit ;)

Spike_php
Spike_php am Montag, 18. April 2005 um 11:53

cool danke, mhh aber wenn parentid=0 ist dann sieht man doch das es eine kategorie ist dann braucht man doch gar kein typ, oder irre ich mich da?

Morpheus
Morpheus am Montag, 18. April 2005 um 13:40

ja das stimmt. Wie Rockstar ja schon sagte hat er den von oben genommen und dabei vergessen typ wegzumachen :)

Mit meinem Beispiel könntest du eben auch Foren darstellen die keine Kategorie besitzen. Aber brauchst du ja anscheinend nicht ;)

Spike_php
Spike_php am Montag, 18. April 2005 um 15:30

mhhh stimmt allerdings,aber kann man des mit parentid irgendwie net auch regeln?

cruz
cruz am Montag, 18. April 2005 um 23:38

so .. also nochmal .. ja ich hab vergessn typ rauszumachn ... bei dem folgenden code brauchst du nur mehr parentid! kein typ mehr, nur parentid ;)

$result=mysql_query("SELECT * FROM boards WHERE parentid=0");
// Alle Foren holen, die Kategorien sind
while ($row=mysql_fetch_array($result)) {

echo "Kategorie: ".$row[name];

$result2=mysql_query("SELECT * FROM boards WHERE parentid='".$row[id]."'");
while($row2=mysql_fetch_array($result2)) {

echo "Forum: ".$row2[name];

}
}

Spike_php
Spike_php am Dienstag, 19. April 2005 um 07:09

Heheheh okay vielen dank. kann man mit dem code jetzt auch nur foren machen ohne kategorie?