php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Scripts > Apps und PHP Script Gesuche
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


Apps und PHP Script Gesuche Hier könnt ihr nach PHP Skripten und Programmen fragen. Postet eure Wünsche

Thema geschlossen
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 02-01-2001, 03:34
Benutzerbild von Berni Berni
  OWNER
Links : Onlinestatus : Berni ist offline
Registriert seit: Jan 2001
Ort: Frankfurt / Egelsbach
Beiträge: 6.312
Blog-Einträge: 6
Berni befindet sich auf einem aufstrebenden Ast
Standard

Hallo Leute!

Wir arbeiten an einerem größeren WebProjekt, und würden gerne Foren mit Threads erstellen, d.h. das die Übersicht in Baumform dargestellt wird. Wie mache ich das denn am besten. Details sind nicht wichtig, eher der logische Ablauf (SQL-Queries, schleifen usw...) Das ganze eilt leider etwas...

Wäre klasse, wenn Ihr mir helfen könntet.
__________________

php-Entwicklung | ebiz-consult.de
PHP-Webhosting für PHP Entwickler | ebiz-webhosting.de
die PHP Marktplatz-Software | ebiz-trader.de
  #2 (permalink)  
Alt 02-01-2001, 11:11
Benutzerbild von Berni Berni
  OWNER
Links : Onlinestatus : Berni ist offline
Registriert seit: Jan 2001
Ort: Frankfurt / Egelsbach
Beiträge: 6.312
Blog-Einträge: 6
Berni befindet sich auf einem aufstrebenden Ast
Standard Die Konkurrenz hats!

Installiert doch einfach eines der bekannten Foren und schau dir mal die Logig an.

Dort findest du alles was du brauchst.

F2p
__________________

php-Entwicklung | ebiz-consult.de
PHP-Webhosting für PHP Entwickler | ebiz-webhosting.de
die PHP Marktplatz-Software | ebiz-trader.de
  #3 (permalink)  
Alt 02-01-2001, 11:35
Benutzerbild von Berni Berni
  OWNER
Links : Onlinestatus : Berni ist offline
Registriert seit: Jan 2001
Ort: Frankfurt / Egelsbach
Beiträge: 6.312
Blog-Einträge: 6
Berni befindet sich auf einem aufstrebenden Ast
Standard Ja, aber...

...das habe ich ja schon mehrfach versucht, leider jedoch ohne erfolg, weil die fertigen Scripte kaum oder keine Dokumentation oder Kommentare besitzen. Das ist sehr schwer, da eine logik herauszusehen.

Stimmt es, das ich wohl nicht um eine rekursive Funktion rumkomme? Muß ich dabei in jedem Schleifendurchgang ein SQL-Statement abschicken?

Ciao, Christian
__________________

php-Entwicklung | ebiz-consult.de
PHP-Webhosting für PHP Entwickler | ebiz-webhosting.de
die PHP Marktplatz-Software | ebiz-trader.de
  #4 (permalink)  
Alt 02-01-2001, 12:25
Benutzerbild von Berni Berni
  OWNER
Links : Onlinestatus : Berni ist offline
Registriert seit: Jan 2001
Ort: Frankfurt / Egelsbach
Beiträge: 6.312
Blog-Einträge: 6
Berni befindet sich auf einem aufstrebenden Ast
Standard ??

ich glaube nicht,
ich denke es liegt wohl eher am "Order by". Denn wenn du die Daten richtig in der Datenbank ablegst, denke ich du kannst die Daten dann auch in der richtigen Reihenfolge ausgeben.
Die Tiefe erhälst du sofort beim speichern eines neuen Beitrags.

Ich habe mich selber noch nichtg mit dem problem beschäftigt. Wenn du eine bessere Lösung gefunden hast würde ich gerne eine kurze Lösungsbeschreibung haben.

Danke

F2p

__________________

php-Entwicklung | ebiz-consult.de
PHP-Webhosting für PHP Entwickler | ebiz-webhosting.de
die PHP Marktplatz-Software | ebiz-trader.de
  #5 (permalink)  
Alt 02-01-2001, 12:40
Benutzerbild von Berni Berni
  OWNER
Links : Onlinestatus : Berni ist offline
Registriert seit: Jan 2001
Ort: Frankfurt / Egelsbach
Beiträge: 6.312
Blog-Einträge: 6
Berni befindet sich auf einem aufstrebenden Ast
Standard Ich hab jetzt...

...mal die Lösung mit der rekursiven Funktion umgesetzt. Das war sehr einfach, ging schneller als ich dachte. Ich habe gesehen, das viele Foren auf diese Weise arbeiten, und hoffe das es nicht zu sehr auf die Performance geht.

Wie meinst Du das denn - direkt richtig speichern? Wie würdest Du das denn machen?

Ciao.21
__________________

php-Entwicklung | ebiz-consult.de
PHP-Webhosting für PHP Entwickler | ebiz-webhosting.de
die PHP Marktplatz-Software | ebiz-trader.de
  #6 (permalink)  
Alt 02-01-2001, 12:54
h0meal0ne@mymail.ph
 Newbie
Links : Onlinestatus : h0meal0ne@mymail.ph ist offline
Registriert seit: Jan 2001
Beiträge: 97
h0meal0ne@mymail.ph ist zur Zeit noch ein unbeschriebenes Blatt
Standard also, ich würde ...

jedem Post eine id (primary key), eine thread_id und eine parent_id (jeweils noch index drauf) geben, so daß ich

a) in einer Query sämtliche threads listen kann:
select ID,TOPIC from POSTINGS where PARENT_ID=0 order by DATE desc
b) alle Postings eines Threads auf einmal fetch kann:
select * from POSTINGS where THREAD_ID=xxx order by ID asc
c) die Baumstruktur gespeichert habe, die ich dann rekursiv ausgeben kann:
function show_thread ($index) {
global $result; // enthält alle Ergebnisse des fetches
show_post ($result[$index]); // aktuelles Posting ausgeben
$id = $result[$index][ID];
for ($i=0; $i<count($result); $i++)
if ($result[$i][PARENT_ID]==$id)
show_thread($i);
}

Gerade bei umfangreichen threads hält das die Last auf dem DB-Server möglichst gering.

-=* Titus *=-
| php pro |
|nerd for life|
"""""""""""""""
  #7 (permalink)  
Alt 02-01-2001, 12:55
Benutzerbild von Berni Berni
  OWNER
Links : Onlinestatus : Berni ist offline
Registriert seit: Jan 2001
Ort: Frankfurt / Egelsbach
Beiträge: 6.312
Blog-Einträge: 6
Berni befindet sich auf einem aufstrebenden Ast
Standard Db Struktur

z.b


|Tread | TeadResponse | Ebene
+------+--------------+-------
|1 |1 |1
|1 |2 |2
|1 |3 |2

Diese Datenbank würde mit Select: select * from Forum .... order by Tread ,TeadResponse
den baum richtig ausgeben

?? oder

__________________

php-Entwicklung | ebiz-consult.de
PHP-Webhosting für PHP Entwickler | ebiz-webhosting.de
die PHP Marktplatz-Software | ebiz-trader.de
  #8 (permalink)  
Alt 02-01-2001, 13:22
Benutzerbild von Berni Berni
  OWNER
Links : Onlinestatus : Berni ist offline
Registriert seit: Jan 2001
Ort: Frankfurt / Egelsbach
Beiträge: 6.312
Blog-Einträge: 6
Berni befindet sich auf einem aufstrebenden Ast
Standard TREFFER!

Ich hab's genau wie Titus gemacht. Die Baumstruktur wird allein anhand einer parent_id erzeugt. Der Nachteil ist zunächst, das ich für jede Zeile die ich ausgeben will, ein eigenes SQL-Query absetzen muß - was sich aber beim witerdenken zum Vorteil entwickelt, weil ich dann bei großen Threads von mehreren Hundert Antworten die Last gering halte, weil ich eben immer nur einen kleinen Teil des Threads abfrage...

Müßte gehen, oder?

Das Problem dabei, wenn man das schon in der DB richtig speichern will ist doch, das ich nicht weiß wieviele Leute noch auf einen Post antworten werden (Kann aber auch sein, das ich Dich nicht richtig verstanden habe...)

Interesse an der Lösung? (Obwohl Titus ja auch schon was gezeigt hat...)

Ciao.21
__________________

php-Entwicklung | ebiz-consult.de
PHP-Webhosting für PHP Entwickler | ebiz-webhosting.de
die PHP Marktplatz-Software | ebiz-trader.de
  #9 (permalink)  
Alt 03-01-2001, 14:19
h0meal0ne@mymail.ph
 Newbie
Links : Onlinestatus : h0meal0ne@mymail.ph ist offline
Registriert seit: Jan 2001
Beiträge: 97
h0meal0ne@mymail.ph ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Wenn ich das richtig verstehe, willst Du also immer nur den Inhalt EINES Postings angeben und eine Liste der Anworten bis in die x-te Generation ... liege ich da richtig?
  #10 (permalink)  
Alt 03-01-2001, 14:30
DarkLord
 Newbie
Links : Onlinestatus : DarkLord ist offline
Registriert seit: Jan 2001
Beiträge: 15
DarkLord ist zur Zeit noch ein unbeschriebenes Blatt
Standard Ja, das auch!

aber eigentlich habe ich doch dann ein Liste des kompletten Boards, wenn ich immer mit dem ersten Posting anfange, oder?

Also bei mir sieht's jetzt ganz gut aus...

  #11 (permalink)  
Alt 03-01-2001, 15:02
h0meal0ne@mymail.ph
 Newbie
Links : Onlinestatus : h0meal0ne@mymail.ph ist offline
Registriert seit: Jan 2001
Beiträge: 97
h0meal0ne@mymail.ph ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Also, der DB-Server kann weniger Probleme bekommen, wenn du nur eine Query absetzt und dann per php aussiebst und sortierst.
Spätestens mit php4 und zend dürfte es da absolut keine Probleme geben.

-=* Titus *=-
| php pro |
|nerd for life|
"""""""""""""""
  #12 (permalink)  
Alt 03-01-2001, 15:30
DarkLord
 Newbie
Links : Onlinestatus : DarkLord ist offline
Registriert seit: Jan 2001
Beiträge: 15
DarkLord ist zur Zeit noch ein unbeschriebenes Blatt
Standard Wie?

Würdest Du das denn machen? Ich weiß leider nicht was ZEND ist, und was ich damit machen kann.

Du mußt doch dann quasi in dem result-set suchen. Wie geht das?

Ciao.21
  #13 (permalink)  
Alt 09-01-2001, 10:24
h0meal0ne@mymail.ph
 Newbie
Links : Onlinestatus : h0meal0ne@mymail.ph ist offline
Registriert seit: Jan 2001
Beiträge: 97
h0meal0ne@mymail.ph ist zur Zeit noch ein unbeschriebenes Blatt
Standard

> Wie?
> Würdest Du das denn machen?
per php ... siehe unten

> Ich weiß leider nicht was ZEND ist,
> und was ich damit machen kann.
Mit Zend kann man die php-Skripte kompilieren; sie müssen anschließend nicht mehr bei jedem Aufruf interpretiert werden -> schneller & weniger Prozessorlast

>Du mußt doch dann quasi in dem
> result-set suchen. Wie geht das?
z.B. so:
1) ganzes thread (ab anzuzeigendem Post) vorsortiert fetchen:
$q = mysql_query ("select * from POSTINGS where THREAD_ID=$thread_id and ID>=$post_id order by PARENT_ID asc,ID asc");
for ($p=array(); $x=mysql_fetch_array($q); ) $p[]=$x;
2) aktuelles posting ausgeben:
show_post ($p[0]);
3) Liste der follow-ups nach sub-thread:
unset ($p[0]);
show_sub ($p, $post_id);

function show_sub ($p, $id) {
for ($subs = array(), reset($p); $x=each($p); ) if ($x[1][PARENT_ID]==$id) $subs[]=$x[0];
if (count($subs)) {
echo '<ul>'; for ($i=0; $i<count($subs); $i++) {
$x = $p[$subs[$i]]; unset ($p[$subs[$i]]);
echo '<li>',$x[TOPIC],' von ',$; show_sub ($p, $x[ID]); echo '</li>';
}
echo '</ul>';
}
}

Mit wenig Aufwand läßt sich das so so umbauen, daß das gesamte thread aufgelistet und das aktuelle Posting
hervorgehoben wird.

-=* Titus *=-
| php pro |
|nerd for life|
"""""""""""""""

the PHP resource
Thema geschlossen

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

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 an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

Projektmanagement Damals und Heute
Projektmanagement Damals und HeuteWerfen Sie einen Blick auf das, was sich verändert hat, und entdecken Sie, wo die Zukunft dieses Gebietes hinsteuert.

18.01.2021 | Berni

Arbeitsmanagement-Tools
Arbeitsmanagement-ToolsWarum jedes Team Arbeitsmanagement-Tools benötigt. Man schätzt, dass 25% eines durchschnittlichen Mitarbeiter-Tages durch ineffiziente Arbeit vergeudet werden.

11.12.2020 | Berni


 

Aktuelle PHP Scripte

PHP-Login

Die Aufgabenstellung bestand darin, ein einfaches Login-Script zu erstellen, dass schnell und universell auf jeder Webseiten eingebaut werden kann. Der Schwerpunkt lag dabei auf der Entwicklung eines universell einsetzbarem Modul für den Login und zur

05.04.2021 Wallhalla | Kategorie: PHP/ Kundenverwaltung
ebiz-trader 6.0 - Das professionelle PHP Marktplatz Script ansehen ebiz-trader 6.0 - Das professionelle PHP Marktplatz Script

Mit unserer Lösungen können Sie nahezu jeden B2B / B2C Marktplatz betreiben den Sie sich vorstellen können. Ganz egal ob Sie einen Automarktplatz, Immobilenportal oder einfach einen Anzeigenmarkt betreiben möchten. Mit ebiz-trader können Sie Ihre Anforder

18.03.2021 Berni | Kategorie: PHP/ Anzeigenmarkt
Modelmanager 2

Der Modelmanager 2 kann als komplette Webseite oder als Webtool in einem eigenen Verzeichnis Installiert werden, so ist dieser auch sehr Flexibel einsetzbar.

17.03.2021 Stephan_1972 | Kategorie: PHP/ Bilder
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 15:00 Uhr.