慕桂英546537
自己摸索了一上午,寫了乙個能執行的方案。
// | 體重記錄表
public function weighe()
if($this->request->ispost()) elseif (18 <= $nowtime && $nowtime <= 23) {
$map['add_at'] = ['between', [$today[2], $today[1]]];
$map['wx_openid'] = $this->userinfo['openid'];
$row = db::name('weights')->where($map)->count();
unset($map);
if ($row > 0) return $this->error($_time.'已經提交過體重記錄了');
// 執行插入前先判斷單日是否已經存在提交
$map['wx_openid'] = $this->userinfo['openid'];
$map['add_at'] = ['between', [$today[0], $today[1]]];
if (1 > db::name('weights')->where($map)->count()) {
unset($map);
$map['customer_weixin_openid'] = $this->userinfo['openid'];
db::name('customers')->where($map)->setinc('custmer_add_weight_days'); // 當日第一次提交,更新提交次數到客戶表
$data['wx_openid'] = $this->userinfo['openid'];
$data['add_at'] = time();
if (db::name('weights')->insert($data) > 0) return $this->success('體重記錄提交成功!');
return $this->error('體重記錄提交失敗');
// 提交滿指點天數才可發表滿意評價
$map['customer_weixin_openid'] = $this->userinfo['openid'];
$rows = db::name('customers')->where($map)->field('custmer_add_weight_days')->find();
$this->assign('disabled', $rows['custmer_add_weight_days'] > 25 ? false : true);
unset($map);
$map['wx_openid'] = $this->userinfo['openid'];
$rows = db::name('weights')->where($map)->order('add_at desc')->field('wx_openid', true)->select();
$this->assign('list', $this->getdata($rows));
return $this->fetch();
能達到預期的效果,但不知道有沒有未知的bug。哪位大神還有比較好的方案可以改進下嗎?
php程式執行時間 php計算程式的執行時間
首先我們分析一下原理,要想得到程式執行時間,那麼可以在程式最開始執行的時候定義乙個變數記下當前時間,然後等我們程式執行完之後再記錄一下當前的時間,兩者相差就是該程式執行花費的時間了。這裡介紹一下 microtime 這個函式,microtime 用的不多,但是不能不知道這個函式,它是返回當前 uni...
PHP指令碼執行時間
php設定指令碼最大執行時間的三種方法 php.ini 中預設的最長執行時間是 30 秒,這是由 php.ini 中的 max execution time 變數指定,如果指令碼需要跑很長時間,例如要大量傳送電子郵件,或者分析統計大量資料,伺服器會在 30 秒後強行中止正在執行的程式,這種情況就要更...
PHP執行時配置
在php啟動時會讀取php的配置檔案php.ini,對於伺服器模組版本的php僅在web伺服器啟動時讀取一次,而cgi和cli版本的php每次呼叫都會讀取。在php.ini檔案中可以使用環境變數,php5.1以後還可以在ini檔案中引用ini中已存在的變數。讀取php.ini檔案時,按如下順序查詢p...