【问题标题】:How to create a drop down lookup field in PHP?如何在 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>

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

【问题讨论】:

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

标签: php html mysql mysqli mysql-workbench


【解决方案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");
?>

【讨论】:

  • 谢谢!请问您为什么添加了一个名为“借用”的附加表?这应该是我的“签到”表的一种形式吗?
  • 可以。我刚刚在这里提供了帮助 stackoverflow.com/questions/50280355/… 并将相同的脚本发送给您。从我的脚本中获取您需要的内容。在我的脚本中为你解答。
猜你喜欢
  • 1970-01-01
  • 2018-02-05
  • 2015-11-01
  • 2016-02-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多