Ich habe ein Problem, dass ich selbst nicht herausfinden kann. Ich habe versucht, LEFT JOIN usw. zu verwenden, aber nichts scheint zu funktionieren. Ich benutze MySQL, damit Sie es wissen.Erhalten Ergebnisse von meinen eigenen und "Freunde" Beiträge
Ich baue ein kleines Blogportal für mich und meine Freunde und alle Benutzer haben ihren eigenen Blog.
Datenbank:
Benutzer: id, Benutzername, Passwort, etc
Blog: id, Titel, Text, user_id, etc
Beziehungen follower_id, following_id
ich meine eigene Blogeinträge wie diese Abfrage:
SELECT * FROM microblog WHERE user_id = {$user_id} ORDER BY posted DESC
und ich Liste meiner Freunde wie folgt aus:
SELECT * FROM users, relations WHERE relations.follower_id = {$user_id} AND relations.following_id = users.id
Das ist der einfache Teil war. ABER.
Ich lieber die Tabellen irgendwie zu verbinden, weil ich auch meine Freunde Blogposts in meiner Schleife auflisten möchte. Aber ich will nicht nur, dass der Beitrag angezeigt wird, ich möchte auch Informationen über den Benutzer, der diesen Eintrag gepostet hat, dann muss ich auch einige Informationen aus der Benutzertabelle bekommen. Und das stört mich! Ich kann es nicht herausfinden.
Kurz gesagt: Ich möchte meine eigenen Blogposts und alle Benutzer, mit denen ich befreundet bin, in meiner eigenen Schleife auflisten. Und ich möchte neben den Beiträgen auch Benutzername und E-Mail anzeigen.
Ich hoffe, Sie verstehen, was ich meine.
/Tobias
Schweden
, die wie ein Charme, wenn ich geändert: wo following_id = {$ user_id} zu wo follower_id = {User_id $} nun seine Arbeits und alles in phpMyAdmin zeigt aber, wenn ich versuche es dann die Daten nur ein Echo aus in "Microblog" Tabelle funktioniert. wenn ich zum Beispiel echo $ mblog-> username verwende; in einer foreach-Schleife funktioniert es nicht, bekomme ich: Undefinierte Eigenschaft: mBlog :: $ Benutzername in ....... aber sollte es da sein? – Tobias
@Tobias: oops, yeah, ich meinte Follower da ... :) Willst du damit sagen, dass $ mblog-> title funktioniert, aber $ mblog-> username fehlschlägt? Können Sie den dort verwendeten Code posten? – Stobor
Ich benutze 2 Klassen, eine für Benutzer und eine für Microblog, also glaube ich, dass ich irgendwie den Benutzernamen in meine Microblog-Klasse weitergeben muss. Ich habe versucht, es auf dem No-oop-Weg zu wiederholen und dann funktionierte es wie ein Zauber. – Tobias