ChatMod V3 (Smartor): Archivfunktion gesucht
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
ChatMod V3 (Smartor): Archivfunktion gesucht
Hi
es gibt zu dem Thema schon ein Thread - wo das mit dem Archiv aber erst später kommt - daher wohl von den meisten übersehen wurde - daher jetzt ein extra Thread dazu.
Ich suche halt eine Möglichkeit den Chat zu Archivieren (da gehts mir primär um das verschieben in der DB - die ausgabe der Archvierten Daten sollte ja kein Thema sein)
Was ich bisher rausbekommen hab:
Die nötige Datei sollte messenger_view.php heißen. Unter function delete_msg($timestamp) diese Zeile $sql = "DELETE FROM " . $table_chatbox_name . " WHERE timestamp = '".$timestamp."'"; ändern ... man müsste den inhalt einfach nach $table_chatbox_name_archiv verschieben - nur kenn ich den befehl für mysql nicht, womit man statt löscht, etwas verschiebt.
Sorry, hier hab ich was vergessen:
Hab den obrigen Befehl durch
$sql = "INSERT INTO mforum_chatbox_archiv SELECT * FROM " . $table_chatbox_name . " WHERE timestamp = '".$timestamp."'";
ersetzt. Wenn ich diesen Befehl so drin lasse, bekomm ich immer ein "SQL-Fehler in delete_msg()" ...
Kann mir da jemand weiterhelfen damit ich das realisiert bekomme?`
Bis denne
Wuppi
es gibt zu dem Thema schon ein Thread - wo das mit dem Archiv aber erst später kommt - daher wohl von den meisten übersehen wurde - daher jetzt ein extra Thread dazu.
Ich suche halt eine Möglichkeit den Chat zu Archivieren (da gehts mir primär um das verschieben in der DB - die ausgabe der Archvierten Daten sollte ja kein Thema sein)
Was ich bisher rausbekommen hab:
Die nötige Datei sollte messenger_view.php heißen. Unter function delete_msg($timestamp) diese Zeile $sql = "DELETE FROM " . $table_chatbox_name . " WHERE timestamp = '".$timestamp."'"; ändern ... man müsste den inhalt einfach nach $table_chatbox_name_archiv verschieben - nur kenn ich den befehl für mysql nicht, womit man statt löscht, etwas verschiebt.
Sorry, hier hab ich was vergessen:
Hab den obrigen Befehl durch
$sql = "INSERT INTO mforum_chatbox_archiv SELECT * FROM " . $table_chatbox_name . " WHERE timestamp = '".$timestamp."'";
ersetzt. Wenn ich diesen Befehl so drin lasse, bekomm ich immer ein "SQL-Fehler in delete_msg()" ...
Kann mir da jemand weiterhelfen damit ich das realisiert bekomme?`
Bis denne
Wuppi
Zuletzt geändert von Wuppi am 16.03.2004 13:47, insgesamt 1-mal geändert.
Hi
update setz ich doch nur ein, wenn ich einen bereits vorhandenen Eintrag "überschreiben" möchte. Das möchte ich ja nicht - ich möchte ja einen neuen hinzufügen.
Der ChatMod arbeitet so das er Einträge in der DB die älter als X Minuten sind, löscht. VOR dem löschen wäre es jetzt praktisch, wenn er das zu löschenende erstmal in einmal in einer neuen Tabelle kopiert (die genauso aufgebaut ist wie die ursprünglichen Tabelle für den Life-Chat) und dann erst im Life-Bereich löscht müsste das gehen.
Ups ... ich hab da was vergessen ... mit insert to hab ich gearbeitet ..
Den oben genannten befehl hab ich ersetzt:
$sql = "INSERT INTO mforum_chatbox_archiv SELECT * FROM " . $table_chatbox_name . " WHERE timestamp = '".$timestamp."'"; (so würde nur kopiert; löschen müsste ich da mit nem AND noch hinzufügen - aber nichtmal das kopieren klappt)
Nur kommt dann dieser "SQL-Fehler in delete_msg()" ...
Bis denne
Wuppi
update setz ich doch nur ein, wenn ich einen bereits vorhandenen Eintrag "überschreiben" möchte. Das möchte ich ja nicht - ich möchte ja einen neuen hinzufügen.
Der ChatMod arbeitet so das er Einträge in der DB die älter als X Minuten sind, löscht. VOR dem löschen wäre es jetzt praktisch, wenn er das zu löschenende erstmal in einmal in einer neuen Tabelle kopiert (die genauso aufgebaut ist wie die ursprünglichen Tabelle für den Life-Chat) und dann erst im Life-Bereich löscht müsste das gehen.
Ups ... ich hab da was vergessen ... mit insert to hab ich gearbeitet ..
Den oben genannten befehl hab ich ersetzt:
$sql = "INSERT INTO mforum_chatbox_archiv SELECT * FROM " . $table_chatbox_name . " WHERE timestamp = '".$timestamp."'"; (so würde nur kopiert; löschen müsste ich da mit nem AND noch hinzufügen - aber nichtmal das kopieren klappt)
Nur kommt dann dieser "SQL-Fehler in delete_msg()" ...
Bis denne
Wuppi
Hi
Die Fehlermeldung erscheint im Fenster wo normalerweise der Chat angezeigt wird: "SQL Error in function delete_msg()" ... dieses steht im unteren Teil der Funktion. (wenn ich den Teil ab AND DELETE entferne, wirds auch nciht besser)
Da steht ja if (!$result ....) { Fehler } ... kann das sein das die varible $result mit sql_query($sql) verglichen wird, wenn die nicht identisch ist, wird die Meldung rausgeschmissen?
Bei der Orginalfunktion ist nur der Unterschied das der Insert Into-Teil weg ist - dafür nur der delete-teil.
Bis denne
Wuppi
Code: Alles auswählen
function delete_msg($timestamp)
{
global $chatbox_config, $table_chatbox_name, $db;
$sql = "INSERT INTO mforum_chatbox_archiv SELECT * FROM " . $table_chatbox_name . " WHERE timestamp = '".$timestamp."' AND DELETE FROM " . $table_chatbox_name . " WHERE timestamp = '" . $timestamp."'";
if (!$result = $db->sql_query($sql))
{
die("SQL Error in function delete_msg()");
}
}
Da steht ja if (!$result ....) { Fehler } ... kann das sein das die varible $result mit sql_query($sql) verglichen wird, wenn die nicht identisch ist, wird die Meldung rausgeschmissen?
Bei der Orginalfunktion ist nur der Unterschied das der Insert Into-Teil weg ist - dafür nur der delete-teil.
Bis denne
Wuppi