MYSQL Abfrage select aus mehreren Tabellen, um Sie nach Datum, verschiedene Tisch-Strukturen

Mache ich einen newsfeed Art der Sache und ich wollen, wählen Sie aus mehreren Tabellen. Die beiden Tabellen konzentriere ich mich auf für diese Frage sind "Beiträge" und "Fotos".

Hier ist meine Abfrage nur für Beiträge:

mysql_query("
            SELECT * FROM posts 
            WHERE toID='$id' AND state='0' 
            ORDER BY id DESC LIMIT 10");

Meine posts-Tabelle hat die folgenden Spaltennamen:

Table: posts

id  toID   fromID   post   state     date
1    1       1      Aloha    0       1
2    1       1      Hello    0       3

Meine Fotos-Tabelle hat die folgende:

Table: photos

id  userID  photo    state    date
1     1       2       0       2
2     1       6       0       4

Erwartete Ergebnis:

Aloha
2
Hello
6

Vielleicht so etwas wie:

 SELECT * 
 (SELECT * FROM posts WHERE toID=$id AND state=0) AND
 (SELECT * FROM photos WHERE userID=$id AND state=0)
 ORDER BY date

Wenn es wählt diese aus der Datenbank, die Sie sollten wählen Sie aus, wo toID und Benutzer-id sind die gleichen. Zustand sollte gleich 0 für beide, (0 sichtbar), und Sie sollten nach Datum sortiert. Auch ich brauche eine neue variable erstellen, pass auf meine Anfrage, so kann ich dann in meiner php bestimmen, welche Tabelle die Informationen stammen. Schließlich möchte ich es, um die Gruppierung der Fotos nach Datum, so sagen wir, ein user hochgeladen hat 20 Fotos innerhalb eines Zeitraumes von 30 Minuten, Sie wird nur eine Zeile zurückgeben. Ich benutze php time() zu speichern, mein date.

Es gibt hier eine Lösung, die, glaube ich, eine Hilfe sein. stackoverflow.com/questions/3844655/...

InformationsquelleAutor Dylan Cross | 2012-01-17

Schreibe einen Kommentar