Seite 1 von 2

ChatMod V3 (Smartor): Archivfunktion gesucht

Verfasst: 15.03.2004 21:38
von Wuppi
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

Verfasst: 16.03.2004 12:37
von Acid
Anstatt DELETE müsstest du UPDATE (oder gar INSERT INTO, aber wohl eher UPDATE) benutzen. Ich weiss jetzt aber nicht genau, wie sich das Archiv definiert, also was man dann 'updaten' müsste.

Verfasst: 16.03.2004 13:46
von Wuppi
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

Verfasst: 16.03.2004 19:44
von Acid
Poste mal ein wenig mehr Code, v.a. bezüglich der delete_msg Funktion, und die komplette Fehlermeldung.

Verfasst: 16.03.2004 20:19
von Wuppi
Hi

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()");
	}
}
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

Verfasst: 17.03.2004 16:50
von riddlex
ist der chat echt so kompliziert weil das keiner weiß ?
vielleicht diesen smartor selbst fragen ?

Verfasst: 17.03.2004 22:35
von Wuppi
Hi

ich glaub wir haben den falschen Chat ;) Hat sonst wohl keiner :( Ich vermute das da irgendwo ne sicherheitsabfrage ist - theoretisch ist mein Befehl richtig ... kommt aber ne Fehlermeldung wg. fehler in der funktion ...

Bis denne
Wuppi

Verfasst: 18.03.2004 12:55
von riddlex
aber es gibt ja keinen anderen chat oder doch?
also ich bin schon froh dass ich überhaupt einen gefunden hab

Verfasst: 18.03.2004 16:34
von Wuppi
Hi

es gibt schon noch nen paar - nur in letzter Zeit find ich das dermaßen unübersichtlich mit den Shoutboxen das ich froh war als ich die chat_box gefunden hab - die sieht wenigstens gut aus ;)

Bis denne
Wuppi

Verfasst: 19.03.2004 07:35
von riddlex
wer kann helfen ? acid ?