CronJob-Service
bei SELFPHP mit ...
|
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden |
01.04.2005, 12:55:19
|
Anfänger
|
|
Registriert seit: Jun 2004
Beiträge: 119
|
|
Das soll nach 1 h ausgeführt werden!
Hallo liebe Mitglieder und Teammitglieder, ich bin gerade dabei ein Browsergame zu erstellen, doch jetzt bin ich auf ein problem gestoßen, wo ich überhaupt nicht weiter weiß, ich hoffe ihr könnt mir helfen.
Also ich möchte das wenn ein User zum Beispiel 11:30 auf den Button bauen drückt, das um 12:30 also genau eine stunde später ein mysql update befehl erfolgt,
ich habe schon so meine gedanken mit date("H:i"); usw. aber ich wieß net weiter, könnt ihr mir vielleicht helfen?
Danke.
|
01.04.2005, 13:15:49
|
|
SELFPHP Guru
|
|
Registriert seit: May 2003
Beiträge: 7.187
|
|
AW: Das soll nach 1 h ausgeführt werden!
Speicher in der Datenbank (oder irgendwo anders ab), wann der Baubeginn erfolgte. Bei jedem weiteren Aufruf einer bestimmten Datei, überprüfst du, ob der Baubeginn schon eine Stunde (oder länger) her ist. Wenn dies der Fall ist, führst du den UPDATE-Befehl aus.
|
01.04.2005, 13:22:13
|
Anfänger
|
|
Registriert seit: Jun 2004
Beiträge: 119
|
|
AW: Das soll nach 1 h ausgeführt werden!
mhh okay aber wie frage ich des ab?
mhh und was ist wenn er garnicht mehr baut? dann bekommt er doch auch keine rohstoffe, mhh kann man das irgendwie anders lösen?
trotzdem vielen dank!
|
01.04.2005, 13:23:48
|
|
SELFPHP Guru
|
|
Registriert seit: May 2003
Beiträge: 7.187
|
|
AW: Das soll nach 1 h ausgeführt werden!
Zitat:
Zitat von Spike15
mhh okay aber wie frage ich des ab?
|
PHP-Code:
<?php
if((time() - $baubeginn) > 3600) {
// update
}
?>
Zitat:
Zitat von Spike15
mhh und was ist wenn er garnicht mehr baut? dann bekommt er doch auch keine rohstoffe, mhh kann man das irgendwie anders lösen?
|
Da ich dein System nicht kenne, kann ich dir dazu auch nicht mehr sagen.
|
01.04.2005, 13:34:28
|
Anfänger
|
|
Registriert seit: Jun 2004
Beiträge: 119
|
|
AW: Das soll nach 1 h ausgeführt werden!
vielendank,mhhh
kann man auch eine abfrage starte das immer alle 5 minuten rohstoffe hinzu kommen
also das 11:35 wieder etwas kommt 11:40 wieder ein update befehl
mhh was musstn du wissen, damit du mir vielelicht helfen könntest?
vielen Dank
|
01.04.2005, 13:44:03
|
|
Administrator
|
|
Registriert seit: Apr 2002
Ort: Bergheim
Alter: 41
Beiträge: 5.255
|
|
AW: Das soll nach 1 h ausgeführt werden!
Die 5 Minutenschritte musst Du genau so Abfragen wie Du das auch mit dem stündlichen Update machst.
__________________
Gruß |Coding
---
Qozido® - Die Bilderverwaltung mit Logbuch für Taucher und Schnorchler.
www.qozido.de
|
03.04.2005, 11:55:42
|
Anfänger
|
|
Registriert seit: Jun 2004
Beiträge: 119
|
|
AW: Das soll nach 1 h ausgeführt werden!
Jo danke schön, das konnte ich mir irgendwie schon denkekn, bloß mein problem ist jetzt, ich weiß wirklich nicht man das stunden script macht wo aber erst eine stundegezählt wird wenn er geklickt hat, ich danke euch!
|
03.04.2005, 14:13:40
|
|
Junior Member
|
|
Registriert seit: May 2004
Ort: Köln
Alter: 43
Beiträge: 226
|
|
AW: Das soll nach 1 h ausgeführt werden!
Hossa,
folgendermassen kann das gehen:
HTML-Code:
<form action='dobegin.php' method='post'>
<hidden name='konklave' value='1'>
<input type='submit' value='Konklave bauen'>
</form>
Datei dobegin.php
PHP-Code:
<?
include_once('mysql.inc.php'); // MySQL-Verbindung
$user_id = $_SESSION['user_id']; // Die ID des Users
if ($_POST['konklave']):
//Datenbank abfragen ob gerade ggf. schon was im Bau
$db->query("SELECT zeit from bauen where userid = $user_id, bauart = 'konklave'");
if ($db->num_row > 0):
die('Gerade im Bau! Netter Versuch ;)'); // Abbrechen, da schon vorhanden
else:
$db->query("INSERT INTO zeit SET (zeit, userid, bauart) (NOW(), $user_id, 'konklave'); // Eintragen
endif;
endif;
?>
Und die Abfrage, ob alles in Ordnung ist, kannst du so machen
PHP-Code:
$db->query("SELECT zeit, bauwerkid FROM bauen where userid = $user_id");
while ($row = $db->fetch_assoc()):
if ( time)() - $row['zeit'] > 3600):
$array_final_update[] = $row['bauwerkid'];
endif;
endwhile;
foreach ($array_final_update as $k => $v):
$db->query(INSERT INTO bautabelle SET (userid, bauwerkid) ($user_id, $k);
endforeach;
Schau dir das mal... habe das gerade in der Scnellnachrichtenseite eingetippt..
Fehler schleichen sich immer ein ;:)
Gruss
Lukas
__________________
yozek
King of my castle - 127.0.0.1
Computer befreien das Denken vom Rechnen
|
03.04.2005, 15:19:22
|
|
Administrator
|
|
Registriert seit: Apr 2002
Ort: Bergheim
Alter: 41
Beiträge: 5.255
|
|
AW: Das soll nach 1 h ausgeführt werden!
Jo, z.B. hier:
PHP-Code:
foreach($array_final_update as $k => $v):
$db->query('INSERT INTO bautabelle SET (userid, bauwerkid) (' . $user_id . ', '. $k . ')');
endforeach;
__________________
Gruß |Coding
---
Qozido® - Die Bilderverwaltung mit Logbuch für Taucher und Schnorchler.
www.qozido.de
|
04.04.2005, 15:26:39
|
Anfänger
|
|
Registriert seit: Jun 2004
Beiträge: 119
|
|
AW: Das soll nach 1 h ausgeführt werden!
Okay danke schön,aber ich habe mich jetzt so entschieden das immer etwas zur vollen stunde kommt, also wenn es 15:00 Uhr ist soll updatet werden wenn es 16:00 Uhr ist usw.
mhh nun habe ich etwas probiert, und habe auch ne stunde gewartet, doch es kommt irgendwie nichts, mhh wo kann hier der fehler liegen
PHP-Code:
/**********| pro Stunde |**********/
$a = date("H");
$stunde = $db->fetch_query("SELECT * FROM kosten WHERE user = '$ageUser'");
$stunde2 = $db->fetch_query("SELECT * FROM bauen WHERE user = '$ageUser'");
$G_stunde = $stunde2["gold"] + $stunde["Gstunde"];
$S_stunde = $stunde2["steine"] + $stunde["Sstunde"];
$H_stunde = $stunde2["holz"] + $stunde["Hstunde"];
$J_stunde = $stunde2["nahrung"] + $stunde["Jstunde"];
switch ($a) {
case "00":
$db->query("UPDATE bauen SET gold = '$G_stunde', steine = '$S_stunde', holz = '$H_stunde',
nahrung = '$J_stunde', WHERE user = '$ageUser'");
break;
case "01":
$db->query("UPDATE bauen SET gold = '$G_stunde', steine = '$S_stunde', holz = '$H_stunde',
nahrung = '$J_stunde', WHERE user = '$ageUser'");
break;
case "02":
$db->query("UPDATE bauen SET gold = '$G_stunde', steine = '$S_stunde', holz = '$H_stunde',
nahrung = '$J_stunde', WHERE user = '$ageUser'");
break;
case "03":
$db->query("UPDATE bauen SET gold = '$G_stunde', steine = '$S_stunde', holz = '$H_stunde',
nahrung = '$J_stunde', WHERE user = '$ageUser'");
break;
case "04":
$db->query("UPDATE bauen SET gold = '$G_stunde', steine = '$S_stunde', holz = '$H_stunde',
nahrung = '$J_stunde', WHERE user = '$ageUser'");
break;
case "05":
$db->query("UPDATE bauen SET gold = '$G_stunde', steine = '$S_stunde', holz = '$H_stunde',
nahrung = '$J_stunde', WHERE user = '$ageUser'");
break;
case "06":
$db->query("UPDATE bauen SET gold = '$G_stunde', steine = '$S_stunde', holz = '$H_stunde',
nahrung = '$J_stunde', WHERE user = '$ageUser'");
break;
case "07":
$db->query("UPDATE bauen SET gold = '$G_stunde', steine = '$S_stunde', holz = '$H_stunde',
nahrung = '$J_stunde', WHERE user = '$ageUser'");
break;
case "08":
$db->query("UPDATE bauen SET gold = '$G_stunde', steine = '$S_stunde', holz = '$H_stunde',
nahrung = '$J_stunde', WHERE user = '$ageUser'");
break;
case "09":
$db->query("UPDATE bauen SET gold = '$G_stunde', steine = '$S_stunde', holz = '$H_stunde',
nahrung = '$J_stunde', WHERE user = '$ageUser'");
break;
case "10":
$db->query("UPDATE bauen SET gold = '$G_stunde', steine = '$S_stunde', holz = '$H_stunde',
nahrung = '$J_stunde', WHERE user = '$ageUser'");
break;
case "11":
$db->query("UPDATE bauen SET gold = '$G_stunde', steine = '$S_stunde', holz = '$H_stunde',
nahrung = '$J_stunde', WHERE user = '$ageUser'");
break;
case "12":
$db->query("UPDATE bauen SET gold = '$G_stunde', steine = '$S_stunde', holz = '$H_stunde',
nahrung = '$J_stunde', WHERE user = '$ageUser'");
break;
case "13":
$db->query("UPDATE bauen SET gold = '$G_stunde', steine = '$S_stunde', holz = '$H_stunde',
nahrung = '$J_stunde', WHERE user = '$ageUser'");
break;
case "14":
$db->query("UPDATE bauen SET gold = '$G_stunde', steine = '$S_stunde', holz = '$H_stunde',
nahrung = '$J_stunde', WHERE user = '$ageUser'");
break;
case "15":
$db->query("UPDATE bauen SET gold = '$G_stunde', steine = '$S_stunde', holz = '$H_stunde',
nahrung = '$J_stunde', WHERE user = '$ageUser'");
break;
case "16":
$db->query("UPDATE bauen SET gold = '$G_stunde', steine = '$S_stunde', holz = '$H_stunde',
nahrung = '$J_stunde', WHERE user = '$ageUser'");
break;
case "17":
$db->query("UPDATE bauen SET gold = '$G_stunde', steine = '$S_stunde', holz = '$H_stunde',
nahrung = '$J_stunde', WHERE user = '$ageUser'");
break;
case "18":
$db->query("UPDATE bauen SET gold = '$G_stunde', steine = '$S_stunde', holz = '$H_stunde',
nahrung = '$J_stunde', WHERE user = '$ageUser'");
break;
case "19":
$db->query("UPDATE bauen SET gold = '$G_stunde', steine = '$S_stunde', holz = '$H_stunde',
nahrung = '$J_stunde', WHERE user = '$ageUser'");
break;
case "20":
$db->query("UPDATE bauen SET gold = '$G_stunde', steine = '$S_stunde', holz = '$H_stunde',
nahrung = '$J_stunde', WHERE user = '$ageUser'");
break;
case "21":
$db->query("UPDATE bauen SET gold = '$G_stunde', steine = '$S_stunde', holz = '$H_stunde',
nahrung = '$J_stunde', WHERE user = '$ageUser'");
break;
case "22":
$db->query("UPDATE bauen SET gold = '$G_stunde', steine = '$S_stunde', holz = '$H_stunde',
nahrung = '$J_stunde', WHERE user = '$ageUser'");
break;
case "23":
$db->query("UPDATE bauen SET gold = '$G_stunde', steine = '$S_stunde', holz = '$H_stunde',
nahrung = '$J_stunde', WHERE user = '$ageUser'");
break;
default:
$b = "ERROR";
Am anfang das stunde["gold"] + stunde2["Gstunde"] sind einfahc nur werte die drinne stehen also z.b 200 also sollen zu den bestehenden 200 stück adiert werden, nicht das ihr nicht versteht^^
vielen dank.
Geändert von Spike15 (04.04.2005 um 15:28:31 Uhr)
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Themen-Optionen |
|
Ansicht |
Linear-Darstellung
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 03:39:54 Uhr.
|