php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005-2

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 26.06.2005, 19:47  
Erfahrener Benutzer
 
Registriert seit: 16.05.2004
Beiträge: 369
Simon9990
Standard Mehrere Forentiefen

hi

ich bastle gerade an einem Forum.
Und bis jetzt hab ich um ein Forum einer Kategorie untergeordnet
immer

Zuerst die ganzen Kategorien mit einer Whileschleife aus der Datenbank und dann die Dazugehörigen Foren.
Also so ungefähr:
PHP-Code:
<?php
$query 
mysql_query("SELECT * FROm kat");
while(
$row mysql_fetch_array($query)){

$query1 mysql_query("SELECT * FROM forums where katid = '"$row['id'] ."'");
while.....

?>
Hiermit kann ich aber nur eine Forentiefe erreichen.
Also im Moment kann ich es höchstens so aussehen lassen

KATEGORIE
-Forum
-Forum

was ich möchte ist aber so:

KATEGORIE
-Forum
-- Unterforum
---Unter-Unterforum
---- ....
....

Und eben belibig viele unterstufen.

Wie mach ich das am besten ?
ich dachte mir mit einer for Schleife müsste das doch eigentlich gehen weiss aber nicht genau wie.

gruß Simon
__________________
Der G-Translator
Simon9990 ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 26.06.2005, 20:00  
Gast
 
Beiträge: n/a
Standard Re: Mehrere Forentiefen

Zitat:
Zitat von Simon9990
Hiermit kann ich aber nur eine Forentiefe erreichen.
Was ist das?
 
Alt 26.06.2005, 20:06  
Erfahrener Benutzer
 
Registriert seit: 16.05.2004
Beiträge: 369
Simon9990
Standard

Hi ich meine , dass es beliebige viele Unterforen von Foren geben soll.

Also

Wenn ich eine
Kategorie hab
sollte ich ein der Kategorie untergeordnetes Forum machen können.-
Ich möchte jedoch auch ein dem Forum, Unterforum, Unterunter,.. forum Foren unterordnen können!
__________________
Der G-Translator
Simon9990 ist offline  
Alt 26.06.2005, 20:09  
Gast
 
Beiträge: n/a
Standard

http://www.develnet.org/36.html
 
Alt 26.06.2005, 20:12  
Erfahrener Benutzer
 
Registriert seit: 14.01.2004
Beiträge: 2.543
fantast
fantast eine Nachricht über ICQ schicken
Standard

fuege der tabelle kat eine extra spalte hinzu in der du die "tiefe" festlegen kannst. dann beim auslesen kannst du das ja grafisch darstellen.
__________________
Was ist validität?
fantast ist offline  
Alt 26.06.2005, 21:58  
Erfahrener Benutzer
 
Registriert seit: 18.07.2004
Beiträge: 2.162
PHP-Kenntnisse:
Fortgeschritten
Basti
Standard

Zitat:
Zitat von fantast
fuege der tabelle kat eine extra spalte hinzu in der du die "tiefe" festlegen kannst.
Geil!

PHP - Anfänger (52 m)
PHP - Fortgeschrittene (101 m)
PHP - Pro...

Basti
Basti ist offline  
Alt 26.06.2005, 21:59  
Erfahrener Benutzer
 
Registriert seit: 14.01.2004
Beiträge: 2.543
fantast
fantast eine Nachricht über ICQ schicken
Standard

???
__________________
Was ist validität?
fantast ist offline  
Alt 26.06.2005, 23:29  
Erfahrener Benutzer
 
Registriert seit: 18.07.2004
Beiträge: 2.162
PHP-Kenntnisse:
Fortgeschritten
Basti
Standard

Ich dachte, das wäre ein Scherz gewesen, denn mit einer Spalte, in der die Tiefe festgelegt wird kannst du ja keinen Baum aufbauen. Zumindest wüßte ich nicht wie bzw. wozu diese Angabe sinnvoll sein könnte, lasse mich aber gerne eines Besseren belehren.

Basti
Basti ist offline  
Alt 27.06.2005, 00:07  
Erfahrener Benutzer
 
Registriert seit: 29.10.2004
Beiträge: 1.781
derHund
Standard

nun, zumindest habe ich über deine antwort schmunzeln müssen

man _kann_ in einer spalte die tiefe festlegen, ist aber weder nötig noch so toll zu handhaben.

ich persönlich bevorzuge die variante mit einer parent_id
__________________
derHund ist offline  
Alt 27.06.2005, 00:59  
axo
Erfahrener Benutzer
 
Registriert seit: 24.12.2004
Beiträge: 1.814
axo ist zur Zeit noch ein unbeschriebenes Blatt
Standard

die parent_id - variante ist (zumindest für gut besuchte) foren leider kaum tragbar - wenn man für jede 'verschachtelung' einen join braucht wird's unlustig. unlustiger sind nur noch die verschachtelten queries, die man immer wieder sieht und wie's im eröffnungsthread beschrieben wurde.

ich bevorzuge http://pear.php.net/package/DB_NestedSet ... allerdings hat es schon einen grund, warum foren keine beliebige tiefen anbieten - im prinzip weil jeder neue thread eine ziemlich große update-operation aller lft-rgt-indizes hervorruft, und damit wird ein posting in einem gut besuchten forum saulangsam. in so 'nem buch 'trees and hierarchies for smarties' von joe celko beschreibt der guru aber eine methode, mit der man im prinzip so etwas wie range-operationen macht und die lft - rgt - positionen mit 'leerräumen' dazwischen einfügt, d.h. man lässt einfach 100 nummern frei, und ein neuer thread wird mit der nummer dazwischen genommen. damit ist die nächste 'große' update-operation immer erst nach dem hundertsten neuen thread notwendig. geniale sache, das. aber nicht einfach.
axo 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


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