各サブページに誰が入力されたかを制御し、この情報をMySQLに挿入する必要があります。私は情報(userid、サブページ、subpageid、datetime)を取得するMYSQLテーブルを持っています。レコードのリストを作成して後で挿入するPHP MYSQL
function logstore(){
global $DB, $USER, $CFG;
$protocol = strpos(strtolower($_SERVER['SERVER_PROTOCOL']),'https')
=== FALSE ? 'http' : 'https';
$host = $_SERVER['HTTP_HOST'];
$script = $_SERVER['SCRIPT_NAME'];
$currentUrl = $protocol . '://' . $host . $script;
$newsurl = $CFG->wwwroot.'/news/view.php';
$produrl = $CFG->wwwroot.'/prod/view.php';
$materialurl = $CFG->wwwroot.'/material/index.php';
$datetime = date_create()->format('Y-m-d H:i:s');
$records = new stdClass();
$records->userid = $USER->id;
if($currentUrl == $newsurl){
$records->activity = 'news';
$records->activityid = $_GET['id'];
}elseif ($currentUrl == $produrl){
$records->activity = 'prod';
$records->activityid = $_GET['id'];
}
elseif ($currentUrl == $materialurl){
$records->activity = 'material';
$records->activityid = $_GET['id'];
}
$records->datetime = $datetime;
$DB->insert_record('logstore', $records);}
Imが/news/view.php、/prod/view.php、/material/index.phpの上に、この関数を呼び出します。
うまく動作しますが、少しはそれを最適化する必要があります。 DBが無料のときにこれらのレコードを挿入する方法はありますか?リストを作成して1時間ごとに挿入する方法はありますか?
//編集
私はINSERTが遅れてみましたが、その私のDBで作業していない:(