2017-05-04 50 views
0

我正在开发一个Android应用程序,其中包含一个包含每个用户所有登录信息的表的MySQL数据库。在该表中,我有名为“状态”每个用户初始分配为0。每当用户登录到他的帐户并提交数据(单击提交按钮)时,状态将更改为1.每天晚上12点,状态应重置为0。另外,如果用户直到上午10点才提交数据一天,那么应将一行自动插入到MySQL表中,对于状态仍为0的特定用户,列值为“无记录”。所以,我有一个创建一个PHP文件,在cpanel中作为cron作业运行。 PHP文件每小时检查一次。和当前时间上午12点和10点,它应该做必要的changes.But我没有得到我的PHP脚本script.The所需的结果下面给出:在特定时间不通过PHP cron作业更新MySQL表格

<?php 

require "connection.php"; 


$get_time = "select date_format(NOW(), '%H:%i A') as current_daily_date from dual;"; 
$convert_time = mysqli_query($connect,$get_time); 
$php_time = mysqli_fetch_assoc($convert_time); 
$final_time = $php_time["current_daily_date"]; 


$dateTime = new DateTime('now', new DateTimeZone('Asia/Kolkata')); 
$d = $dateTime->format("H:i A "); 
$e = $dateTime->format("d/m/y"); 
echo $d; 

$s = '00:00'; 
$g = strtotime($s); 
$p = date('H:i A',$g); 
echo $p; 

$c = '10:00'; 
$q = strtotime($c); 
$r = date('H:i A',$q); 
echo $r; 

if($d == $p) { 

     $run = "UPDATE login SET status = 0;"; 
     $connect->query($run); 
       echo "Status updated"; 

    } 

else if($d == $r) { 

    $second_run = "INSERT into attendance (name,date,attendance) VALUES ((SELECT name from login where status = 0), '$e' , 'No Records');"; 
    $connect->query($second_run); 
     echo "Marked as No Records"; 

} 

else { 

    echo "Not the correct time to change the status."; 
} 

$connect->close(); 

?> 

我已经把我的电子邮件为cron作业,以便将输出发送到我的邮件。但即使在凌晨12点,表格也没有更新。

产量为:

00:00 AM 00:00 AM10:00 AMNot the correct time to change the status. 

我不知道我要去的地方wrong.Can有人请让我知道什么是问题?

+0

对不起,你没有使用mysql数据库的android应用程序。你有一个使用mysql数据库的web应用程序。 Android应用可能会发出http请求。 – e4c5

+0

现在我们应该简化问题。发布您的crontab和cron作业应该执行的脚本。用户在网站上的交互并不相关。 – e4c5

+0

我发布的脚本是应该执行的cron作业。 – Pranami

回答

1

的INSERT SELECT的格式不正确:

$second_run = "INSERT into attendance (name,date,attendance) SELECT name, ****, **** from login where status = 0"; 

你不需要位的值,我不知道到底是段什么都没有。你也试图插入3个值,而只提供一个,我已经把****放在那里你需要把你的其他值。

如果您没有收到错误报告,您也应该在脚本中打开错误报告,因为这可能是错误。

error_reporting(E_ALL); 
ini_set('display_errors', 1); 
+0

其实我插入表的值与其他2列的“时间”和“没有记录”,这些值不是来自登录表。这就是为什么我把这些字段。 – Pranami

+0

啊 - 对不起,有点早点思考,所以这些值应该在选择。 –