SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Einführung in XHTML, CSS und Webdesign

Einführung in XHTML, CSS und Webdesign zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP für Fortgeschrittene und Experten
Hilfe Community Kalender Heutige Beiträge Suchen

PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 25.03.2003, 16:59:54
ingo ingo ist offline
Junior Member
 
Registriert seit: Apr 2002
Beiträge: 248
self join?

sers,

ich hab für eine mini intranet-lösung so eine art forum programmiert.
ich krieg nur eines nicht hin (möglicherweise eh ganz einfach):

jemand postet einen artikel, einE andereR schickt einen reply auf dieses posting. nun soll dieses reply unmittelbar unter dem posting stehen, auf das geantwortet wurde und ein bisschen eingerückt. (so wie z.b. im phorum)
und ich brings einfach nicht hin.

die postings werden alle in der tabelle "postings" gespeichert. mit folgenden feldern: id, topic_id, posting_id, parent

es eröffnet jemand einen neuen thread mit der id 5 im topic 1 (das topic ist nur zur unterscheidung verschiedener überthemen). dann steht in der db folgendes drin:

id=5, topic_id=1, posting_id=null, parent=Y

postet jetzt jemand einen reply auf dieses posting z.b mit der id 53 (die id ist jetzt egal, aber wenn ich 6 schreibe, dann wird nicht klar wo das problem liegt, weils dann ja sowieso richtig angezeigt wird - nämlich unmittelbar darunter), dann sieht der datensatz wie folgt aus:

id=53, topic_id=1, posting_id=5, parent=N

d.h. dieser datensatz in der selben tabelle bezieht sich auf den anderen. so lässt sich quasi ein baum aufbauen.

ich habs schon mit allen nur möglichen sql queries probiert (double aliases, self joins etc..) nur komm ich einfach nicht drauf..

jemand eine idee?

lg, ingo
Mit Zitat antworten
  #2  
Alt 25.03.2003, 18:57:11
Benutzerbild von |Coding
|Coding |Coding ist offline
Administrator
 
Registriert seit: Apr 2002
Ort: Bergheim
Alter: 41
Beiträge: 5.255
|Coding eine Nachricht über Skype™ schicken
hi,

wenn du die daten aus der database liest (egal ob flatfile, mysql...), kannst du dem datensatz doch
Code:
& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;
(natürlich ohne die leerzeichen) vorranstellen, somit wird dieser zum übergeordneten datensatz eingerückt, was dein problem lösen dürfte oder habe ich da was missverstanden?
__________________
Gruß |Coding

---
Qozido® - Die Bilderverwaltung mit Logbuch für Taucher und Schnorchler.

www.qozido.de
Mit Zitat antworten
  #3  
Alt 25.03.2003, 22:22:38
ingo ingo ist offline
Junior Member
 
Registriert seit: Apr 2002
Beiträge: 248
missverstanden

das einrücken ist kein problem.
mir gehts darum eine lösung zu finden, (entweder mit einem einzigen query oder wie es auch sonst funktionieren mag), die datensätze wie folgt anzuordnen:
Code:
posting
|--1. reply auf posting
|--2. reply auf posting
   |--1. reply auf reply
       |--1. reply auf reply 2
so in der richtung.
wobei sich die "child"-datensätze in der selben tabelle befinden und sich auf einen anderen datensatz in der selben tabelle beziehen.
durch die relationen der einzelnen datensätze entsteht ein baum. ich brauch nur einen ansatz wie das geht. (am besten mit einem einzigen query) oder wie auch immer..

wobei: (zur erklärung des obigen beispiels)
posting: parent=Y, id=1, posting_id=null
1. reply: parent=N, id=2, posting_id=1
2. reply: parent=N, id=3, posting_id=1
1. reply auf reply: parent=N (?), id=4, posting_id=3
1. reply auf reply 2: parent=N, id=5, posting_id=4
usw..

ich hoffe das ist halbwegs verständlich...

wär für einen ansatz respektive lösung sehr dankbar..

lg, ingo

Geändert von ingo (26.03.2003 um 10:36:10 Uhr)
Mit Zitat antworten
  #4  
Alt 25.03.2003, 22:26:06
Benutzerbild von |Coding
|Coding |Coding ist offline
Administrator
 
Registriert seit: Apr 2002
Ort: Bergheim
Alter: 41
Beiträge: 5.255
|Coding eine Nachricht über Skype™ schicken
ok, jetzt habe ich es verstanden. ich bin hunde müde und kümmere mich morgen weiter um dich, dann kann ich auch wieder gerade ausdenken :-)
__________________
Gruß |Coding

---
Qozido® - Die Bilderverwaltung mit Logbuch für Taucher und Schnorchler.

www.qozido.de
Mit Zitat antworten
Antwort


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

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 aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 17:35:51 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt