0
$where = "";
$keywords =preg_split('/[\s]+/', $keywords);
$total_keywords = count($keywords);

foreach($keywords as $key=>$keyword) {
    $where .= "`title` LIKE '%$keyword%'";
    if ($key != ($total_keywords - 1)) {
        $where .= " AND ";
    }
}

    $results = "SELECT `id`, `username`, `title`, LEFT(`description`, 90) as `description`, `file`, `code`, `type`, `size`, `date` FROM `files` WHERE $where ORDER BY id DESC LIMIT $start, $per_page";


  $where .= "`title` LIKE '%$keyword%'"; // this case I am searching only in column `title` I want to search too in column `type` with sign '.' I don't know how to include '.' in search result for `type`

示例搜索 file.exe 并使用此条件 file.exe 获取所有结果。或者 somebode search only .exe get all results with type.exe $where .= " title, typeLIKE '%$keyword%'";//我这样做没有结果 $where .= " titleAND typeLIKE '%$keyword%'" ;//我这样做没有结果 $where .= " titleLIKE '%$keyword%' AND typeLIKE '%$keyword%'";//我这样做没有结果有人知道我怎么能得到我的结果标题类型带有符号“。”???

4

2 回答 2

2
$where .= "`title` LIKE '%$keyword%' OR type LIKE '$type'";

更新代码

$pos = strpos($keyword, '.');
if($pos > 0) {
    $parts = explode('.', $keyword);
    $type = array_pop($parts);
    $file = array_pop($parts);
    $where .= "`title` LIKE '%$file%' AND type LIKE '%$type%'";
}
else {
$where .= "`title` LIKE '%$keyword%' OR type LIKE '%$type%'";
}
于 2013-01-31T07:08:32.960 回答
1
$where .= "`title` LIKE '%$keyword%' OR type LIKE '%$type%'";
于 2013-01-31T07:32:37.513 回答