Skip to content

Instantly share code, notes, and snippets.

@wpot
Created November 30, 2012 05:11
Show Gist options
  • Save wpot/4173865 to your computer and use it in GitHub Desktop.
Save wpot/4173865 to your computer and use it in GitHub Desktop.
buscador avanzado (ALGO NO TAN TENTENDIBLE PERO CORREGIBLE POR MI)
<?php
$coneccion=mysql_connect('localhost','root','');
$base_datos=mysql_select_db('pruebas alpha');
if(!$coneccion){
echo('error coneccion');
}
else if(!$base_datos){
echo('error base de datos');
}
else{
echo('todo bien<br>');
}
function palabras($palab){
$existe='SELECT pala_pala FROM palabras WHERE pala_pala = "'.$palab.'"';
echo($palab.'<br>');
$consulta=mysql_query($existe)or die('error');
$datos_resibidos=mysql_num_rows($consulta);
if($datos_resibidos==1){
//aki agregamos solamente la relevancia
$relevancia='SELECT pala_relevancia FROM palabras WHERE pala_pala = "'.$palab.'"';
$consulta=mysql_query($relevancia)or die('error en consulta');
$datos_resibidos=mysql_fetch_assoc($consulta);
$suma=$datos_resibidos['pala_relevancia']+1;
$inserta_relevancia='UPDATE palabras SET pala_relevancia = '.$suma.' WHERE pala_pala = "'.$palab.'"';
$consulta=mysql_query($inserta_relevancia)or die('error en insertar relevancia');
}
else{
//aki agregamos la palabra ala tabla
$insertar_palabras=mysql_query('INSERT INTO palabras (pala_pala) VALUES ("'.$palab.'")')or die('error en insertar palabra');
}
};
$busqueda=$_POST['busqueda'];
$busqueda_2=preg_replace('/\s\s+/', ' ', $busqueda);
$busqueda_2=trim($busqueda_2);
$partes=explode(' ',$busqueda_2);
$datos_contados=count($partes);
$query='SELECT * FROM busqueda WHERE cuerpo LIKE "%'.$partes[0].'%" '.' AND titulo LIKE "%'.$partes[0].'%"';
$query=explode(' ',$query);
$e=0;
while($e<$datos_contados){
palabras($partes[$e]);
$e+=1;
}
$i=1;
while($i<$datos_contados){
array_push($query,' OR cuerpo LIKE "%'.$partes[$i].'%" '.' AND titulo LIKE "%'.$partes[$i].'%" ');
$i+=1;
}
$query=implode(' ',$query);
$consulta =mysql_query($query)or die('error');
echo('consulta realizada con las siguientes palabras: '.$busqueda.'<br><br><br><br>');
echo('<a href="busqueda_inicial.php">regresar</a><br>');
while($fila=mysql_fetch_array($consulta)){
echo ($fila['titulo'].'<br>');
echo ($fila['cuerpo'].'<br><br><br><br><br><br><br><br><br><br><br>');
}
?>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment