MySQL下拉框查询

时间:2013-08-02 20:34:14

标签: php html mysql sql

所以我的问题有点令人困惑。我不是一个非常强大的程序员 我希望这是有道理的。这个网站是别人的工作,所以我想加入它。

我正在尝试创建一个从数据库中提取结果的下拉框。如果有什么不对劲,请告诉我。除了一个空白的下拉框,我似乎无法得到任何结果。

(aps2_get_user_role($_SESSION['uid']) == APS_ADMIN) {
                    $return .= '<br/><select>';
                    $selvalue .= 1001;
                    $result5 .= @mysql_query("SELECT * FROM aps2_users WHERE role = '1001'");


                    while($urow = @mysql_fetch_array($result5, MYSQL_ARRAY)){
                        $return .= '<option value="test">test</option>';
                        $usrid .= $urow['uid'];
                        $usrname .= $urow['username'];
                        $return .= '<option value="' . $usrid . '">"' . $usrname . '"</option>';
                    }
                $return .= '</select>';
                $return .= $result5;
                }

3 个答案:

答案 0 :(得分:1)

我想你想要:

(aps2_get_user_role($_SESSION['uid']) == APS_ADMIN) {
    $return = '<br/><select>';
    $result5 = @mysql_query("SELECT * FROM aps2_users WHERE role = '1001'");

    while($urow = @mysql_fetch_array($result5, MYSQL_ARRAY)){
        $return .= '<option value="test">test</option><option value="'.$urow['uid'].'">"'.$urow['username'].'"</option>';
    }
    return ($return.'</select>');
}

但是 - 我不知道你要用第1行实现什么目标!

您将返回result5,这是您的代码中的查询数组,我看不到您想要的。还有赋值与附加到变量。 你也不要在任何地方使用$ selvalue变量。

如果没有结果 - 请确保表格中存在您从数据库中提取的字段。

也值得将包含此结果的代码发布到您的HTML页面中。

答案 1 :(得分:1)

我在上面的代码中注意到了一些你应该纠正的事情

  • $selvalue .= 1001;我还没有看到使用此变量
  • @之前@mysql_query()不是一个好习惯,为什么只是一个 if else查看查询执行是否成功或抛出错误
  • $result5 .=@mysql_query(...)无需连接 执行查询结果
  • @mysql_fetch_array($result5, MYSQL_ARRAY)删除@,看看是否可以 抛出错误
  • $return .= '<option value="test">test</option>';这是真的 在查询的每次迭代中都需要此选项吗?
  • 每个
  • $usrid .= $urow['uid']; $usrname .= $urow['username']; 循环的迭代,新值将与其连接 前一个我相信你不需要那种类型的输出 选择框
  • 最后和主要的事情$return .= $result5;为什么结果 mysql_query附加了没有使用此选项的选项

  

Please, don't use mysql_* functions in new code。它们不再被维护and are officially deprecated。请参阅red box?转而了解prepared statements,并使用PDOMySQLi - this article将帮助您确定哪个。如果您选择PDO here is a good tutorial

答案 2 :(得分:0)

这可能有助于您尝试这样做

<?php

mysql_connect('hostname', 'username', 'password');
mysql_select_db('database-name');

$sql = "SELECT PcID FROM PC";
$result = mysql_query($sql);

echo "<select name='PcID'>";
while ($row = mysql_fetch_array($result)) {
    echo "<option value='" . $row['PcID'] . "'>" . $row['PcID'] . "</option>";
}
echo "</select>";

?>