php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Scripts > BRAINSTORMING PHP/SQL/HTML/JS/CSS
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


BRAINSTORMING PHP/SQL/HTML/JS/CSS Ihr habt eine Idee, aber keinen genauen Ansatz? Diskutiert mit anderen Usern des Forums über eure Gedankengänge um evtl. hilfreiche Ideen zu bekommen!
Normale Fragen bitte weiterhin in die entsprechenden Foren!

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 23-03-2005, 21:10
IchBinIch
 Registrierter Benutzer
Links : Onlinestatus : IchBinIch ist offline
Registriert seit: Apr 2003
Beiträge: 324
IchBinIch ist zur Zeit noch ein unbeschriebenes Blatt
Standard auslesen "rekursiver" Kommentare

Hi,

ich bastel mir gerade kleines Gästebuch mit Kommentarfunktion.

Ziel soll es sein, dass die User wie gewohnt ihre Kommentare schreiben können, aber auch auf einen Kommentar anworten können (wie in einem Forum.

Soll aussehen wie folgt.

Eintrag 3
- Reply to 3
- Reply to 3
Eintrag 2
- Reply to 2
Eintrag 1
Eintrag 0

Einträge sollen vorzugsweise alle in eine Tabelle gespeichert werden. egal ob Reply oder normal.

Jetzt könnte ich natürlich die normalen einträge auslesen und dann in der while-schleife in einer seperaten query noch die antworten. aber das kanns ja nicht sein.

hat jemand ein paar schlagwörter für mich, wie ich es in einer query lösen kann?
__________________
ICH BIN ICH!!!
Mit Zitat antworten
  #2 (permalink)  
Alt 24-03-2005, 10:03
ghostgambler
 Master
Links : Onlinestatus : ghostgambler ist offline
Registriert seit: Jul 2004
Ort: DE - NRW
Beiträge: 4.620
ghostgambler ist zur Zeit noch ein unbeschriebenes Blatt
Standard Re: auslesen "rekursiver" Kommentare

Zitat:
Original geschrieben von IchBinIch
hat jemand ein paar schlagwörter für mich, wie ich es in einer query lösen kann?
Nested Set, rekursive Beiträge, Baum bei Forenbeiträgen, usw. such doch einfach mit der Suche etwas rum, wenn es dich wirklich interessiert, wirst du auch was finden
Mit Zitat antworten
  #3 (permalink)  
Alt 24-03-2005, 21:14
daniel987
 Junior Member
Links : Onlinestatus : daniel987 ist offline
Registriert seit: May 2004
Beiträge: 139
daniel987 ist zur Zeit noch ein unbeschriebenes Blatt
daniel987 eine Nachricht über ICQ schicken
Standard

Es ist nicht lange her seit wir das das letzt mal hatten nur halt mit Kategorien:

Endlose (Sub/)Kategorien
Mit Zitat antworten
  #4 (permalink)  
Alt 25-03-2005, 11:20
IchBinIch
 Registrierter Benutzer
Links : Onlinestatus : IchBinIch ist offline
Registriert seit: Apr 2003
Beiträge: 324
IchBinIch ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ich danke euch schonmal,

allerdings keinne ich alle drei modelle recht gut und halte sie irgendwie alle nicht für so geeignet.

rekursiv fällt ohnehin raus. bei 20 einträgen pro seite, habe ich nachher 21 Queries, was nicht wirklich optimal ist.

nested sets sind mir mit der rechts-links struktur eigentlich zu groß. vorallem, weil ich eigentlich nur zwei ebenen habe (den beitrag + kommentare zum beitrag, die alle auf der gleichen ebene sind und nur chronologisch geordnet werden müssen).

Menu_menu wäre vielleicht am ehesten geeignet. aber eben nur über 2 tabellen, was eigentlich bei 2 ebenen überflüssig sein sollte.


mich reizt es nach einer variante, wo ich alle einträge einer tabelle auslesen kann und diese gleichermaßen nach datetime (vom beitrag) und nach der dazugehörigen "parentid" (im db eintrag des kommentars) sortieren kann.

Vielleicht würde es auch reichen, wenn ich nach

id und parentid gleichermaßen sortieren kann. Weil die id sollte ja aufsteigend sein.
__________________
ICH BIN ICH!!!
Mit Zitat antworten
  #5 (permalink)  
Alt 25-03-2005, 14:15
daniel987
 Junior Member
Links : Onlinestatus : daniel987 ist offline
Registriert seit: May 2004
Beiträge: 139
daniel987 ist zur Zeit noch ein unbeschriebenes Blatt
daniel987 eine Nachricht über ICQ schicken
Standard

Zitat:
Original geschrieben von IchBinIch
[B]ich danke euch schonmal,

rekursiv fällt ohnehin raus. bei 20 einträgen pro seite, habe ich nachher 21 Queries, was nicht wirklich optimal ist.
Wieso 21 Querys ich meine mit rekursion ja nicht, dass du jedesmal noch eine Query sendest!

Nehmen wir folgende Tabelle an:
-ID
-Text
-parent_id
-beitrag_id

Du würdest um 20 Einträge plus Unterpunkte abzufragen 2 Querys benötigen. Die erste fragt 20 Einträge ab bei denen beitrag_id und parent id -1 sind (also root sind) ab die zweite alle anderen alle Einträge, bei denen die zuvor geholten Id's mit beitrag_id übereinstimmen. Später kannst du dass dann mit php Ordnen.
Ich gebe zu, dass das wahrscheinlich nicht ganz das ist was du wolltest, aber ich finde das der Bezug verloren ginge wenn ein Beitrag zb 21 Unterpunkte hätte. Auf der zweiten Seite wäre dann eine Seite mit dem Unterpunkt, aber das vorangegangen fehlt.
Mit Zitat antworten
  #6 (permalink)  
Alt 25-03-2005, 14:34
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

Interessant, ich glaub das kann ich auch brauchen *subscribe*

Zitat:
Später kannst du dass dann mit php Ordnen.
Das kannste auch mit SQL machen.

Zitat:
Die erste fragt 20 Einträge ab bei denen beitrag_id und parent id -1 sind
Beitrag_id == parent_id, oder hab ichs falsch verstanden?
EDIT:
Habs mal bei mir eingebaut. Haste dir das so vorgestellt? http://www.duis3.de/gaestebuch/
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich kann und werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Geändert von TobiaZ (25-03-2005 um 14:56 Uhr)
Mit Zitat antworten
  #7 (permalink)  
Alt 26-03-2005, 14:45
Floriam
 PHP Senior
Links : Onlinestatus : Floriam ist offline
Registriert seit: May 2003
Ort: Deutschland
Beiträge: 1.432
Floriam ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Beitrag_id == parent_id, oder hab ichs falsch verstanden?
parent_id => ID des Beitrags zu welchem der aktuelle Eintrag geschrieben wurde (also für Antwortfunktionen)..



@TobiaZ:

Du hast bei dir eine Blätterfunktion?

Wenn nicht brauchst du nur einen Query, einfach alle Einträge in einen asso. Array speichert.

PHP-Code:
//$result => Array mit den ganzen Daten für den aktuellen Beitrag
$posts[$result['parent_id']][] = $result

Dann einfach mit einer Funktion rekrusiv alle Einträge durchgehen, als Parameter bekommt die Funktion die aktuelle parent_ID übergeben (beim ersten manuellen Aufruf "-1" wenn du es so gespeichert hast) und diese liest dann alle Beiträge mit dieser parent_ID aus dem Array aus..



Floriam


EDIT:
Wenn ihr allerdings nur einen Unterpunkt zulasst dann kann man das ganze ja auch einfach mit einer Schleife-in-der-Schleife lösen und nicht mit einer rekursiven Funktion..

Geändert von Floriam (26-03-2005 um 14:50 Uhr)
Mit Zitat antworten
  #8 (permalink)  
Alt 26-03-2005, 14:50
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Du hast bei dir eine Blätterfunktion?
Nö! Hatte ich noch keine Zeit zu. Aber auf die Dauer kanns so nicht bleiben.

Zitat:
Wenn nicht brauchst du nur einen Query, einfach alle Einträge in einen asso. Array speichert.
bräuchte ich noch nichtmal, glaube ich.
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich kann und werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Mit Zitat antworten
Antwort

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

Von 0 auf über 2 Mio € Umsatz in weniger als 12 Monaten – wie die Pixelwerker das nur durch SEO geschafft haben
Von 0 auf über 2 Mio € Umsatz in weniger als 12 Monaten – wie die Pixelwerker das nur durch SEO geschafft habenSEO oder SEA? Warum SEO die besserer Methode ist.

01.10.2021 | Berni

Kundengewinnung und Kundenbindung
Kundengewinnung und KundenbindungVertrieb läuft doch immer persönlich. Das funktioniert nicht mit dem Internet! Wirklich?

24.09.2021 | Berni


 

Aktuelle PHP Scripte

AdRotator Light ansehen AdRotator Light

AdRotator Light (kurz: "Arlight") ist ein kostenloser und spielend einfach zu bedienender AdServer in PHP.

18.10.2021 scripthostingnet | Kategorie: PHP/ Bannerverwaltung
WebCounter by Scripthosting.net ansehen WebCounter by Scripthosting.net

Der WebCounter von Scripthosting.net ist ein kostenloser Besucherzähler in PHP. Seine Daten speichert er in einer SQLite oder MySQL Datenbank ab.

17.10.2021 scripthostingnet | Kategorie: PHP/ Besucherzaehler
Simple CMS PHP ansehen Simple CMS PHP

Simple CMS PHP is a very simple content management system. You just create a page content into the admin area and then copy the code for this content and paste it into the page of your website, where you want the content to appear. You do not need of any

01.10.2021 nevenov | Kategorie: PHP/ CMS
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 18:42 Uhr.