0

我的代码:

$query =    "INSERT IGNORE INTO `user_app` (app_id,imei, package_name, sdk_name, sdk_version, app_version)
                VALUES 
                ('".$appid."','".$imei."', '".$pkg."', '".$sdkn."', '".$sdkv."', '".$appv."')"; 

    $mysqli -> query($query);

    $id = $mysqli -> insert_id ; //get last user insert id

    $idt = date('G:i:s', time());

    $new = strtotime($idt);

    include('requestad.php');

当一个新用户注册时,他会从 requestad.php 获得一个 json 格式的广告。插入 id 保存在一个名为 $id 的单独变量中,如果用户再次通过应用程序点击(因为应用程序在每 30 分钟后调用一次),那么他将再次获得 json 广告。我正在尝试做一些事情,比如用户在整个 24 小时内只收到一次广告,这可以通过插入 id 和插入时间戳来实现。我正在做这样的事情:

if ( $new == time() ) {

        include('requestad.php');

    } elseif ( $new < time() ) {

            echo 'nothing';

    } 

但问题是我没有在变量中保存确切的执行时间,并且保存时间对于比较是必要的。另外,如果他再次请求资源,我必须向用户发送一些空白。请看看这个并帮助我产生最佳解决方案。我仍然没有应用任何逻辑。我可以通过静态存储时间来实现这一点,并将其与显示实时的 time() 进行比较。我还在看这个

4

1 回答 1

0
$store_time=$row['time'];//pick up the store time of user 

$store_time=strtotime($row['time']);//and convert it in strtotime.if alredy did no need to do this.

$new=strtotime("-24 hours",strtotime(time()));//substract the time to -24 hours.

if($new==$store_time)
{
//your code
}
else
{
//your code
}
于 2012-08-31T11:37:51.127 回答