【问题标题】:How do I pull information from a database depending on a drop-down menu result如何根据下拉菜单结果从数据库中提取信息
【发布时间】:2012-12-04 22:03:09
【问题描述】:

我只是使用 SQL 查询从数据库中提取了不同的健身房,现在必须根据下拉结果将它们拉入。这是我到目前为止所拥有的。任何帮助将不胜感激。

<?php 

require_once('connect.php'); //connecting to my database

mysql_select_db("gyms", $connect);

$result = mysql_query("SELECT * FROM gym WHERE id='1'"); //each gym has an "id" field of 1-5

while($row = mysql_fetch_array($result))
{
echo $row['name']; //all different attributes in the gym database
echo $row['type'];
echo $row['price'];
echo $row['hours'];
echo $row['parking'];
echo $row['facilities'];
}

?>

【问题讨论】:

    标签: php sql database drop-down-menu


    【解决方案1】:

    下拉字段必须是表单的一部分。

    if (!isset($_POST['gyms'])) {
    echo '<form action="same.php" method="post">
        <select name="gyms">
            <option value="1">Gym 1</option>
            <option value="2">Gym 2</option>
        </select>
    </form>';
    } else {
    
        $id = $_POST['gyms'];
        // DO NOT forget to sanitize the value of $id before plugging it in
        // NEVER trust user input. Always assume it's a hacker.
        $result = mysql_query("SELECT * FROM gym WHERE id=$id");
        $row = mysql_fetch_array($result)
        // $row should contain the results from the database for the given gym
        var_dump($row);
    }
    

    顺便说一句,我强烈建议使用 PDO 而不是 mysql_*() 函数。以下是一些相关链接:

    【讨论】:

    • 由于某种原因没有返回任何输出。我说“$id = $_POST['gyms'];”有一个未定义的索引?
    • 确保您在提交表单之前没有尝试访问索引。从
    • 我用更完整的代码示例更新了我的问题。如果您希望即使在选择了健身房后也始终显示下拉菜单,您可以将 if() 部分向下移动到 else 所在的位置(删除 else)并删除对 isset() 调用的否定。另外,请注意最后关于 PDO 的评论。
    猜你喜欢
    • 1970-01-01
    • 2013-01-25
    • 2020-04-11
    • 2020-06-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-02
    相关资源
    最近更新 更多