使用php代码从where子句的下拉列表中选择值

时间:2012-07-18 10:16:49

标签: php

我的代码是这样的:

$zone = $_POST['zone'];
$state = $_POST['state'];

$sql = "Select zone_id from tbl_zone where zone_name = $zone";
$query = mysql_query($sql);

我正在选择从数据库中提取并在下拉列表中列出的区域名称。 现在我想得到区域名称的id以存储在其他表中。

在where子句中,zone_name为空。 上面的代码应该做些什么改变?

提前致谢..

2 个答案:

答案 0 :(得分:1)

试试这个..

$sql = "Select zone_id from tbl_zone where zone_name = '$zone'";

答案 1 :(得分:1)

我建议你设计一个合适的数据库。像你的问题有点令人困惑。让我告诉你这个过程。首先设计2个表,每个表有2列。让我们假设表1为状态,表2为城市。 state表包含2列,即zone_id和zone_state。 city表包含2列,即zone_id和zone_city。使用zone_id作为主键使用auto_increment字段创建状态表,并为每个id提供唯一的状态,如zone_id 1作为AP,zone_id 2作为Tamilnadu,zone_id 3作为Karnataka,zone_id 4作为喀拉拉邦,zone_id 5作为Maharashtra等...现在用于city table添加zone_id,重复值如zone_id 1为Hyderabad,zone_id 1为Vijayawada,zone_id 1为Vizag,etc..zone_id 2为Chennai,zone_id 2为Coimbatore等...我希望你得到我的观点...如果你这样设计然后检索结果对你来说很容易。

请参阅此代码:

CREATE TABLE IF NOT EXISTS `state` (
  `zone_id` int(2) NOT NULL AUTO_INCREMENT,
  `zone_state` varchar(25) NOT NULL DEFAULT '',
  PRIMARY KEY (`zone_id`)
) ENGINE=MyISAM;

CREATE TABLE IF NOT EXISTS `city` (
  `zone_id` int(2) NOT NULL DEFAULT '0',
  `zone_city` varchar(25) NOT NULL DEFAULT ''
) ENGINE=MyISAM;