Foros del Web » Programando para Internet » PHP »

Busqueda si la palabra existe

Estas en el tema de Busqueda si la palabra existe en el foro de PHP en Foros del Web. Buenas llevo varios dias intentando resolver una historia que me está rompiendo la cabeza. Quisiera que al introducir en un form de búsqueda varias palabras ...
  #1 (permalink)  
Antiguo 01/07/2009, 06:30
 
Fecha de Ingreso: abril-2008
Mensajes: 70
Antigüedad: 16 años
Puntos: 0
Busqueda si la palabra existe

Buenas llevo varios dias intentando resolver una historia que me está rompiendo la cabeza.

Quisiera que al introducir en un form de búsqueda varias palabras por ejemplo casa roja en la búsqueda me encontrara no solo aquellos resultados coincidentes donde salgan ambas palabras, sino tambien aquellos cvasos en los que salga solo casa o solo roja. Pero que para que muestre los resultados, compruebe que esas palabras existan en un campo contenido en una tabla dem i base de datos

Código PHP:
<?php require_once('Connections/prueba.php'); ?>

<?php

$busqueda
=$_POST['titulo'];
$trozos=explode(" ",$busqueda);
   
$numero=count($trozos);
$maxRows_resultados 50;
$pageNum_resultados 0;
if (isset(
$_GET['pageNum_resultados'])) {
  
$pageNum_resultados $_GET['pageNum_resultados'];
}
$startRow_resultados $pageNum_resultados $maxRows_resultados;

$colname_resultados "-1";
if (isset(
$_POST['titulo'])) {
  
$colname_resultados = (get_magic_quotes_gpc()) ? $_POST['titulo'] : addslashes($_POST['titulo']);
}
mysql_select_db($database_prueba$prueba);
$query_resultados sprintf("SELECT feedInfo.feedID,nome,logo,feedItems.feedID,ItemTitle,LEFT(ItemDescription, 350) AS descricion,DAYOFMONTH(ItemAddedTime),MONTH(ItemAddedTime),YEAR(ItemAddedTime),ItemLink FROM feedItems,feedInfo WHERE (MATCH (ItemTitle,ItemDescription) AGAINST ('%$busqueda%')) AND feedInfo.feedID = feedItems.feedID ORDER BY ItemAddedTime DESC"$colname_resultados);
$query_limit_resultados sprintf("%$busqueda% LIMIT %d, %d"$query_resultados$startRow_resultados$maxRows_resultados);
$resultados mysql_query($query_limit_resultados$prueba) or die(mysql_error());
$row_resultados mysql_fetch_assoc($resultados);

Las palabras clave estarían en la tabla alertas en el campo texto_alerta
Por lo tanto se haria la busqueda, se comprobaría en la tabla alertas si la palabra existe y si existe se lanzaría la búsqueda en la tabla feeditems que es donde están las noticias donde se buscaría en los campos ItemTitle, ItemDescription. mostrando todos los resultados coincidentes.

En el código tengo puesto un explode para que me haga la búsqueda de varios caracteres aunque no se si lo tengo bien montado lo que no tengo ni idea es como hacer de que me busque si existe la palabra
  #2 (permalink)  
Antiguo 01/07/2009, 07:36
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: Busqueda si la palabra existe

Verifica sobre MATCH AGAINST de MySQL
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:04.