php - 国家/地区的动态 PHP 下拉菜单

标签 php mysql html database drop-down-menu

好的,我有一个名为 Countries 的表,它看起来像这样:

---------------------------
|Country      |    Code   |
---------------------------
|Afganastan   |     AF    |
|ÅLAND ISLANDS|     AX    |
|  etc.       |     etc.  |
---------------------------

我想做的是创建一个动态菜单,用户可以在其中选择一个国家,菜单本身会存储为一个值,我可以在用户点击提交后调用该值。

我确实在这里尝试了一些东西,但我不确定它在做什么,因为我对 PHP 和 HTML 仍然是新手,我只是输入一些东西看看会发生什么。

无论如何,我真的被卡住了,我尝试使用谷歌和这个网站的搜索功能,但我发现没有任何东西对我有用......

我试过的代码是这样的:

<select>
    <?php
        $result = mysql_query('SELECT Country FROM Countries');

        echo '<select name="country">';

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

        echo '</select>';
    ?>

   </select>

结果应该看起来像一个下拉菜单,其中包含数据库中的国家/地区列表。但这不起作用,只是在下拉列表中显示:

.$row['name']

这与我想要的完全不同,因为那甚至不是一个国家。当我删除那部分代码时,就没有可供用户选择的选项,菜单是空的。

编辑 到目前为止我的代码仍然不起作用:

<select name = 'country'>
    <?php

    include ("account.php");
    include ("connect.php");

        $result = mysql_query('SELECT Code , Country FROM Countries');
        while ($row = mysql_fetch_array($result))
            {?>

            <option value="<?php echo $row['Code']?>"><?php echo $row['Country']?></option>

            <?php}

    ?>

   </select>

include ("account.php");include ("connect.php"); 行允许我连接到我的数据库。

最佳答案

你的代码应该是这样的

$host = "localhost";
$user = "root";
$pass = "yourpassword";
$db   = "databasename";

// This part sets up the connection to the 
// database (so you don't need to reopen the connection
// again on the same page).
$ms = @mysql_connect($host, $user, $pass);
if ( !$ms )
{
echo "Error connecting to database.\n";
}

// Then you need to make sure the database you want
// is selected.
@mysql_select_db($db);


<form method = "POST" action = "abc.php">
<select name = 'country'>
<?php
$result = mysql_query('SELECT id , name FROM Countries');
while ($row = mysql_fetch_array($result))
    {?>
       <option value="<?php echo $row['id']?>"><?php echo $row['name']?></option>
    <?php}
?>
<input type = "submit" value = "Submit">
</form>

现在在 php 中使用这个

echo '<pre>';
print_r($_POST);

你会看到用户选择了什么。检查您的设置,可能存在一些问题。

关于php - 国家/地区的动态 PHP 下拉菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10327873/

相关文章:

mysql - 查询 MySQL 表中时间戳相差 X 周的记录

MySQL 错误#1111

javascript - 如何将 css 文件添加到 Node js(不是 express)代码

php - 添加 WHERE YEAR 中断计算

javascript - Highstock 与 php 和 mysql

MySQL严格字符串比较语义上正确的方法?

html - 按下按钮后切换 CSS 中的关键帧?

javascript - 为什么数据不会从一个组件传递到下一个组件?

php - php如何上传特定文件夹中的图片?

php - PHP 中的::类是什么?