0

我的代码是这样的:

$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 为空白。上面的代码应该做哪些改变?

提前致谢..

4

2 回答 2

1

我建议你设计一个合适的数据库。就像你的问题有点令人困惑。让我告诉你这个过程。首先设计 2 个表,每个表有 2 列。让我们假设表 1 为州,表 2 为城市。状态表包含 2 列,即 zone_id 和 zone_state。city 表包含 2 列,即 zone_id 和 zone_city。以 zone_id 作为主键并使用 auto_increment 字段制作状态表,并为每个 id 提供唯一状态,例如 zone_id 1 作为 AP,zone_id 2 作为泰米尔纳德邦,zone_id 3 作为卡纳塔克邦,zone_id 4 作为喀拉拉邦,zone_id 5 作为马哈拉施特拉邦等......现在城市表添加带有重复值的 zone_id,例如 zone_id 1 作为 Hyderabad,zone_id 1 作为 Vijayawada,zone_id 1 作为 Vizag 等。zone_id 2 作为钦奈,zone_id 2 作为哥印拜陀等......我希望你明白我的意思......如果你这样设计,然后检索结果对你来说很容易。

看到这段代码:

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;
于 2012-07-18T10:54:01.537 回答
1

试试这个。。

$sql = "Select zone_id from tbl_zone where zone_name = '$zone'";
于 2012-07-18T10:35:23.917 回答