Ver Mensaje Individual
  #11 (permalink)  
Antiguo 16/07/2007, 15:26
axz
 
Fecha de Ingreso: mayo-2005
Mensajes: 360
Antigüedad: 19 años, 8 meses
Puntos: 10
Re: problema con buscador simple..... MATCH() AGAINST()

hola rogertm ... te seguí desde el foro de (X)HTML ... si vemos tu caso x partes podemos encontrarle nomás no te me desesperes ... primero creo que hay que saber qué tipo de valores esperas pasar por el campo TEXT ... puedes hacer validaciones javascript para evitar el uso de addslashes(), claro si es que no requieres valores como comilla sencilla, doble o barra invertida(', ", \) ... como sea, creo que esto:
Código PHP:
$colname_busqueda_resultado "-1";
if (isset(
$_GET['key_word'])) {
  
$colname_busqueda_resultado = (get_magic_quotes_gpc()) ? $_GET['key_word'] : addslashes($_GET['key_word']);
}
mysql_select_db($database_regent_cnx$regent_cnx);
$query_busqueda_resultado sprintf("SELECT * FROM documentos WHERE MATCH(asunto, referencia, indicacion) AGAINST ('$key_word')"GetSQLValueString($colname_busqueda_resultado"text"));
$busqueda_resultado mysql_query($query_busqueda_resultado$regent_cnx) or die(mysql_error());
$row_busqueda_resultado mysql_fetch_assoc($busqueda_resultado);
$totalRows_busqueda_resultado mysql_num_rows($busqueda_resultado); 
podría quedar así:
Código PHP:
$colname_busqueda_resultado "-1";
if( isset( 
$_GET'key_word' ] ) )
{
  
$colname_busqueda_resultado addslashes$_GET'key_word' ] );
}

mysql_select_db$database_regent_cnx$regent_cnx );
$query_busqueda_resultado 'SELECT *
FROM documentos
WHERE asunto LIKE "%' 
$colname_busqueda_resultado '%"
OR referencia LIKE "%' 
$colname_busqueda_resultado '%"
or indicacion LIKE "%' 
$colname_busqueda_resultado '%"';

#echo $query_busqueda_resultado

$busqueda_resultado mysql_query$query_busqueda_resultado$regent_cnx ) or die( mysql_error() );
$row_busqueda_resultado mysql_fetch_assoc$busqueda_resultado );
$totalRows_busqueda_resultado mysql_num_rows$busqueda_resultado ); 
Sería bueno que probaras descomentando la línea:
#echo $query_busqueda_resultado
para ver qué consulta te genera y probarla directamente en la consola de mysql o en algún GUI que tengas para probar tus consultas con mysql .... y checar si te está aventando los resultados que esperas

Saludos cordiales