Seite 1 von 1
Daten auslesen und neu speichern
Verfasst: 17.06.2007 16:17
von Red-Benz
Hi
Ich versuche grade Daten aus einer Tabelle auszulesen und die Summe der Abfrage in einer anderen Tabelle zu speichern.
Die Daten kommen aus der Tabelle
( wwd_counter_ips ) Feldname ( IP ) und das Ergebnis soll wenn es größer als der vorhandene Eintrag ist in der Tabelle
config im Feld
wwd_record_guests eingetragen werden
MEIN VERSUCH
Code: Alles auswählen
$sql = 'SELECT COUNT(ip) AS sum_ip
FROM `' . $table_prefix . 'wwd_counter_ips`';
$result = $db->sql_query($sql);
if ( $sum_ip > $board_config['wwd_record_guests'] )
{
$sql = 'UPDATE ' . CONFIG_TABLE . "
SET config_value = '$sum_ip'
WHERE config_name = 'wwd_record_guests'";
if ( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not update row wwd_record_guests in phpBB CONFIG_TABLE', '', __LINE__, __FILE__, $sql);
}
klappt aber nicht, was mache ich falsch ??
Für Hilfe jeder Art wäre ich sehr DANKBAR.
Gruß
Red Benz
Verfasst: 17.06.2007 16:38
von Arzee
Versuch doch mal mit
mysql_error()
Dann siehst du auch was mysql für ein Fehler wirft
Verfasst: 17.06.2007 16:55
von Red-Benz
Jup
Das bringt mich auch nicht weiter weil er mir keinen dierekten Fehler meldet.
Gruß
Red Benz
Verfasst: 17.06.2007 17:14
von tas2580
Versuch es mal mit
Code: Alles auswählen
$sql = 'SELECT COUNT(ip) AS sum_ip
FROM `' . $table_prefix . 'wwd_counter_ips`';
$result = $db->sql_query($sql);
$count = $db->sql_fetchrow($result);
if ( $count['sum_ip'] > $board_config['wwd_record_guests'] )
{
$sql = 'UPDATE ' . CONFIG_TABLE . "
SET config_value = '$sum_ip'
WHERE config_name = 'wwd_record_guests'";
if ( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not update row wwd_record_guests in phpBB CONFIG_TABLE', '', __LINE__, __FILE__, $sql);
}
Verfasst: 17.06.2007 17:38
von Red-Benz
Hi
und Danke für den Versuch
Funktioniert irgendwie aber auch nicht ! die Tabelle bleibt leer
Gruß
Red Benz
Verfasst: 17.06.2007 21:33
von Red-Benz
So
Ich habe jetzt mal einen TEST gemacht,
wenn ich in der Datenbank im Feld wwd_record_guests manuell den Wert 10 eingebe und die tatsächliche Anzahl 11 ist wird nach Aktualisierung der Wert gelöscht setze ich den Wert Wert manuell auf 11 bleibt er nach Aktualisierung erhalten.
Also anstatt den neuen Wert zu erhöhen wird er gelöscht.
Wo liegt der Fehler ??
Gruß
Red Benz
Verfasst: 18.06.2007 00:29
von Arzee
[BTK] Tobi hat geschrieben:Versuch es mal mit
Code: Alles auswählen
$sql = 'SELECT COUNT(ip) AS sum_ip
FROM `' . $table_prefix . 'wwd_counter_ips`';
$result = $db->sql_query($sql);
$count = $db->sql_fetchrow($result);
if ( $count['sum_ip'] > $board_config['wwd_record_guests'] )
{
$sql = 'UPDATE ' . CONFIG_TABLE . "
SET config_value = '$sum_ip'
WHERE config_name = 'wwd_record_guests'";
if ( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not update row wwd_record_guests in phpBB CONFIG_TABLE', '', __LINE__, __FILE__, $sql);
}
Kleine Verbesserung:
Code: Alles auswählen
$sql = 'SELECT COUNT(ip) AS sum_ip
FROM `' . $table_prefix . 'wwd_counter_ips`';
$result = $db->sql_query($sql);
$count = $db->sql_fetchrow($result);
if ( $count['sum_ip'] > $board_config['wwd_record_guests'] )
{
$sql = 'UPDATE ' . CONFIG_TABLE . "
SET config_value = '$count[sum_ip]'
WHERE config_name = 'wwd_record_guests'";
if ( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not update row wwd_record_guests in phpBB CONFIG_TABLE', '', __LINE__, __FILE__, $sql);
}
Verfasst: 18.06.2007 08:36
von Red-Benz
@Arzee
Ey ........ DANKE
nun funktioniert das ganze.
Kleiner Fehler große Wirkung aber nun passt das.
Damit wird gespeichert wann ( die Abfrage des Datums hängt dahinter ) die meisten Gäste im Forum unterwegs waren, aufgebaut auf den
"Wer war da"-MOD
Gruß
Red Benz