2012-07-18 33 views
0

我的代码是这样的子句中列表:获得价值下拉地方使用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为空。 上面的代码应该做什么改变?

在此先感谢..

+0

什么是$区?它是空的吗? – 2012-07-18 10:22:22

+0

http://xkcd.com/327/ – Kris 2012-07-18 10:41:16

回答

1

试试这个..

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

我建议你设计一个适当的数据库。就像你的问题有点混淆。让我告诉你这个过程。首先设计2个表,每个表2列。让我们假设表1作为州和表2作为城市。状态表包含2列即zone_id和zone_state。城市表格包含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作为马哈拉施特拉邦等等。 city table添加zone_id,其中zone_id 1为海得拉巴,zone_id 1为维杰亚瓦达,zone_id 1为Vizag,etc..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;