使用复选框显示数据库并将选定的数据查询到另一个 php 文件中

Posted

技术标签:

【中文标题】使用复选框显示数据库并将选定的数据查询到另一个 php 文件中【英文标题】:Display database with checkbox and query selected data into another php file [duplicate] 【发布时间】:2020-10-10 04:31:54 【问题描述】:

我只想在表格中显示我的数据库,并且表格内的每一行都有一个复选框。用户可以选择选中一个或多个框,然后用户将在其中点击提交按钮并在另一个页面中查看所选数据。 以下是我尝试过的代码。

index.php

<!--Adds column titles -->
      <div style="overflow-x:auto;">
         <table id="test_data">
           <tr>
             <th> Select </th>
             <th> Test ID </th>
             <th> Path </th>
             <th> Video 1 Path </th>
             <th> Video 2 Path</th>
             <th> Video 3 Path</th>
             <th> Video 4 Path</th>
           </tr>

           <!--Prints out data from test_data table-->
           <?php
             $sql = "SELECT * FROM test_data";
             $result= mysqli_query($conn, $sql);
             $queryResults = mysqli_num_rows($result);



               if ($queryResults > 0) 
                 echo "<form action= 'search.php' method='get'>";
                 while ($row = mysqli_fetch_assoc($result)) 
                   echo "<tr>
                           <td><input type='checkbox' name='checkbox_id' value='" . $test_id . "'> </td>
                           <td> ".$row['test_id']." </td>
                           <td> ".$row['path']." </td>
                           <td> ".$row['video1_path']." </td>
                           <td> ".$row['video2_path']." </td>
                           <td> ".$row['video3_path']." </td>
                           <td> ".$row['video4_path']." </td>
                         </tr>";



                 
                echo "<input type= 'submit' value='submit' >";
               echo "</form>";
               
           ?>

         </table>
       </div>

搜索.php

<div style="overflow-x:auto;">
          <table id="test_data">
            <tr>
              <th> Test ID </th>
              <th> Path </th>
              <th> Video 1 Path </th>
              <th> Video 2 Path</th>
              <th> Video 3 Path</th>
              <th> Video 4 Path</th>
            </tr>


            <?php
              if (isset($_POST['checkbox_id'])) 
                $checkbox_id = $_POST['checkbox_id'];
                $sql= "SELECT * FROM test_data WHERE test_id IN $checkbox_id";
                $result = mysqli_query($conn, $sql);
                $queryResults = mysqli_num_rows($result);

                
                if ($queryResults > 0) 
                  while ($row = mysqli_fetch_assoc($result))
                    $field1name = $row["test_id"];
                    $field2name = $row["path"];
                    $field3name = $row["video1_path"];
                    $field4name = $row["video2_path"];
                    $field5name = $row["video3_path"];
                    $field6name = $row["video4_path"];

                    echo "<tr>
                            <td> ".$field1name." </td>
                            <td> ".$field2name." </td>
                            <td> ".$field3name." </td>
                            <td> ".$field4name." </td>
                            <td> ".$field5name." </td>
                            <td> ".$field6name." </td>
                          </tr>";
                  
                else 
                  echo "There are no results matching your search";
                
              

            ?>
          </table>
        </div>

复选框已创建,但单击提交按钮时未显示任何数据。有什么帮助吗?

【问题讨论】:

【参考方案1】:

您的复选框值现在是“.$Test_id.”,但不是真实的id,请更正复选框中的值

【讨论】:

不太得到您的回应。能再解释一下吗? 尝试在浏览器中显示复选框的值,你就会明白你的错误是什么 我更改了 value='checkbox_id' 但仍然没有运气。我还想补充一下,我在浏览器中没有收到任何错误 我在sql查询中发现错误,你没有这样的变量:SQL查询中的$checkbox_id 你能解释一下我接下来应该做什么吗?我是 PHP 新手。谢谢

以上是关于使用复选框显示数据库并将选定的数据查询到另一个 php 文件中的主要内容,如果未能解决你的问题,请参考以下文章

如何将选定的单元格发送到另一个视图控制器?

如何从文件标签中的hardisk获取那些选定文件并将其传递到另一个php函数中

将数据从选择标记上的选定值显示到另一个文本字段

始终勾选列表视图中的选定项目

如何以编程方式取消选择 Datatable 中的选定行

将变量从一个表传递到另一个 PHP 页面中的另一个 [重复]