【发布时间】:2010-12-06 23:52:47
【问题描述】:
我正在尝试创建一个查询,该查询将使用一个关键字搜索四个不同的表,以找到该位置下列出的所有项目。
我有四张桌子 - 国家 - 状态 - 县 - 城市
例如英国 -> 英格兰 -> 西米德兰兹 -> 伯明翰
当用户在西米德兰兹输入时,我不会看到所有项目,包括 birmingham、Walsall、wolverhampton 下的项目
这是我想出来的
$location = $_POST['location'];
$city_sql = " SELECT * FROM city";
$city_result = $db->query( $city_sql );
$new_array=array();
$i=0;
while ($fetch_sql = $db->fetch_object($city_result) ){
if ( strcmp(soundex(strtolower($fetch_sql->name)), soundex(strtolower($location))) == 0 ) {
$new_array[$i]['name'] = $fetch_sql->name;
$new_array[$i]['code'] = $fetch_sql->name;
$i++;
}
}
$k=0;
for ( $j=0; $j < sizeof($new_array); $j++ ){
$i = similar_text(strtolower($new_array[$j]['name']), strtolower($db->escape_value($location)), &$similarity_pst);
if( $i > $k && $i > 7 ){
$k = $i;
$city_db_name = $new_array[$j]['name'];
$city_code = $new_array[$j]['code'];
}
}
如果您有任何想法,请告诉我。
PHP MYSQL 用多个表搜索相同的关键字
【问题讨论】:
标签: php mysql search full-text-search