如何在 PHP 中创建下拉查找字段?

Posted

技术标签:

【中文标题】如何在 PHP 中创建下拉查找字段?【英文标题】:How to create a drop down lookup field in PHP? 【发布时间】:2018-10-05 08:02:01 【问题描述】:

这里是 php 新手,

我在 mysql Workbench 中有一个图书馆数据库,其中包含以下表:Student、Book 和 Checkin。我正在尝试使用 html 和 PHP 在网页上显示它,到目前为止它一直很好,直到尝试在签到表中将 s_id 显示为“s_name”,这是学生姓名,b_id 到 b_name 也是如此。我已经在 Workbench 中创建了外键连接,但无法弄清楚如何创建一个下拉选项来显示我已经在各自的表中创建的学生姓名和书名(而不是 s_id 和 b_id)。

在 MS Access 中查找字段非常简单,但事实证明,作为初学者,创建 PHP 版本很困难......这是现在的样子。

        <?php
                include('conn.php');
                $query=mysqli_query($conn,"select * from `checkin`");
                while($row=mysqli_fetch_array($query))
                    ?>

                    <tr>
                        <td><?php echo $row['c_id']; ?></td>
                        <td><?php echo $row['s_id']; ?></td>
                        <td><?php echo $row['b_id']; ?></td>
                        <td><?php echo $row['c_date']; ?></td>
                        <td><?php echo $row['c_in']; ?></td>
                        <td>
                            <a href="edit_checkin.php?id=<?php echo $row['c_id']; ?>">Edit</a>
                            <a href="delete_checkin.php?id=<?php echo $row['c_id']; ?>">Delete</a>
                        </td>
                    </tr>
                    <?php
                
            ?>
        </tbody>
    </table>
</div>

非常感谢任何帮助或提示!

【问题讨论】:

您应该发布您的应用程序代码,以及您针对特定问题所做的任何尝试。 没问题,我已经更新了我的帖子 我在您的代码中看不到任何下拉菜单 那是因为我不知道如何结合我所拥有的和查找字段来编写它 【参考方案1】:

在这里,现在有准备好的查询:

lib4.php

<form action='add_borrowing1.php' method='post'>
          <br>
          <select name="student">
        <?php
          $link = mysqli_connect("localhost", "root", "", "library");
          $sql = "SELECT DISTINCT studentId, studentName
          FROM students";
          $result = mysqli_query($link, $sql);
          print "<option value='students' selected>Students</option>";
          While ($row = mysqli_fetch_assoc($result))
            
            print "<option value=" . $row["studentId"] . ">"
          . $row["studentName"] . "</option>";
            
        ?>
          </select>
                    <p>Book:</p>
          <br>
          <select name="book">
        <?php
          $link = mysqli_connect("localhost", "root", "", "library");
          $sql = "SELECT DISTINCT bookId, bookName
          FROM books";
          $result = mysqli_query($link, $sql);
          print "<option value='books' selected>Books</option>";
          While ($row = mysqli_fetch_assoc($result))
            
            print "<option value=" . $row["bookId"] . ">"
          . $row["bookName"] . "</option>";
            
        ?>
          </select>
          <input type="submit" />
          </form>

          <?php
          if (!isset($_GET["raw"])) 
            echo "";
          
          else 
            echo "Borrowing has been successfully added!";
          

?>

add_borrowing.php
======================
<?php
$book = $_POST["book"];
$student = $_POST["student"];
$link = mysqli_connect("localhost", "root", "", "library");
        $sql = "INSERT INTO borrowing (bookId, studentId) VALUES (?,?)";


$stmt = mysqli_prepare($link, $sql);

            /*
            Explanation:
            i Integers
            d Doubles
            b Blobs
            s Everything Else 
            */
            mysqli_stmt_bind_param($stmt, "ii", $book,
                                   $student);
            mysqli_stmt_execute($stmt);
                mysqli_stmt_close($stmt);
                mysqli_close($link);

header("Location:lib4.php?raw=1");
?>

【讨论】:

谢谢!请问您为什么添加了一个名为“借用”的附加表?这应该是我的“签到”表的一种形式吗? 可以。我刚刚在这里提供了帮助 ***.com/questions/50280355/… 并将相同的脚本发送给您。从我的脚本中获取您需要的内容。在我的脚本中为你解答。

以上是关于如何在 PHP 中创建下拉查找字段?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 HTML/Javascript 中创建可编辑的组合框?

如何在sql中创建嵌套表

如何在节点 js 中创建类似 php 的函数

如何在HTML / Javascript中创建可编辑的组合框?

如何在 Laravel/PHP 中创建多维数组

如何在古腾堡块中创建多个元字段