缓慢的ajax脚本。AJAX、PHP、MYSQL
我正在创建一个论坛式的网站,在那里用户可以发布一些东西。因此,每个帖子都有两个按钮,“正版”和“可疑” 单击“正品”按钮时,日期和时间下方以及按钮上的正品计数应发生动态变化。单击按钮后,该按钮也应被禁用。我正在使用ajax动态地完成这项工作,它与php通信并在mysql数据库中进行更改。它工作正常,但问题是,如果我多次快速单击按钮,脚本将运行两到三次,即真正的计数将增加两到三次。有什么可以避免的吗缓慢的ajax脚本。AJAX、PHP、MYSQL,php,mysql,ajax,Php,Mysql,Ajax,我正在创建一个论坛式的网站,在那里用户可以发布一些东西。因此,每个帖子都有两个按钮,“正版”和“可疑” 单击“正品”按钮时,日期和时间下方以及按钮上的正品计数应发生动态变化。单击按钮后,该按钮也应被禁用。我正在使用ajax动态地完成这项工作,它与php通信并在mysql数据库中进行更改。它工作正常,但问题是,如果我多次快速单击按钮,脚本将运行两到三次,即真正的计数将增加两到三次。有什么可以避免的吗 显示按钮的代码 $query="select * from genuineposts where
显示按钮的代码
$query="select * from genuineposts where username='$username' and pid='$postid' ";
$sql=mysqli_query($connection,$query);
if(mysqli_num_rows($sql)>0){
//the user has clicked genuine
echo "<span id='genuinespan3".$row['id']."' name='genuinespan3".$row['id']."'><button name='genuinebutton3".$row['id']."' id='genuinebutton3".$row['id']."' onclick='genuine3(".$row['id'].")' disabled>
Genuine[ ".$row['genuine']." ]"."</button></span> ";
echo "<span id='undogenuinespan3".$row['id']."' name='undogenuinespan3".$row['id']."'><button name='undogenuinebutton3".$row['id']."' id='undogenuinebutton3".$row['id']."'onclick='undogenuine3(".$row['id'].")' >undo</button></br></span>";
echo "</br>";
echo "<span id='dubiousspan3".$row['id']."' name='dubiousspan3".$row['id']."'></span> ";
echo "<span id='undodubiousspan3".$row['id']."' name='undodubiousspan3".$row['id']."'></span>";
exit();
}else{
//check if he clicked dubious
$query="select * from dubiousposts where username='$username' and pid='$postid' ";
$sql=mysqli_query($connection,$query);
if(mysqli_num_rows($sql)>0){
//the user clicked dubious
echo "<span id='genuinespan2".$row['id']."' name='genuinespan2".$row['id']."'></span> ";
echo "<span id='undogenuinespan2".$row['id']."' name='undogenuinespan2".$row['id']."'></span>";
echo "</br>";
echo "<span name='dubiousspan2".$row['id']."' id='dubiousspan2".$row['id']."'> <button name='dubiousbutton2".$row['id']."' id='dubiousbutton2".$row['id']."' onclick='dubious2(".$row['id'].")' disabled>
Dubious[ ".$row['dubious']." ]"."</button></span> ";
echo "<span id='undodubiousspan2".$row['id']."' name='undodubiousspan2".$row['id']."'><button name='undodubiousbutton2".$row['id']."'
id='undodubiousbutton2".$row['id']."' onclick='undodubious2(".$row['id'].")'>undo</button></span></br>";
exit();
}
else{
//the user has not clicked either genuine or dubious
echo "<span id='genuinespan1".$row['id']."' name='genuinespan1".$row['id']."'><button name='genuinebutton1".$row['id']."' id='genuinebutton1".$row['id']."' onclick='genuine1(".$row['id'].")' >
Genuine[ ".$row['genuine']." ]"."</button></span> ";
echo "<span id='undogenuinespan1".$row['id']."' name='undogenuinespan1".$row['id']."'></span>";
echo "</br>";
echo "<span id='dubiousspan1".$row['id']."' name='dubiousspan1".$row['id']."'><button name='dubiousbutton1".$row['id']."' id='dubiousbutton1".$row['id']."' onclick='dubious1(".$row['id'].")' >
Dubious[ ".$row['dubious']." ]"."</button></span> ";
echo "<span id='undodubiousspan1".$row['id']."' name='undodubiousspan1".$row['id']."'></span></br>";
}
}
$query=“从genuineposts中选择*,其中用户名='$username'和pid='$posted';
$sql=mysqli\u查询($connection,$query);
如果(mysqli_num_行($sql)>0){
//用户已单击“正版”
回声“
正版[“$行['正版]。”]”;
回显“撤消”;
回声“”;
回声“;
回声“;
退出();
}否则{
//检查他是否可疑
$query=“从用户名为“$username”且pid为“$posted”的可疑帖子中选择*;
$sql=mysqli\u查询($connection,$query);
如果(mysqli_num_行($sql)>0){
//用户单击“可疑”
回声“;
回声“;
回声“”;
回声“
可疑[“$行['可疑]。”];
回显“撤消”;
退出();
}
否则{
//用户未单击正版或可疑
回声“
正版[“$行['正版]。”]”;
回声“;
回声“”;
回声“
可疑[“$行['可疑]。”];
回声“”;
}
}
在某处记录用户id/用户名,表明他投了正版票。。每次有人投票时,检查他是否已经投票。你什么时候禁用按钮?您应该在单击后立即执行此操作,听起来您是在收到响应后执行此操作的。无论哪种方式,您都需要显示您的代码才能获得真正的帮助。单击后禁用“正版”按钮。因此,您无法单击它会加倍。您应该在单击后立即执行此操作。是的,我正在禁用它。。但问题是它运行缓慢。。您现在可以看到上面的代码了