首页 > 解决方案 > 如何在 PHP 中创建下拉查找字段?

问题描述

这里是 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>

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

标签: phphtmlmysqlmysqlimysql-workbench

解决方案


现在有了准备好的查询:

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");
?>

推荐阅读