我在一个网页上有一个命令,它调用一个控制器类,它执行一个将一些数据插入数据库的模型函数,它非常简单,除非每次我按下按钮数据被插入三次而不是只是一次。
function run_no_submenu_job($job_name,$client_name,$server_id)
{
$this->Jobmodel->insert_client_history($userID,$firstname,$lastname,$clientname,$data['time']);
}
,模型函数如下所示:
$query=$this->db->query("INSERT INTO clientaccesshistory (jobid, clientid, firstname, lastname, clientname, menu, submenu, starttime) VALUES ('$time','$userID','$firstname','$lastname','$clientname','Monitor/Verify', '$this->job_name',current_timestamp() )");
当我查看数据库时,信息已添加三次。有时候时间戳相隔1秒,有时则没有。有时这种行为不会发生,它只是按预期插入一次。不确定这是否与mysql连接,因为它在我的本地电脑上。
感谢
答案 0 :(得分:0)
你是否在按下按钮?换句话说,是在“按下按钮”或“按钮点击”上调用该功能吗?
不同之处在于“点击”只会发生一次,但根据您点击按钮需要多长时间,它会在多个更新周期中注册为“向下”,从而多次调用插入。如果您无法访问鼠标单击事件,请尝试仅在按钮的值从上到下变化时调用该函数。
如果是上述情况,HTML将是
<input type="button" onClick=run_no_submenu_job>
但是,不能以这种方式为函数提供参数。自从我使用Javascript以来已经很长时间了,所以我不确定如何解决你的问题。希望其他人可以扩展这个问题。