Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/256.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
Php Onclick funcs在我的函数中工作不正常_Php - Fatal编程技术网

Php Onclick funcs在我的函数中工作不正常

Php Onclick funcs在我的函数中工作不正常,php,Php,我已经编写了将我的状态从0更新为1的函数,但是当我单击按钮时,它会更新所有行的状态。我不知道我做错了什么 function updateStatusenable($id,$value) { global $mysqli,$db_table_prefix; $stmt = $mysqli->prepare("UPDATE gb_users SET status = ? WHERE id = ? LIMIT 1 "); $stmt->bind_pa

我已经编写了将我的状态从0更新为1的函数,但是当我单击按钮时,它会更新所有行的状态。我不知道我做错了什么

function updateStatusenable($id,$value)
{
global $mysqli,$db_table_prefix;
$stmt = $mysqli->prepare("UPDATE gb_users
    SET status = ?
    WHERE
    id = ?
    LIMIT 1
    ");
$stmt->bind_param("ss", $id,$value);
$result = $stmt->execute();
$stmt->close();
return $result;
}
这个函数我用在:

 <?php
    $value=1;
    foreach($users as $v1)
     {
        echo "<tr>
        <form action=\"admin_pending_approval_users.php\" method=\"post\">
        <input type=\"hidden\" name=\"enable\" value=".$v1['id'].">
        <td>".$v1['id']."</td>
        <td>".getAccountTypeNameById($v1['account_type'])."</td>
        <td>".$v1['name']."</td>
        <td>".$v1['user_name']."</td>
        <td>".getUserGroupsNameById($v1['group'])."</td>
        <td>Rs.".fetchUserBalance($v1['id'])."</td>
        <td>";
        if($v1['status']==1)
            {
            echo "<button class=\"green tiny\"><span>ACTIVE</span></button>";
            }
                else
                {
                    echo "<button class=\"orange tiny\" onclick=".updateStatusenable($v1['id'],$value)." ><span>DISABLED</span></button>";
                }
                echo "</td>
                <td align='right'>
                <a href='view_user.php?user_id=".$v1['id']."'><button class=\"small\"><img src=\"images/icons/small/white/magnifying_glass.png\"></button></a>
                <a href='edit_user.php?user_id=".$v1['id']."'><button class=\"small\"><img src=\"images/icons/small/white/create_write.png\"></button></a>
                </td>
                </form>
                </tr>";
                    }

我认为您的绑定顺序设置错误,如下所示

$stmt->bind_参数(“ss”,$id,$value)

改用

$stmt->bind_参数(“ss”,$value,$id)

在id之前设置状态


还可以使用ajax进行更新,这样您就可以将操作请求从客户端发送到服务器。

因为我不想使用ajax,所以我做了一些更改,比如用PHP完成

<?php
                    $value=1;
                    foreach($users as $v1)
                    {
                        echo "<tr>
                        <form action=\"admin_pending_approval_users.php\" method=\"post\">
                            <input type=\"hidden\" name=\"id\" value=".$v1['id'].">
                            <td>".$v1['id']."</td>
                            <td>".getAccountTypeNameById($v1['account_type'])."</td>
                            <td>".$v1['name']."</td>
                            <td>".$v1['user_name']."</td>
                            <td>".getUserGroupsNameById($v1['group'])."</td>
                            <td>Rs.".fetchUserBalance($v1['id'])."</td>
                            <input type=\"hidden\" name=\"process\" value=\"1\" required>
                            <td>";
                                if($v1['status']==1)
                                {
                                    echo "<button class=\"green tiny\"><span>ACTIVE</span></button>";
                                }
                                else
                                {
                                    echo "<button class=\"orange tiny\" onClick=\"form.submit()\" ><span>DISABLED</span></button>";
                                }
                                echo "</td>

                            <td align='right'>
                                <a href='view_user.php?user_id=".$v1['id']."'><button class=\"small\"><img src=\"images/icons/small/white/magnifying_glass.png\"></button></a>
                                <a href='edit_user.php?user_id=".$v1['id']."'><button class=\"small\"><img src=\"images/icons/small/white/create_write.png\"></button></a>
                            </td>
                            </form>
                        </tr>";
                    }

                    ?>

最后,函数保持不变

否。只是否。您不能从客户端javascript处理程序调用serer端php函数。那该怎么办?相反,您需要实现一个AJAX请求,以便在两个独立的系统之间进行中继。你能帮我如何做到这一点吗?我在上一篇评论中已经回答了这个问题,不是吗?你需要实现一个AJAX请求。好吧,我试着做得很好,很好。然而,这不是OP目前面临的问题,因此这并没有回答所提出的问题。它不起作用。它改变了所有人的地位row@arkascha是的,我发现了它并写下了答案。我想我应该称赞这一点。@AtillaArdaAıkgöz你仍然可以这样做;-)当然,有可能,但这意味着需要重新加载整个页面。非常难看。
if(!empty($_POST['process']))
{
$id = $_POST['id'];
updateStatusenable($id,1);
 }