Мне просто интересно, есть ли лучший способ сделать этот запрос?
$searchTerm = explode(' ', $search);
$wall_sql = "SELECT filename, category, name, downloads FROM wallpapers WHERE (pending='0' AND mediaType='0') AND ( ";
for($i=0;$i<count($searchTerm);$i++){
if($i != 0){
$wall_sql .= " OR ";
}
$wall_sql .= " (category LIKE '%".$searchTerm[$i]."%') OR (filename LIKE '%".$searchTerm[$i]."%') OR (tags LIKE '%".$searchTerm[$i]."%') OR (name LIKE '%".$searchTerm[$i]."%') ";
}
$wall_sql .= " ) ORDER BY ordernum DESC ";
Что делает этот скрипт, он берет в поисковом выражении $ search и разбивает его на массив с помощью функции разнесения в PHP. Затем я зацикливаюсь на этом массиве, чтобы создать запрос. Это единственный способ сделать это, я просто не уверен, что это лучший способ. Также будут ли какие-либо индексы работать с этим запросом, если да, то какими они будут?