Onclick函数在我的函数中无法正常工作
我已经编写了用于将状态从0更新为1的函数,但是当我点击按钮时,它更新了所有行的状态。我不知道我做错了什么。Onclick函数在我的函数中无法正常工作
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_param("ss", $id,$value);
改用
$stmt->bind_param("ss",$value, $id);
为u id设置
之前的状态还可以使用Ajax更新,因此您可以发送请求对你的行为从客户端到服务器。
好了,好点。然而,这不是OP目前面临的问题,所以这不会回答所问的问题。 – arkascha
它不工作。它改变了所有行的状态 – Piyush4196
@arkascha真的,我发现它并写为答案。我想我应该只是赞扬这一点。 –
因为我不想使用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>";
}
?>
而且在同一个PHP页面,我增加一个功能
if(!empty($_POST['process']))
{
$id = $_POST['id'];
updateStatusenable($id,1);
}
而在最后的funcs中其保持相同
当然,可能,但这意味着整页重新加载。十分难看。 – arkascha
号只是没有。您可以不从客户端JavaScript处理程序调用serer端php函数。该如何工作?相反,您需要实现一个AJAX请求来在两个不同的系统之间进行中继。 – arkascha
我明白了你的观点。你能帮我,我应该如何实现这一目标? – Piyush4196
我已经在我最近的评论中回答了,对不对?你需要实现一个AJAX请求。 – arkascha