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