Ver Mensaje Individual
  #33 (permalink)  
Antiguo 09/01/2012, 17:54
Avatar de waldragon
waldragon
 
Fecha de Ingreso: mayo-2010
Mensajes: 735
Antigüedad: 14 años, 7 meses
Puntos: 55
Respuesta: [Aporte] Como hacer un buscador sencillo usando PHP y MySQL

Muy bueno el buscador, vi que algunos querian resaltar las palabras buscadas cuando aparecen en los resultados, le agregue algunos for para hacerlo:

esto va en la linea 32 entre el inicio del while y el echo que muestra el titulo:

Código PHP:
Ver original
  1. while($row = mysql_fetch_array($sqlBuscar)){
  2. //-------------
  3. //iluminando coincidencias en el titulo
  4. $titulo=$row[noticiaTitulo];
  5. //--
  6. $texto=" ".$titulo." ";
  7. $partir=explode(" ",$texto);
  8. for($i=0; $i < count($partir); $i++){
  9. //---------SEGUNDO FOR PARA COMPARAR LAS PALABRAS
  10. $buscadas=" ".$frase." ";
  11. $busc=explode(" ",$buscadas);
  12. $aaa=0;
  13. for($e=0; $e < count($busc); $e++){
  14. if($partir[$i]==$busc[$e]){$aaa=$aaa+1;}else{echo"";}
  15. if($aaa>=1){$partir[$i]="<font color=#ff0000>".$partir[$i]."</font>";}else{echo"";}
  16. }//fin segundo for
  17. $texto1.=" ".$partir[$i];
  18. //---------
  19. }//fin primer for
  20.  echo "<strong><a href='#'>$texto1</a>:</strong> <em>Coincidencias: ". round($row['coincidencias']) ."</em><br />";
  21. $texto1="";//limpiamos la variable para el proximo resultado

esto es para mostrar en rojo, las palabras del titulo que coincidan con las ingresadas en la busqueda, tienen que agregar otro igual para hacer lo mismo con los resultados de noticias, pero cambiando esta parte $titulo=$row[noticiaTitulo];
por $titulo=$row[noticiaNoticia];
eso es todo, saludos.