Seite 2 von 2
Verfasst: 29.12.2003 01:28
von Progmore
Also, ich erstelle ein Thema.
Dann Antwortet ein User darauf und ich.
Beides wird ja um 1 erhöht.
Ob nun der User oder ich schreibe.
Da ich in meiner Statistik aber nicht meine Antworten im eigenen erstellten Thema haben möchte, wollte ich mitloggen, wenn ich selber auf mein Thema Antworte.
Dann kann ich einfach die gesamten Antworten für das Thema und meine Antworten für das Thema auslesen, und dann errechnen wieviele Antworten von den Usern auf mein Thema gegeben wurden.
Ich hoffe es ist verständlich.
Schwer zu erklären.
Verfasst: 29.12.2003 01:33
von Acid
Progmore hat geschrieben:.. wieviele Antworten von den Usern auf mein Thema gegeben wurden.
..und wenn du dann nur das anzeigen willst, ist es eigentlich der Wert in Klammern bei der count.txt. Oder nich?

Verfasst: 29.12.2003 01:35
von Progmore
Leider nicht.
Der Wert in den Klammern ist bei allen Null.
EDIT: Ich bin Müde und leg mich nun hin. Hoffe auf eine Lösung. Bis Morgen.
Verfasst: 29.12.2003 01:40
von Acid
seltsam! Die anderen Werte stimmen !?
Verfasst: 29.12.2003 11:02
von Progmore
Guten Morgen...
Hat nun jemand den Code gefunden?
Es ist sehr wichtig.
Das Board ist ja eines der besten was ich je ausprobiert habe.
Aber ich möchte nicht das es an so einem kleinen Code hängen bleibt.
Irgendwo kann man doch sehen wo topic_replies um 1 erhöht wird.
Aber wo?
Verfasst: 29.12.2003 11:08
von Acid
functions_post.php (ca. Zeile 440)
($sign findest du ca. Zeile 370)
Verfasst: 29.12.2003 18:49
von Progmore
Danke sehr.
Konnte mir nun an dieser Position was zurecht proggen.
Nun klappt es wie ich es haben wollte.
Danke nochmal Acid für deine Mühen.
Verfasst: 29.12.2003 21:50
von Acid
..könntest du es mal zeigen (den Code) !?
Verfasst: 30.12.2003 10:44
von Progmore
Ist glaube ich etwas umständlich, aber es funktioniert erst mal.
Wer etwas kürzeres hat, kann sich hier ja melden.
Würde mich freuen.
Also,...
Ist ab Zeile 439.
Voher:
else if ($mode != 'poll_delete')
{
$forum_update_sql .= ", forum_last_post_id = $post_id" . (($mode == 'newtopic') ? ", forum_topics = forum_topics $sign" : "");
$topic_update_sql = "topic_last_post_id = $post_id" . (($mode == 'reply') ? ", topic_replies = topic_replies $sign" : ", topic_first_post_id = $post_id");
}
else
{
$topic_update_sql .= 'topic_vote = 0';
}
Nachher:
else if ($mode != 'poll_delete')
{
$forum_update_sql .= ", forum_last_post_id = $post_id" . (($mode == 'newtopic') ? ", forum_topics = forum_topics $sign" : "");
$query = "SELECT * FROM phpbb_topics WHERE topic_id = '$topic_id'";
$result = mysql_query($query);
while($row = mysql_fetch_array($result)){
$topic_firstuser = $row[topic_firstuser];
$topic_poster = $row[topic_poster];}
$tabelle = "phpbb_topics";
if ($mode == 'reply' && $user_id == $topic_poster) {
$topic_update_sql = "topic_last_post_id = $post_id" . (($mode == 'reply') ? ", topic_replies = topic_replies $sign" : ", topic_first_post_id = $post_id");
mysql_query("UPDATE $tabelle SET topic_firstuser = topic_firstuser + '1' WHERE topic_id = '$topic_id'");
mysql_query("UPDATE $tabelle SET topic_views = topic_views - '1' WHERE topic_id = '$topic_id'");
}
else
{
mysql_query("UPDATE $tabelle SET topic_views = topic_views - '1' WHERE topic_id = '$topic_id'");
$topic_update_sql = "topic_last_post_id = $post_id" . (($mode == 'reply') ? ", topic_replies = topic_replies $sign" : ", topic_first_post_id = $post_id");
};
}
else
{
$topic_update_sql .= 'topic_vote = 0';
}
Den Roten Text habe ich eingefügt.
Nun wird bei einer Antwort zu einem Thema was man selber erstellt hat,
in topic_firstuser immer 1 erhöht. Aber trotzdem in topic_replies auch.
So kann man später die Kompletten Antworten(topic_replies) minus der eigenen Antworten(topic_firstuser) abziehen und man hat dan die Antworten nur von anderen Usern.