php - 检索多个复选框并在表格中显示数据库中的其他相关信息

标签 php html mysql sql

我得到了从数据库打印出来的复选框列表。如果用户选中多个复选框并将其显示在表中,我可以从数据库检索数据,但我无法从数据库检索其他信息并将其显示在同一个表中。

这是我的代码:

<table border='1'>

<tr>
<th>TITLE</th>
<th>PERCENTAGE RESULT</th>
</tr>

<?php 

if(isset ($_POST["submit1"]))
{
    $selectedcheckbox = $_POST["selectedcheck"];

    $query = "SELECT * FROM compareresult where subject=$selectedcheckbox";
   $sql_query = mysql_query($query) or die('Error 3 :'.mysql_error());
    while($data = mysql_fetch_array($sql_query,MYSQL_ASSOC)){

      $result=$data['result'];
    }

    foreach($selectedcheckbox as $title)
    {

       echo "<tr>";
        echo "<td>".$title."</td>";
       echo "<td>".$result."</td>";
    }           
        echo "</tr>";

}
?>

我想在用户选择多个复选框后显示结果,所以我写道:

 echo $result in table

这样结果就可以显示在所选标题旁边的表格中,但我收到错误:

Array to string conversion in C:\xampp\htdocs\sam\c.php on line 31 Error 3 :Unknown column 'Array' in 'where clause'

最佳答案

我目前不在环境中测试您的问题,并且我是凭自己的想法这样做的,但请尝试以下操作。

if(isset($_POST['submit1'])){
    $checkbox = isset($_POST['selectedcheck']) ? $_POST['selectedcheck'] : array();
    foreach($checkbox as $title){

        $query = "SELECT * FROM compareresult where subject='".$title."'";
        $result=mysql_query($query);  // <-- to avoid SQL injections, please change your method from mysql_query to mysqli_query (use the mysqli functions instead of mysql) 
        while($data = mysql_fetch_array($result)){
             $result=$data['result'];

             echo "<tr>";
             echo "<td>".$title."</td>";
             echo "<td>".$result."</td>";
             echo "</tr>
             }
        } 
   }

它首先检查您的复选框是否已选中,如果选中,它们会将其放入数组中。 然后它运行 foreach 语句,将复选框值设置为标题。如果查询标题是否在数据库中,它就在那里运行,如果是,则通过 while 循环将其吐出。冲洗并重复直至完成。

编辑

我看到您将 open tablerow 语句放在 foreach 中,但在外面将其关闭。那么要么您希望将其全部打印在一行上,要么这是一个错误?如果它在一行上,请确保在 while 循环之前打开表行并在之后结束它,否则就像我吐出来的那样。

关于php - 检索多个复选框并在表格中显示数据库中的其他相关信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22435390/

相关文章:

mysql COUNT DISTINCT 多列与 WHERE

php - 我如何摆脱模型类中的 View 方法

php - 从 php 通过 Pushwoosh 发送推送通知

php - 支付成功后paypal,如何将用户重定向到新页面

javascript - 为什么在内容容器外单击时灯箱不关闭

php - $_POST[] - 不同的提交按钮不是恒定的

php - 如何使用 PHP/MySQL 建立主题标签之间的关系?

html - 如何选择菜单项的背景颜色

javascript - React : on hover over component 1, 改变另一个组件的样式

mysql - 如何在 MariaDB 10.1.37/Ver 15.1 中进行适当的约束?