获取php中勾选复选框的值

问题描述 投票:0回答:1

我目前正在构建一个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();

}

该函数运行正常,我调用该函数后,我的网页如下所示:

enter image description here

我想要在我点击发送按钮后显示已选中复选框的客户端编号。例如,如果我只选中第一个复选框并提交它,我想回显与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>";
}
}

它可以工作,但仅适用于第一个复选框,如果我选择其他复选框而没有第一个复选框我不会发送任何东西。有人可以帮助我吗?

在此致谢谢

php mysql
1个回答
0
投票

每个复选框都是自己的形式,因此当您提交时,您正在提交第一个表单(第一个复选框),这就是您获取当前操作的原因。将表单标记放在循环外部

© www.soinside.com 2019 - 2024. All rights reserved.