繁体   English   中英

从 mysql db 创建了一个 Select 下拉选项,但我还想从同一表单下拉列表 PHP 添加一个 select 所有选项

[英]Created a Select dropdown option from mysql db but I also want to add a select all option from the same form dropdown PHP

我有一个简单的表格,它使用一个下拉列表到 select 一个团队成员 position 来自 phpmyadmin db 并在 index.php 文件中使用 php。

这会完美地返回行并且效果很好,但是,我也想以相同的形式选择 select 来自该表的所有记录,无论如何

这是 html 表格

<form id="main_select" action="view_members.php" method="POST">
    <select name='main_select' required>
        <option value="" disabled selected>Select staff position</option>
        <option value="all">View All Members</option>
        <option value="Professor">Professor</option>
        <option value="Senior Lecturer">Senior Lecturer</option>
        <option value="Reader">Reader</option>
        <option value="Lecturer">Lecturer</option>
    </select>
    <input type="submit" value="View Selected Staff Members">
</form>

and here is the view_members.php that works perfectly when say a professor option is chosen

 <?php
if (isset($_POST['main_select'])) {
  $position = $_POST['main_select'];
  $statement = "SELECT * FROM staff_members WHERE position = '$position'";
  $result = mysqli_query($conn, $statement);
}

?>

<?php
echo '<table align="center" border="0" cellspacing="35" cellpadding="2" width="100%">';
echo "<thead><tr><th>ID</th><th>Name</th><th>Email</th><th>Position</th><th>Update</th> 
<th>Action</th></tr></thead>";
while ($row = mysqli_fetch_assoc($result)) {
  echo "<tr>";
  echo "<td>{$row['id']}</td>";
  echo "<td>{$row['name']}</td>";
  echo "<td>{$row['email']}</td>";
  echo "<td>{$row['position']}</td>";
  echo "<td><a href='edit_member.php?id={$row['id']}'>Edit</a></td>";
  echo "<td><a href='delete_member.php?id={$row['id']}'>Delete</a></td>";
  echo "</tr>";
}
echo "</table>";
echo '<p><a href="index.php">Back</a></p>';
?>

然后我尝试添加一个 else 语句来查找表单中的“所有”和简单的 select 所有记录,但是如果我再次选择教授,它还没有返回任何东西,它工作正常吗? 有什么办法可以做到这一点?

这是我尝试过的 if else 代码

  <?php
if (isset($_POST['main_select'])) {
  $position = $_POST['main_select'];
  $statement = "SELECT * FROM staff_members WHERE position = '$position'";
  $result = mysqli_query($conn, $statement);
} else {
if (isset($_POST['main_select' == 'all'])) {
  $statement = "SELECT * FROM staff_members";
  $result = mysqli_query($conn, $statement);
}

}

任何帮助将不胜感激。

谢谢

大卫。

所以感谢你们的输入,这是我假设这仍然对 SQL 注入开放的内容?

 <?php
if (isset($_POST['main_select'])) {
    $position = $_POST['main_select'];
    if ($position == "all") {
        $statement = "SELECT * FROM staff_members";
    } else {
        $statement = "SELECT * FROM staff_members WHERE position = '$position'";
    }
    $result = mysqli_query($conn, $statement);
}

echo '<table align="center" border="0" cellspacing="35" cellpadding="2" width="100%">';
echo "<thead><tr><th>ID</th><th>Name</th><th>Email</th><th>Position</th><th>Update</th><th>Action</th></tr></thead>";
while ($row = mysqli_fetch_assoc($result)) {
  echo "<tr>";
  echo "<td>{$row['id']}</td>";
  echo "<td>{$row['name']}</td>";
  echo "<td>{$row['email']}</td>";
  echo "<td>{$row['position']}</td>";
  echo "<td><a href='edit_member.php?id={$row['id']}'>Edit</a></td>";
  echo "<td><a href='delete_member.php?id={$row['id']}'>Delete</a></td>";
  echo "</tr>";
}
echo "</table>";
echo '<p><a href="index.php">Back</a></p>';
?>

However, it works and pulls in all records when "all" is selected

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM