【发布时间】:2013-03-13 03:47:22
【问题描述】:
我想在 mysql php 中为自动完成编写一个查询。我有两个表
CREATE TABLE IF NOT EXISTS `city` (
`id` int(22) NOT NULL AUTO_INCREMENT,
`city_name` varchar(44) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=64 ;
table2 是
CREATE TABLE IF NOT EXISTS `area` (
`id` int(22) NOT NULL AUTO_INCREMENT,
`city_id` int(44) NOT NULL,
`area_name` varchar(33) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=2561 ;
当用户输入任何单词时,它将在区域表(area_name)和城市表(city_name)中搜索...我想在一个字段中返回结果。例如,如果您输入“RAK”,它将在area table.if 找到它将返回 city_id 和 area_name 否则它将在 city.i 中搜索。我需要获取 cityid , areaid 和匹配的文本。这是怎么回事?
【问题讨论】:
-
所以根据命中是在“区域”还是“城市”返回不同的列数?
-
我想在一列中显示 area_name 和 city_name...如果 area_name 不匹配,则应在 city_name 中搜索并返回在同一列中匹配的..
-
area.city_id 和 city.id 有关系吗?
-
是的,这是主键和外键......它们是链接的......
-
我想像这样返回..[{"id":"12","value":"Arabian Ranches"........}]....现在值可能是 area_name(如果成功)或 city_name
标签: mysql join autocomplete