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, 22: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, 11: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, 22: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, 12: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, 15: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, 15:34
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
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 werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!

Geändert von TobiaZ (25-03-2005 um 15:56 Uhr)
Mit Zitat antworten
  #7 (permalink)  
Alt 26-03-2005, 15: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 15:50 Uhr)
Mit Zitat antworten
  #8 (permalink)  
Alt 26-03-2005, 15:50
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
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 werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
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

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni


 

Aktuelle PHP Scripte

kostenloser PHP-Editor Codelobster ansehen kostenloser PHP-Editor Codelobster

Kostenloser PHP, HTML, CSS, JavaScript editor (IDE) - Codelobster PHP Edition

13.03.2019 Berni | Kategorie: PHP ENTWICKLUNGSUMGEBUNG
Lazy Load Plugin für jQuery

Das Lazyload Plugin, lädt Bilder nach, wenn sie im Viewport sichtbar werden.

10.03.2019 phpler | Kategorie: JQUERY-PLUGINS
WeltExplorer v1.0

WeltExplorer v1.0 ist ein Dateimanager zum Browsen und Operieren im Dateisystem. Bei installiertem cURL können Ordner und Dateien zu entfernten FTP-Servern hochgeladen bzw. von diesen heruntergeladen werden, etwa zum Erstellen von Backups oder Mirrorsites

06.02.2019 weltvolk | Kategorie: PHP/ File
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 11:40 Uhr.