【问题标题】:PHP Drop Down Data from DatabasePHP 从数据库中下拉数据
【发布时间】:2012-08-13 06:06:50
【问题描述】:

我正在尝试根据我的数据库为数据创建select field。所以,基本上,我希望它为我的数据库中的所有用户提供一个下拉菜单。所以喜欢而不是这样做:

<select>
  <option>1st User in Db</option>
  <option>2nd User in Db</option>
</select>

它只是自动显示所有。

我尝试获取 $row['uname'],并将其设置为 $user,但随后它仅在下拉列表中显示 MY 用户。

示例:http://prntscr.com/dwksy

它只显示我的帐户 admin,而不是所有其他帐户。有人知道怎么做吗?谢谢!

【问题讨论】:

  • 我们能看到您用来查询数据库的 SQL 吗?而生成列表的 PHP 呢?
  • 听起来您需要一个不同的查询来获取正确的信息。

标签: php select drop-down-menu


【解决方案1】:
<?php

session_start();
include 'config.php';
$user = $_SESSION['username'];
$qry=("SELECT `rank`, `uname` FROM users WHERE uname='$user'");
$result=mysql_query($qry);
$row = mysql_fetch_assoc($result);
$rank = $row["rank"]

if ($_SESSION['loggedin'] == true) {
    if ($rank >= 3) {
        $qry=("SELECT `rank`, `uname` FROM users");
        $result=mysql_query($qry);

        echo "
        <form action='' method='POST'>
        <select>";

        while ($row = mysql_fetch_assoc($result)) {
            $rank = $row['rank'];
            $users = $row['uname'];
            $lol = ucwords($users);

            echo "<option>$lol</option>";
        }

        echo "</select>
        </form>
        ";
      } else {
          echo "Your level is not 3, but you are logged in.";
      }
  } else {
     echo "Please login.";
  }

【讨论】:

  • 好的,现在它和我的 if 语句纠缠在一起了
  • 您想将它们添加到问题中吗?
  • 已添加!! :) 这必须至少 15 个字符,所以 iosfjeorjferf
  • 我认为应该这样做。但是,您应该注意一些事项,例如确保您的查询正在返回数据;您可能还想考虑将其转换为使用 PDO。
  • 这是不起作用的代码,只显示我的用户。我希望它显示数据库中的每个用户。你能修复我的代码吗?当我添加等待循环时,它只是给了我意想不到的 T_ELSE,因为它与我的其他代码纠缠在一起。
【解决方案2】:

您的查询仅获取$_SESSION 中记录的用户。删除 WHERE 子句以获取结果中的所有用户,然后使用 @andrewsi 的循环读取它们并为每个返回的用户输出一个 &lt;option&gt;

$qry=("SELECT `rank`, `uname` FROM users");

【讨论】:

    猜你喜欢
    • 2016-07-21
    • 2020-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多