抱歉标题令人困惑,我是新手,不知道该怎么称呼我的问题。我正在构建(嗯..正在尝试)创建一个商业列表网站,我发现了这个搜索脚本,它从表中获取结果。所以,我粘贴了这个,试过了,它可以工作,但一次只能搜索一个字段,我不能同时搜索两个字段。仅重新调整字段中的数据:“company_name”。但是,我需要使其灵活并将其附加到从字段名称“类别”进行搜索,因此,简而言之,我需要 PHP 来搜索两行,即“公司名称”和“类别”字段。
这是脚本,我不知道如何为其添加附加语法。
$keywords = preg_split('/[\s]+/',$keywords);
$total_keywords = count($keywords);
foreach($keywords as $key=>$keyword) {
$where .= "`company_name` LIKE '%$keyword%' ";
if($key != ($total_keywords - 1)) {
$where .= " AND ";
}
问题出在这里:$where .= "
company_nameLIKE '%$keyword%' ";
如果您需要在这里查看整个脚本。
function search_clients($keywords){
$returned_results = array();
$where = "";
$keywords = preg_split('/[\s]+/',$keywords);
$total_keywords = count($keywords);
foreach($keywords as $key=>$keyword) {
$where .= "`company_name` LIKE '%$keyword%' ";
if($key != ($total_keywords - 1)) {
$where .= " AND ";
}
}
$results = "SELECT `company_name`, LEFT(`company_details`,150)
as `company_details`, `category` FROM `clients`
WHERE $where";
$results_num = ($results = mysql_query($results)) ? mysql_num_rows($results) : 0 ;
if($results_num === 0) {
return false;
} else {
while($results_row = mysql_fetch_assoc($results)) {
$returned_results[] = array(
'company_name' => $results_row['company_name'],
'company_details' => $results_row['company_details'],
);
}
return $returned_results;
}
}