Gib in der WHERE-Klausel mal an aus welcher Tabelle das post_thread verwendet werden soll.
Was heisst das,jetzt schon wieder:
Einklappen
X
-
PHP-Code:$table = forum_post;
Ich verstehe den ganzen Select auch nicht
____________________________________________________
SELECT a.*, => Lade alle Datensätze raus
count(b.id) AS hatantwort => Zähle alle Datensätze und gib sie als hatantwort wieder
FROM $table AS a => von Tabelle forum_post
LEFT JOIN $table AS b => ???
ON b.post_parent=a.id => ???
WHERE post_thread='$pid' AND post_parent='$parent' => Gib sie wieder wenn Bedingung erfüllt
GROUP BY a.id => sortier bei
ORDER BY a.post_date => Ordne nach
____________________________________________________
Zuletzt geändert von Wotan; 07.08.2002, 14:04.*winks*
Gilbert
------------------------------------------------
Hilfe für eine Vielzahl von Problemen!!!
http://www.1st-rootserver.de/
Kommentar
-
Nein, Du sollst hier
SELECT_a.*,_count(b.id)_AS_hatantwort_FROM_$table_AS_a_LEFT_JOIN_$table_AS_b_ON_b.post_parent=a.id_W HERE_ [COLOR=red]post_thread='$pid'[/COLOR]AND_post_parent='$parent'_GROUP_BY_a.id_ORDER_BY_a.post_date
angeben, worauf sich das post_thread bezieht. Das gibt es wahrscheinlich nicht nur in einer Tabelle.Of all things I've lost
I miss my mind the most
Kommentar
-
Struktur der Tabelle forum_post
id
post_userid
post_subject
post_date
post_edit
post_activ
post_sub
post_parent
post_hits
post_editdate
post_edituserid
post_ip
post_forumid*winks*
Gilbert
------------------------------------------------
Hilfe für eine Vielzahl von Problemen!!!
http://www.1st-rootserver.de/
Kommentar
-
Nach den ich diese Zähle so geändert habe bekome ich auch keine Fehlermeldung mehr sondern eine Ausgabe.
PHP-Code:$sql_id = mysql_query ("SELECT a.*, count(b.id) AS hatantwort FROM $table AS a LEFT JOIN $table AS b ON b.post_parent=a.id WHERE a.post_thread='$pid' AND a.post_parent='$parent' GROUP BY a.id ORDER BY a.post_date")or die(mysql_error());
Code:id parent string 1 0 M 7 1 TM 18 7 TC <= ILC 10 1 TC 19 1 LM 26 19 LC <= SLC
*winks*
Gilbert
------------------------------------------------
Hilfe für eine Vielzahl von Problemen!!!
http://www.1st-rootserver.de/
Kommentar
-
Original geschrieben von Wotan
In der sql_id stimmt iregend etwas nicht.
Ich hab mal ein mysql_error() dahinter gemacht.
Sorry das ist immer das erste was ich entferne.
und wenn´s einen gibt weißt du sofort Bescheid.
Und das ist die Fehlermeldung:
Column: 'post_thread' in where clause is ambiguous
WHERE a.post_thread='$pid' AND a.post_parent='$parent'
Original geschrieben von Wotan
Ich verstehe den ganzen Select auch nicht
Code:SELECT a.*, => alle Felder aus $table (mit alias a) count(b.id) AS hatantwort => zähle Antworten (siehe join $table as b) FROM $table AS a => von Tabelle forum_post LEFT JOIN $table AS b => tut so als wäre $table eine andere Tabelle mit Namen 'b' ON b.post_parent=a.id => und verknüpft a mit b: alle Antworten in b auf das Post a WHERE a.post_thread='$pid' AND a.post_parent='$parent' => Gib sie wieder wenn Bedingung erfüllt GROUP BY a.id => GRUPPIEREN nach a.id - nötig für das count() ORDER BY a.post_date => sortieren nach Datum
die dieses Post als Parent haben - also die Zahl der Antworten.
Kommentar
-
Code:18 7 TC <= ILC 26 19 LC <= SLC
*grübel* sorry, keine Zeit zum Testen
$letztes[0]=$letztes[1]
kann übrigens weg.
Kommentar
-
Kannst du dir aml die Datei anschauen die ich auf der Zweite oder Dritten Seite gepostet habe. Darin ist glaube ich die Lösung. Ich finde die Lösung aber nicht darin.*winks*
Gilbert
------------------------------------------------
Hilfe für eine Vielzahl von Problemen!!!
http://www.1st-rootserver.de/
Kommentar
-
@Titus
Hast du mal in die Datei reingesehen?*winks*
Gilbert
------------------------------------------------
Hilfe für eine Vielzahl von Problemen!!!
http://www.1st-rootserver.de/
Kommentar
-
@Titus
kannst du mir mal den folgenden Code auseinander klabüseren, damit ich diesen Bereich verstehe. Ich nehme an, das in diesem Bereich der Fehler für die falsche Anzeige der gif liegt.
PHP-Code:for ($m=0; $m<$level-1; $m++)
{
echo ($letztes[$m] ? $space_gif : $i_gif);
}
if ($m<$level) echo ($letztes[$m] ? $l_gif : $t_gif);
{
echo ($msg["hatantwort"] ? $m_gif : ($level || $count ? $c_gif : $n_gif));
}
*winks*
Gilbert
------------------------------------------------
Hilfe für eine Vielzahl von Problemen!!!
http://www.1st-rootserver.de/
Kommentar
-
Titus es geht. Schau mal unter Code-Schnippsle rein.*winks*
Gilbert
------------------------------------------------
Hilfe für eine Vielzahl von Problemen!!!
http://www.1st-rootserver.de/
Kommentar
Kommentar