在使用者簽到狀態表中我們有乙個字段,last_sign_time,即上一次簽到時間,每次可以簽到的時候把這個時間與當前時間進行比較 如果相差為0天,則說明今天已簽到(這個簽到是24小時內只能簽到一次,即兩次簽到時間要相差24小時以上).如果等於一天則今日可以簽到,如果2天及其以上則說明漏簽了.
通過時間戳的判斷,及時更新狀態表,並且當可以簽到的時候則對使用者積分表進行操作,即更新使用者積分.
<?php
$user_id=@$_request['user_id'];
//功能:計算兩個時間戳之間相差的日時分秒
//$begin_time 開始時間戳
//$end_time 結束時間戳
function timediff($begin_time,$end_time)
else
//計算天數
$timediff = $endtime-$starttime;
$days = intval($timediff/86400);
//計算小時數
$remain = $timediff%86400;
$hours = intval($remain/3600);
//計算分鐘數
$remain = $remain%3600;
$mins = intval($remain/60);
//計算秒數
$secs = $remain%60;
$res = array("day" => $days,"hour" => $hours,"min" => $mins,"sec" => $secs);
return $res;
}function upuserscore($current_total_day)
if(mysqli_num_rows($rs))
$scoreusdateq = "update user_score set user_total_score ='98' where user_id=$user_id;"; //更新
mysqli_query($scorelink,"set names utf8");
$ustaters = mysqli_query($scorelink,$scoreusdateq); //獲取資料集
if($ustaters ==1)else
}else
if(strpos($q,"select") === false)
mysqli_close($scorelink);//關閉連線}}
//讀取資料庫配置資訊的ini檔案
$ary=parse_ini_file('db.ini');
$db_login_name=base64_decode($ary['db_login_name']);
$db_login_password=base64_decode($ary['db_login_password']);
$db_host=base64_decode($ary['db_host']);
$db_name=base64_decode($ary['db_name']);
//鏈結資料庫
$link=mysqli_connect($db_host,$db_login_name,$db_login_password);
mysqli_select_db($link,$db_name); //選擇資料庫
//檢查簽到表裡是否有該使用者 有的話則更新資料 沒有的話則插入資料
$q = "select * from user_signin where user_id=$user_id"; //sql插入語句
mysqli_query($link,"set names utf8");
$rs = mysqli_query($link,$q); //獲取資料集
if(!$rs)
if(mysqli_num_rows($rs))
//根據上次簽到時間和這次簽到時間作比較判斷有沒有漏簽和今日是否已簽到
$current_total_day=intval($total_day)+1;
$current_day=time();
$ary = timediff($last_time,$current_day);
if($ary[day]==0)else if($ary[day]==1)else
}elseelse
}}else
}mysqli_close($link);//關閉連線
?>
php如何獲取陣列的長度,使用php函式count(),或是sizeof();
sizeof()和count()具有同樣的用途,這兩個函式都可以返回陣列元素個數.可以得到乙個常規標量變數中的元素個數,
如果傳遞給這個函式的陣列是乙個空陣列,或者是乙個沒有經過設定的變數,返回的陣列元素個數就是0;兩函式功能一樣,
手冊上講,sizeof()是函式count()的別名。
時間格式化查詢
1.獲取上個月第一天及最後一天.
echo date('y-m-01', strtotime('-1 month'));
echo strtotime(date('y-m-01 0:00:00', strtotime('-1 month'))); //月初第一天時間戳
echo "
";echo date('y-m-t', strtotime('-1 month'));
echo "
";2.獲取當月第一天及最後一天.
$begindate=date('y-m-01', strtotime(date("y-m-d")));
echo $begindate;
echo "
";echo date('y-m-d', strtotime("$begindate +1 month -1 day"));
echo "
";3.獲取當天年份、月份、日及天數.
echo " 本月共有:".date("t")."天";
echo " 當前年份".date('y');
echo " 當前月份".date('m');
echo " 當前幾號".date('d');
echo "
";4.使用函式及陣列來獲取當月第一天及最後一天,比較實用,出自網友.
function getthemonth($date)
$today = date("y-m-d");
$day=getthemonth($today);
echo "當月的第一天: ".$day[0]." 當月的最後一天: ".$day[1];
echo "
";
sizeof()與 陣列長度獲取
獲取陣列長度 函式通過引數傳入乙個陣列的指標,如何獲取該陣列的長度?如 int find int array,int key 其中array的長度如何獲取?用過sizeof array sizeof int 但是結果不對,始終是1 滿意回答 int mylen int buf int main vo...
php中如何獲取陣列長度
php獲取陣列長度的方法 1 count sizeof 都可以直接統計一維陣列長度。2 例如 arr array 0 1 2 3 4 echo count arr 輸出5 arr array a b c echo sizeof arr 輸出3 3 sizeof 和count 具有同樣的用途,這兩個函...
php獲取陣列長度函式sizeof與count用法
count count 函式計算陣列中的單元數目或物件中的屬性個數,對於陣列,返回其元素的個數,對於其他值,返回 1,如果引數是變數而變數沒有定義,則返回 0,如果 mode 被設定為 count recursive 或 1 則會遞迴底計算多維陣列中的陣列的元素個數.sizeof 定義和用法,siz...