PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Tagesklickrally => Ergebnis vom Vortag



coolio
01.03.2009, 13:06
Hallo zusammen,
ich würde meinen Usern gerne einen Wunsch von ihnen erfüllen :-)
Und zwar, wertet der Cron der Tagesklickrally um 23:55 zwar alles schön aus, löscht dann aber das Ergebnis.
Meine Frage: Wie bekomme ich es hin, dass die Daten vom Vortag gespeichert werden und z.B. in einer Tabelle darunter ausgegeben werden?
Über eine Antwort würde ich mich sehr freuen ;)
Gruß
Florian

jpwfour
01.03.2009, 13:58
Also vom Prinzip her:

Du "kopierst" die Tabelle mit den Rallyedaten, und hängst ein Postfix an, bspw. _old
Beim Auswerten lässt du jetzt die "Gewinner"-Datensätze in die NAME_old Tabelle speichern,
und den Inhalt daraus gibst du mit dem selben Code wie die eigentliche Rallye Tabelle aus (Nur Namen der Tabelle ändern).

Sam2004
08.03.2009, 00:27
Ich war doch blind^^

Sry wenn ich mal nachhaken muss, aber kann man das mal für kleine blöde erklären? Was ist ein Postfix?

Wie sollte das ganze ungefähr aussehen?

Danke für Hilfe.
Sam

jpwfour
08.03.2009, 00:33
Ich nehm' mal die Aktivrallye aus dem Grundscript:

Datenbank:

CREATE TABLE vms_aktivralley_alt LIKE vms_aktivralley;
Somit haben wir eine 1:1 Tabelle mit dem Postfix (hinten angehängt) _alt


Nun, da die Tabelle sich ja beim auswerten füllen soll, muss man in der php Datei, die im Adminforce fürs auswerten zuständig ist:

Vorm Auswerten die Tabelle leeren & die Daten da reinschreiben:

db_query ("TRUNCATE TABLE `vms_aktivralley_alt`");
db_query ("INSERT INTO `vms_aktivralley_alt` SELECT * FROM `vms_aktivralley`");

db_query("UPDATE ".$db_prefix."_aktivralley_alt SET ausgezahlt = '".$buchungssumme."' WHERE uid='".$pa['uid']."'");
Wo die Codes hinkommen sieht man denke ich dann in der Datei :yes:

Und die Ausgabe der alten Gewinner ist dann ja das wenigste Problem, einfach den Code von der "normalen" Ausgabe kopieren, im db_query das Postfix anhängen, fertig.

Hardy
08.03.2009, 00:55
Alternativ gibts auch die Tages Klickrally Pro
http://vms-shop.scripte4lose.eu/?site=list&cat=9

Hardy
08.03.2009, 00:58
...

So wird aber auch nicht angezeigt wieviel gewonnen wurden ist sondern nur wieviele Punkte/klicks/APs gemacht wurden sind.

jpwfour
08.03.2009, 01:05
So wird aber auch nicht angezeigt wieviel gewonnen wurden ist sondern nur wieviele Punkte/klicks/APs gemacht wurden sind.

Muss ich definitiv wiedersprechen:


db_query("UPDATE ".$db_prefix."_aktivralley_alt SET ausgezahlt = '".$buchungssumme."' WHERE uid='".$pa['uid']."'");

Hier wird die Buchungssumme gespeichert, also was der User gewonnen hat :yes:

Sam2004
08.03.2009, 13:30
Alternativ gibts auch die Tages Klickrally Pro
http://vms-shop.scripte4lose.eu/?site=list&cat=9

Die hatte ich ja auch mal gekauft und hatte ja auch geklappt, aber dann bin ich am Klick Champ gescheitert, weil sich das nicht kombinieren lies...ich bin eben kein Progger^^

Nach dem Lokutos in die Finger genommen hat, funzt zwar die Tagesrally jetzt, die Tägliche Buchung für den Klick Champ auch, aber so bald der Rekord geknackt wird, wird nichts mehr in die Datenbank geschrieben...
Langsam verlier ich die Lust...kein Wunder warum mehr und mehr auf VMS2 umsteigen oder FWX :-/

Ich werde mich mal an jpwfour codes probieren^^
Danke

Wenn mal jemand langeweile hat, würd ich gern nen "Fachmann" an das Script lassen und eine ToDo Liste erstellen...gegen bezahlung...Wenn jemand Interesse hat, kann er sich gern bei mir melden.

Sam

Hardy
08.03.2009, 13:42
...
Wenn mal jemand langeweile hat, würd ich gern nen "Fachmann" an das Script lassen und eine ToDo Liste erstellen...gegen bezahlung...Wenn jemand Interesse hat, kann er sich gern bei mir melden.

Sam

melde dich bei mir mal im icq 192856655

Sam2004
08.03.2009, 13:47
Schon passiert^^

h-m
14.03.2009, 09:40
Bei mir wird die Auswertung der Tagesklickrally in der Datei '/crons/tagcron.php' gemacht (VMS 1.2.3) und zwar um 0:05 Uhr.

Um die Ergebnisse der Tagesklickrallys zu sichern, habe ich folgende Zeile gesucht:
db_query ("DELETE FROM ".$db_prefix."_tagrally");.. und darüber folgendes eingefügt:
// Sicherung anlegen
$siktabelle = $db_prefix.'_tagrally_'.date('ymd',mktime(-24));
db_query('CREATE TABLE '.$siktabelle.' LIKE '.$db_prefix.'_tagrally');
db_query('INSERT INTO '.$siktabelle.' SELECT * FROM '.$db_prefix.'_tagrally');

Wenn die Auswertung vor 0:00 Uhr stattfindet, sollte man stattdessen folgendes einfügen:
// Sicherung anlegen
$siktabelle = $db_prefix.'_tagrally_'.date('ymd');
db_query('CREATE TABLE '.$siktabelle.' LIKE '.$db_prefix.'_tagrally');
db_query('INSERT INTO '.$siktabelle.' SELECT * FROM '.$db_prefix.'_tagrally');

Die Ergebnisse der letzten Tagesklickrally werden somit bei der Auswertung in einer neuen Tabelle gespeichert, deren Name das Datum der Rally enthält.
Man muss allerdings die angelegten Tabellen von Zeit zu Zeit von Hand mit phpMyAdmin löschen da für jede Sicherung eine neue Tabelle angelegt wird.
Mit ein paar Zeilen mehr im Cron könnte man auch alle Sicherungen die ein bestimmtes Alter erreicht haben automatisch löschen lassen.