我目前正在构建一个Web应用程序。在我的applcaition中加载来自mysql的一些数据,我将它们显示为我网站中的一个表。另外我作为另一个由不同复选框组成的列。我显示表的源代码由位于另一页中的函数调用。该函数的源代码如下:
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>ID</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[] value=".$record['ID']." />". "</td>";
echo "</tr>";
echo "</form>";
}
echo "</table>";
mysql_close();
}
该函数运行正常,我调用该函数后,我的网页如下所示:
我想要在我点击发送按钮后显示已选中复选框的客户端编号。例如,如果我只选中第一个复选框并提交它,我想回显与thsi复选框匹配的客户端ID,在这种情况下,我将回显'2'。我的方法如下:
if(isset($_POST['send'])){
if(!empty($_POST['checkbox'])) {
// Counting number of checked checkboxes.
$checked_count = count($_POST['checkbox']);
echo "You have selected following ".$checked_count." option(s): <br/>";
// Loop to store and display values of individual checked checkbox.
foreach($_POST['checkbox'] as $selected) {
echo "<p>".$selected ."</p>";
}
echo "<br/><b>Note :</b> <span>Similarily, You Can Also Perform CRUD Operations using These Selected Values.</span>";
}
else{
echo "<b>Please Select Atleast One Option.</b>";
}
}
它可以工作,但仅适用于第一个复选框,如果我选择其他复选框而没有第一个复选框我不会发送任何东西。有人可以帮助我吗?
在此致谢谢
每个复选框都是自己的形式,因此当您提交时,您正在提交第一个表单(第一个复选框),这就是您获取当前操作的原因。将表单标记放在循环外部