Автоматичен рестарт след 12 часа

k0kytak

Registered
Може ли да ми кажете как да направя след като съм израсходвал 10 тренировки и като стане на 0 да брой 6 часа и таблицата training на дадения потребител да се реска и така ако не става така поне да се реска всяка вечер след 00:00 часа :lol:


Код:
<?php
if($_SESSION['name']) {
$name = $_SESSION['name'];
if(isset($_GET['id'])) {
$id = htmlspecialchars($_GET['id']);
if($id == 1){$gexp = '50'; $wantedmoney = '100';}
if($id == 2){$gexp = '100'; $wantedmoney = '200';}
if($id == 3){$gexp = '150'; $wantedmoney = '300';}
if($id == 4){$gexp = '200'; $wantedmoney = '400';}
if($id == 5){$gexp = '300'; $wantedmoney = '500';}
$sql = "SELECT * FROM users WHERE name = '$name'";
$do = mysql_query($sql);
$my1 = mysql_fetch_array($do);
$mymoney = $my1['money'];
$mypower = $my1['power'];
$money = ($mymoney - $wantedmoney);
$power = ($mypower + $gexp);
$training=$my1['training'];
$trainingend=($training-1);
if($mymoney>=$wantedmoney && $training>=1){
$edit =  mysql_query("UPDATE users SET money = '$money', exp = '$power', power = '$power', training='$trainingend' WHERE name = '$name'");}
else if($training <= 0 OR $mymoney < $wantedmoney){
echo "Нямате достатъчно пари или нямате достатъчно часове за днес<br><br>";}}
else
$sql = "SELECT * FROM users WHERE name = '$name'";
$do = mysql_query($sql);
$my1 = mysql_fetch_array($do);
$training=$my1['training'];
echo "Обучение<hr color='black' width='300' align='center' /><br>";
echo "Остават ти да тренираш още $training часа<br><br>";
?>
 
Ще стане ли ако сложа ето този код след 00:00 вечерта да се трие полето training от таблицата users


Код:
$chas = date("H:i:s");

Код:
if($chas == "00:00:00") {
    mysql_query("DELETE FROM users WHERE training");
}
 
Да де но то ще стане ако заредиш файла в 00.00 часа но иначе няма да работи
 
Ами сложих ония код където бях показал но не се изпразни полето :cry:
 
k0kytak каза:
Ами сложих ония код където бях показал но не се изпразни полето :cry:

да, защото трябва да заредиш файла, за да се рестартира... с Cron Jobs го направи, по горе и линк са ти дали :)
 
t0m3kk каза:
k0kytak каза:
Ами сложих ония код където бях показал но не се изпразни полето :cry:

да, защото трябва да заредиш файла, за да се рестартира... с Cron Jobs го направи, по горе и линк са ти дали :)

Да но аз не съм на хостинг аз сам локално :)
 
k0kytak каза:
t0m3kk каза:
k0kytak каза:
Ами сложих ония код където бях показал но не се изпразни полето :cry:

да, защото трябва да заредиш файла, за да се рестартира... с Cron Jobs го направи, по горе и линк са ти дали :)

Да но аз не съм на хостинг аз сам локално :)

Мързела ви няма граници... свали си Cron Jobs за Windows и си го инсталирай :) не е толквоа трудно :)

http://cronw.sourceforge.net/ <--- сваляне :)
http://www.evaria.com/v3/index/article/29/configuring-cron-jobs-on-windows.html <--- конфигуриране :)

have fun :) и без оправдания :)
 
Добре де системите за топ класации как го правят без тоя cron jobs.. и секи месец се рестартира базата данни :lol:
 
Не се рестартира. Те просто извеждат статистиката за текущия месец т.е. ако е запиочнал нов месец няма статистики и няма да изведе нищо.
 
k0kytak каза:
Добре де системите за топ класации как го правят без тоя cron jobs.. и секи месец се рестартира базата данни :lol:

ти пък от къде знаеш, че е без cron ?!
 
Windows XP >
Start->Control Panel->Scheduled Tasks -> Add New Task

После в C:/ServerFolder/ правиш един бат. crons.bat с текс вътре :
C:\Пътя до /php.exe c:\пътя до скрипта за триене /program.php


За Linux >
Crontab > избираш редактор и пишеш вътре :
*/5 * * * * /usr/bin/wget -O - -q -t 1 http://localhost/cron.php
Това */5**** e датата както следва : минути(1-59),часове(0-23),ден(1-31),месец(1-12) маи беше или обратното :D
-----------
Ако сайта е голям ,и през цялото време на денонощието има хора , можеш да разчиташ и на тях:
<?php
$chas = date("H:i:s");
if($chas == "00:00:00") {
include("./dumpout.php");
}?>

dumpout.php>>>>
$sql = exec("mysqldump --tab=/home/server/Desktop/dumps/ --opt magazin10");
if($sql === TRUE) {
mysql_query("DELETE FROM users WHERE training");
}


Тоя пост го пиша 20 минути и го редактирам само веднъж... гати.....
 
Баси... мерси index ама май няма да го правя защото като си преинсталирам Windows-а всеки път трябва да правя това чудо аз искам някакъв скрипт където сам рестартира таблицата в 00:00 часа , все пак благодаря за помоща index :)
 

Back
Горе