Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
缓慢的ajax脚本。AJAX、PHP、MYSQL_Php_Mysql_Ajax - Fatal编程技术网

缓慢的ajax脚本。AJAX、PHP、MYSQL

缓慢的ajax脚本。AJAX、PHP、MYSQL,php,mysql,ajax,Php,Mysql,Ajax,我正在创建一个论坛式的网站,在那里用户可以发布一些东西。因此,每个帖子都有两个按钮,“正版”和“可疑” 单击“正品”按钮时,日期和时间下方以及按钮上的正品计数应发生动态变化。单击按钮后,该按钮也应被禁用。我正在使用ajax动态地完成这项工作,它与php通信并在mysql数据库中进行更改。它工作正常,但问题是,如果我多次快速单击按钮,脚本将运行两到三次,即真正的计数将增加两到三次。有什么可以避免的吗 显示按钮的代码 $query="select * from genuineposts where

我正在创建一个论坛式的网站,在那里用户可以发布一些东西。因此,每个帖子都有两个按钮,“正版”和“可疑”

单击“正品”按钮时,日期和时间下方以及按钮上的正品计数应发生动态变化。单击按钮后,该按钮也应被禁用。我正在使用ajax动态地完成这项工作,它与php通信并在mysql数据库中进行更改。它工作正常,但问题是,如果我多次快速单击按钮,脚本将运行两到三次,即真正的计数将增加两到三次。有什么可以避免的吗


显示按钮的代码

$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>&nbsp";
    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>&nbsp";
    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>&nbsp";
        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>&nbsp";

        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>&nbsp";


    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>&nbsp";


    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/用户名,表明他投了正版票。。每次有人投票时,检查他是否已经投票。你什么时候禁用按钮?您应该在单击后立即执行此操作,听起来您是在收到响应后执行此操作的。无论哪种方式,您都需要显示您的代码才能获得真正的帮助。单击后禁用“正版”按钮。因此,您无法单击它会加倍。您应该在单击后立即执行此操作。是的,我正在禁用它。。但问题是它运行缓慢。。您现在可以看到上面的代码了