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 時間に 1 回だけ広告を取得するようなことをしようとしていますが、これは挿入 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 に答える