gpt4 book ai didi

php - 获取选中复选框的ID

转载 作者:行者123 更新时间:2023-11-29 10:22:49 25 4
gpt4 key购买 nike

我目前正在开发 PHP 和 MySQL 应用程序。在我的应用程序中,我从 MySQL 加载一个表并将其显示在我的网站中。该表由列(ID、姓名、姓氏)组成。当我加载表格时,我还创建了另一列,其中包含不同的复选框。我创建表的源代码如下:

function user_clients_table() {

$con = mysql_connect("localhost","root",'');
if(!$con){

die("Cannot Connect" . mysql_error());

}
mysql_select_db("client_app",$con);
$get_user_clients = "SELECT `ID`,`Name`,`SurName` FROM `clients` ";
$clients = mysql_query($get_user_clients,$con);

echo "<table border=2>
<tr>
<th>Client</th>
<th>Name</th>
<th>SurName</th>
<th>Receive Message</th>
</tr>";
while($record = mysql_fetch_array($clients)){
echo "<form action=pushnotification.php method=post>";
echo "<tr>";
echo "<td>".$record['ID']." </td>";
echo "<td>".$record['Name']." </td>";
echo "<td>".$record['SurName']." </td>";
echo "<td>"."<input type=checkbox name= checkbox[".$record['ID']."] "."</td>";
echo "</tr>";
echo "</form>";
}

echo "</table>";
mysql_close();

}

该表格看起来与网站中的表格类似:

enter image description here

我想要做的是,如果在单击网站上的发送按钮后设置了客户端的复选框,则从表的第一列回显客户端 ID。例如,如果设置了顶部复选框,我想回显“1”,如果选中第三行中的复选框,我想回显“3”。

到目前为止我已经做到了:

if (isset($_POST['checkbox']))
{
foreach ($_POST['checkbox'] as $key => $value)
{
$receivemsg = $key;
}

echo '<span style="color:#AFA;text-align:center;">'.$receivemsg.'</span>';

}

但它仅适用于第一个复选框,其他复选框不起作用。有人可以帮我做到这一点吗?谢谢问候

最佳答案

(在 HTML 中,您将属性放在“”中,例如 type="checkbox"。使用 '' 作为标签,这样您就可以使用“”作为属性。您还缺少一个“/>”输入标记的末尾。)

对于 isset,您实际上只检查第一个。使用 foreach 删除它,无论如何你都不需要它,因为它循环遍历选中的复选框(如果你从 HTML 作为数组发送它们)。如果没有选中任何复选框,则循环将运行 0 次。

foreach ($_POST['checkbox'] as $key => $value)
{
$receivemsg = $key;
}

如果你这样写,它只会保存最后选中的复选框。也许你想要

foreach ($_POST['checkbox'] as $key => $value)
{
$receivemsg[] = $key;
}

当然还有注入(inject)、mysqli 以及评论中提到的其他内容。

(我个人觉得有点奇怪,如果复选框作为数组发送,isset 就不再对它们起作用。或者更准确地说,它把它们作为数组的元素起作用。)

正如@Johannes所说,您还为每个复选框声明一个表单。

关于php - 获取选中复选框的ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48929936/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com