ex:
Se eu buscar por "Site busca" ele ordenar os textos que possuem o maior número de palavras com "site" e "busca" no texto.
Estou fazendo assim atualmente:
//Cria variáveis para cada palavra $palavras = explode(" ", $palavra); foreach($palavras as $valor){ // Busca por cada palavra em cada campo $where .= " nome LIKE '%$valor%' OR "; $where .= " descricao LIKE '%$valor%' OR"; // Ordena os Registros por cada palavra $ordem .= " nome LIKE '$valor%' DESC,"; $ordem .= " descricao LIKE '$valor%' DESC,"; } $buscar = mysql_query("SELECT * FROM busca_urls WHERE $where ORDER BY $ordem LIMIT $inicio, $resultado");
Ficaria assim:
O WHERE
nome LIKE '%site%' OR descricao LIKE '%site%'OR nome LIKE '%busca%' OR descricao LIKE '%busca%'
O ORDER
nome LIKE 'site%' DESC, descricao LIKE 'site%' DESC, nome LIKE 'busca%' DESC, descricao LIKE 'busca%' DESC
Edição feita por: CSFInfo, 12/09/2005, 23:02.