2009-07-21 9 views
0

Ich möchte 2 Tabellen zusammenfügen, aber ich kann es nicht zur Arbeit bringen.Problem beim Verbinden von 2 Tabellen

Dies sind die Tabellen:
Themen:id, title
Beiträge:thread_id, message

$sql = mysql_query("SELECT threads.id, threads.title 
        FROM threads 
        JOIN posts ON posts.thread_id = threads.id 
        WHERE threads.id = ".intval($_GET['id'])); 


while ($post = mysql_fetch_assoc($sql)) 
{ 
    echo $post['title']; 
    echo $post['message']; 

} 

Es erhält den Titel aber nicht die Botschaft. Ich habe dem Thread einen zugewiesen.

+0

zeigen uns ein wenig mehr Code einschließlich der Definition von $ id und $ zu tun. – markus

+1

und fügen Sie bitte eine mysql_real_escape_string() um den $ _GET [ 'id] – markus

Antwort

1

Gibt es Beiträge mit einer thread_id, die $id entspricht? Wenn nicht, würde das eine leere Ergebnismenge erzeugen.

+0

Versuchen Sie, die where-Klausel zu entfernen und sehen, wenn Sie irgendwelche Ergebnisse erhalten. Wenn dies der Fall ist, wird das Problem wie vorgeschlagen vorgeschlagen. Wenn nicht, haben Sie Ihren Suchraum für eine Lösung reduziert. – Brian

+0

ja, ich kann den Titel von Themen –

0

Können Sie es in MySQL ohne das PHP arbeiten lassen? Ich bin auf phpMyAdmin angewiesen, um Fehler zu beheben. Sobald ich es in MySQL direkter bekomme, hat phpMyAdmin eine "Export SQL für PHP" -Funktion.

3

Sie wählen keine posts.message aus. Ändern Sie Ihre SQL zu diesem und es funktioniert möglicherweise.

SELECT threads.id, threads.title, posts.message 
FROM threads 
JOIN posts ON posts.thread_id = threads.id 
WHERE threads.id = $id 
+0

Dank erhalte das funktioniert aber nicht wirklich, wie ich es wollte, ich habe 2 Aufzeichnungen und Schleifen nur einer aus irgendeinem Grunde:/ –

+0

tun sie beide die gleichen $ id haben? – markus

+0

ja natürlich

0

Wenn Sie die Beiträge abrufen möchten Sie vielleicht es in die andere Richtung sql

SELECT threads.id, threads.title, posts.message 
FROM posts 
JOIN threads ON threads.id = posts.thread_id 
WHERE posts.thread_id = $id