好的,我有一个名为 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/