Realizar busquedas con like
Lo que nos viene es un string como vemos en la primera linea del codigo. Lo que hacemos es descomponerla y separarla por partes para hacer diferentes consultas LIKE que luego pondremos en la consulta final .
$tags1 ="busqueda que se desea";
$trozos = array ();
$trozos = explode(" ", $tags1);
$tags_sql= "";
for($i=0;$i<count($trozos);$i++)
{
$trozos[$i] = str_replace(" ",", ",$trozos[$i]);
if ($i==0)
{
$tags_sql .= "'%".$trozos[$i]."%'";
}else
{
$tags_sql .= " or subfiltro like '%".$trozos[$i]."%'";</blockquote>
}
}
$query = "SELECT * FROM table WHERE tags like " .$tags_sql ." ORDER BY RAND() limit 0,1";
si hacemos un echo de $query, obtendremos lo siguiente:
SELECT * FROM table WHERE tags like 'busqueda' or tags like 'que' or tags like 'se' or tags like 'desea' ORDER BY RAND() limit 0,1
Posts Relacionados:
- Sphinx configuración. Busquedas con y sin acentos y carácteres utf8
- Indexar las búsquedas full-text con Sphinx. Tutorial como usar Sphinx
- Autocomplementador en AJAX
De aqui puedo sacar codigo para sacar los titulos de pagina desde el link? seria algo asi= $trozos3=explode(“__”,trim($_GET[query]));
//echo $trozos3[1];
$trozos=explode(“-”,trim($trozos3[1]));
$title=”;
for($i=0;$i< count($trozos);$i++) {