Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/280.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
Javascript 使用ajax激活和取消激活产品_Javascript_Php_Ajax - Fatal编程技术网

Javascript 使用ajax激活和取消激活产品

Javascript 使用ajax激活和取消激活产品,javascript,php,ajax,Javascript,Php,Ajax,我试图使用ajax在用户单击按钮时将其从活动更改为非活动,同时对数据库进行更改,反之亦然。但代码似乎不起作用,每当我点击按钮时,就会出现错误:“有些东西工作不正常。” $query = "SELECT * FROM product"; //query for getting the product from database. $result = $mysqli->query($query); if (!$result) die ("Database access failed:

我试图使用ajax在用户单击按钮时将其从活动更改为非活动,同时对数据库进行更改,反之亦然。但代码似乎不起作用,每当我点击按钮时,就会出现错误:“有些东西工作不正常。”

$query = "SELECT * FROM product";    //query for getting the product from database.
$result = $mysqli->query($query); 
if (!$result) die ("Database access failed: " . mysql_error()); //error message.

$rows = mysqli_num_rows($result);  //getting number of row.

if ($rows > 0)  //Checking whether product exist in the database to shown.
{
    for ($i=0; $i < $rows; $i++)  //loop through all the row.
    { 
        $row = mysqli_fetch_row($result);
        echo '<div id="active">';
        if ($row[8] == 1) //product is actived display Deactive button.
        {
            echo '<form onclick="changeActive()" method="post" id="activeButton">';
            echo '<input type="hidden" name="deactive" value="yes"/>';
            echo '<input type="hidden" name="id"    value="'.$row[0].'" />';
            echo '<input type="hidden" name="image" value="$row[5]" />';
            echo '<input type="submit" name="deactive" value="DEACTIVE PRODUCT" />';
            echo '</form>';
        } // end if statement.
        else   //product is deactived display Active button.
        {
            echo '<form onclick="changeActive()" method="post" id="activeButton">';
            echo '<input type="hidden" name="active" value="yes"/>';
            echo '<input type="hidden" name="id"    value="'.$row[0].'" />';
            echo '<input type="hidden" name="image" value="$row[5]" />';
            echo '<input type="submit" name="active" value="ACTIVE PRODUCT" />';
            echo '</form>';
        } //end else statement
        echo '</div>';
    }
}
$query=“选择*来自产品”//用于从数据库获取产品的查询。
$result=$mysqli->query($query);
如果(!$result)死亡(“数据库访问失败:.mysql_error())//错误消息。
$rows=mysqli\u num\u rows($result)//正在获取行数。
if($rows>0)//检查要显示的数据库中是否存在产品。
{
对于($i=0;$i<$rows;$i++)//循环遍历所有行。
{ 
$row=mysqli\u fetch\u行($result);
回声';
如果($row[8]==1)//产品处于激活状态,则显示取消激活按钮。
{
回声';
回声';
回声';
回声';
回声';
回声';
}//结束if语句。
else//产品处于非激活状态,显示激活按钮。
{
回声';
回声';
回声';
回声';
回声';
回声';
}//end else语句
回声';
}
}
这是我的ajax代码

request = function(link, target, result)
{
    var changeListener;
    var xhr = new XMLHttpRequest();
    changeListener = function()
    {
        if(xhr.readyState === 4)
        {
            if(xhr.status == 200) 
            {
                target.innerHTML = xhr.responseText;
            } 
            else 
            {
                target.innerHTML = "<p>Something didn't work right.</p>";
            }
        }
        else
        {
            target.innerHTML = "<p>Hold Up...</p>";
        }
    }; 
    xhr.open("GET", link, true);
    xhr.onreadystatechange = changeListener;
    xhr.send(result);
};

changeActive = function()
{
var target;
target = document.getElementById('active');
request("active_deactive.php", target);
    };
request=函数(链接、目标、结果)
{
var变化监听器;
var xhr=new XMLHttpRequest();
changeListener=函数()
{
if(xhr.readyState==4)
{
如果(xhr.status==200)
{
target.innerHTML=xhr.responseText;
} 
其他的
{
target.innerHTML=“有些东西不正常。

”; } } 其他的 { target.innerHTML=“暂停…

”; } }; xhr.open(“GET”、link、true); xhr.onreadystatechange=changeListener; 发送(结果); }; changeActive=函数() { var目标; target=document.getElementById('active'); 请求(“active_deactive.php”,target); };
和php文件:

<?php
include_once 'connect.php'; //connect to the database
if (isset($_POST['deactive']) && isset($_POST['id'])) //Check whether deactive button is pushed.
{
    $id = $_POST['id'];
    $query = "UPDATE Product SET Active = 0 WHERE ID = '$id'";
    $deactive = $mysqli->query($query);
    echo '<form onclick="changeActive()" method="post" id="activeButton")">';
    echo '<input type="hidden" name="deactive" value="yes"/>';
    echo '<input type="hidden" name="id"    value="'.$row[0].'" />';
    echo '<input type="hidden" name="image" value="$row[5]" />';
    echo '<input type="submit" name="deactive" value="DEACTIVE PRODUCT" />';
    echo '</form>';
}

if (isset($_POST['active']) && isset($_POST['id'])) //Active button is pushed.
{
    $id = $_POST['id'];  //getting the id.
    $query = "UPDATE Product SET Active = 1 WHERE ID = '$id'"; 
    //back for delete the picture file.
    $active = $mysqli->query($query);
    echo '<form onclick="changeActive()" method="post" id="activeButton")">';
    echo '<input type="hidden" name="active" value="yes"/>';
    echo '<input type="hidden" name="id"    value="'.$row[0].'" />';
    echo '<input type="hidden" name="image" value="$row[5]" />';
    echo '<input type="submit" name="active" value="ACTIVE PRODUCT" />';
    echo '</form>';
}

?>

也许您必须看看JQuery提供的AJAX API

这对你的工作来说太容易了。我建议您在使用ajax时使用此API,而不是使用本机XMLHttpRequest对象

您的PHP脚本可能有问题。请阅读此答案以正确调试AJAX: