Liebes PHP-Forum,
ich knobel die ganze Zeit daran, was ich falsch mache.
mit 2 Usern funktioniert es, aber mit den orginalen 20.000 Mitgliedern, hört das Script einfach irgendwann auf ohne etwas auszugeben und vorallem ohne etwas in die Datenbanktabellen "Tagaward" zu schreiben, bei 2 Usern, schreibt er auch was in die Tabelle "Tagaward".
Kurzes zum Code, was er machen soll...
Er Soll alle User aus der Tabelle "User" nehmen, in der Tabelle "Hits" jeden Monatstag prüfen, wieviele Hits der User gemacht hat, und dann in die Tabelle "Tagaward" schreiben, wieviele bzw welchen Award er bekommt.
Wie gesagt, bei 2'n gehts, bei 20.000 nicht.
Vielleicht hat jemand ne Idee.
Liebe Grüße: Code:
Also in erster Linie würde ich mich freuen wenn wir es zum laufen kriegen, gerne bin ich auch für Kritik offen und für Optimierungstipps, aber wenn es läuft, dann feier ich echt!
Liebe Grüße,
Benni
ich knobel die ganze Zeit daran, was ich falsch mache.
mit 2 Usern funktioniert es, aber mit den orginalen 20.000 Mitgliedern, hört das Script einfach irgendwann auf ohne etwas auszugeben und vorallem ohne etwas in die Datenbanktabellen "Tagaward" zu schreiben, bei 2 Usern, schreibt er auch was in die Tabelle "Tagaward".
Kurzes zum Code, was er machen soll...
Er Soll alle User aus der Tabelle "User" nehmen, in der Tabelle "Hits" jeden Monatstag prüfen, wieviele Hits der User gemacht hat, und dann in die Tabelle "Tagaward" schreiben, wieviele bzw welchen Award er bekommt.
Wie gesagt, bei 2'n gehts, bei 20.000 nicht.
Vielleicht hat jemand ne Idee.
Liebe Grüße: Code:
PHP-Code:
<?php
error_reporting( "E_ALL" );
include 'functions.php';
include 'config.php';
$user=mysql_query("SELECT * from user ORDER by id");
$dump=0;
$dumpn=0;
while($row=mysql_fetch_array($user)) { // User durchlaufen
$a=0; //Tagesangabe auf 0
while ($a<=31) { // 31 Tage durchlaufen
$a++; //Tag 1 usw..
$tam=mysql_query("SELECT * from hits WHERE userid ='$row[alias]' AND time ='$a'");
$dump=mysql_num_rows($tam); // Anzahl der generierten Hits an dem Tag
if ($dumpn<$dump) { $dumpn=$dump; } // wenn 31 Tage durch, sortieren nach dem besten Tag
}
if ($dumpn>=1000) { mysql_query("INSERT INTO tagaward VALUES ('','$row[alias]','1000','1')"); }
elseif ($dumpn>=750) { mysql_query("INSERT INTO tagaward VALUES ('','$row[alias]','750','1')"); }
elseif ($dumpn>=500) { mysql_query("INSERT INTO tagaward VALUES ('','$row[alias]','500','1')"); }
elseif ($dumpn>=250) { mysql_query("INSERT INTO tagaward VALUES ('','$row[alias]','250','1')"); }
elseif ($dumpn>=100 ) { mysql_query("INSERT INTO tagaward VALUES ('','$row[alias]','100','1')"); }
elseif ($dumpn>=50 ) { mysql_query("INSERT INTO tagaward VALUES ('','$row[alias]','50','1')"); }
// und ja, eintragen des jeweiligen Awards
}
?>
Liebe Grüße,
Benni

Kommentar