gpt4 book ai didi

php - 两个表的下拉列表,php mysql

转载 作者:行者123 更新时间:2023-11-29 14:11:47 26 4
gpt4 key购买 nike

假设我有以下两个表:

国家/地区表:

---------------------------------
|ID|country_code|country_name |
|01|CA |Canada |
|02|US |United States |
---------------------------------

用户表:

----------------------------------------------
|id|user_id|country_code|email_address |
|01|oswalsh|CA |blah@hotmail.com |
|02|jlong |US |blah2@hotmail.com |
----------------------------------------------

我正在创建用户注册/编辑帐户表单,并有一个国家/地区下拉菜单。最初,我只是将country_name存储在user_table中,而不是使用country_code,但是我还决定实现一个 map 脚本......这是一个使用country_code的大量JavaScript文件。

因此,我创建了country_table,以便我可以匹配country_code和country_name,以便我可以映射用户交互...但是我不确定如何为下拉列表创建sql语句。

到目前为止我所拥有的:

<?php
include ('../../connect.php');

$account_panel = mysql_query("SELECT * FROM user_table WHERE id=1")
or die(mysql_error());

while($row1 = mysql_fetch_array( $account_panel ))
{
?>
<select name="event_country" id="event_country" required />
<option selected="selected" value="<?php echo $row1['user_country']; ?>"><?php echo $row1['user_country']; ?></option>

<?php
$countries = mysql_query("SELECT * FROM country_table")
or die(mysql_error());

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

<?php
}
mysql_close($connection);
?>

因此,您应该能够从上面看到发生的情况,列表是从country_table 填充的,但我正在尝试从用户表中获取选定的值。这似乎确实有效,但我的问题是国家代码是存储和显示的。假设我正在获取 oswalsh...me 的信息...返回的国家/地区是 CA,我希望它显示加拿大。

最佳答案

如果我没理解错的话,你需要熟悉 SQL Joins

要连接这两个表并获取 country_name 以及 user_table 中的用户数据,您需要如下 SQL 语句:

SELECT ut.*, ct.country_name
FROM user_table ut
INNER JOIN country_table ct
ON ut.country_code = ct.country_code

就您而言,这将导致以下结果:

1   oswalsh CA  blah@hotmail.com    Canada
2 jlong US blah2@hotmail.com United States

此外,您应该考虑使用 mysqli_ 并停止使用 mysql_ 函数。这是discussion关于 SA 上的这个主题。

关于php - 两个表的下拉列表,php mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13391510/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com