Foros del Web » Programando para Internet » PHP »

Nombres y busquedas en BD

Estas en el tema de Nombres y busquedas en BD en el foro de PHP en Foros del Web. Buenas foro, como va ? Estoy armando un sitio en donde guardo en una tabla datos de usuarios (nombre y apellido) y luego quiero realizar ...
  #1 (permalink)  
Antiguo 08/11/2007, 10:59
Avatar de andruqui  
Fecha de Ingreso: agosto-2007
Mensajes: 269
Antigüedad: 16 años, 8 meses
Puntos: 2
Pregunta Nombres y busquedas en BD

Buenas foro, como va ?
Estoy armando un sitio en donde guardo en una tabla datos de usuarios (nombre y apellido) y luego quiero realizar busquedas.

Necesito que me den una mano para tomar la mejor opcion.

Los campos en la tabla son de tipo VARCHAR, y sobre los mismos tengo indices FULL TEXT para usar la busqueda MATCH AGAINST.

Los datos a guardar en la base pensaba guardarlos usando htmlentities() para escapar todos los caracteres, incluyendo los tildes.

La duda que se me presenta ahora es:
que pasa cuando realicen busquedas y escriban un nombre con tilde o sin tilde, voy a tener que buscar con eso aplicandole htmlentities() pero me va a dar problema con los tildes o no.

Que me conviene, usar una funcion para sacar siempre los tildes ?

Escucho opiniones

Saludos
Andres
  #2 (permalink)  
Antiguo 08/11/2007, 13:03
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
Re: Nombres y busquedas en BD

ocupa en ese caso un str_replace y cuando sea o no tilde lo tomas como normal se entiende? asi siempre comparas lo mismo....


Código PHP:
<?php
//de base de datos traes por $descripcion que ya esta con htmlentities()
$descripcion $datos[descripcion]; // ok
//creamos nuestra funcion

function cambia($texto){
$txt $texto;
$txt str_replace("&aacute;","á",$txt);
$txt str_replace("&eacute;","é",$txt);
$txt str_replace("&iacute;","í",$txt);
$txt str_replace("&oacute;","ó",$txt);
$txt str_replace("&uacute;","ú",$txt);
$txt str_replace("&Aacute;","Á",$txt);
$txt str_replace("&Eacute;","É",$txt);
$txt str_replace("&Iacute;","Í",$txt);
$txt str_replace("&Oacute;","Ó",$txt);
$txt str_replace("&Uacute;","Ú",$txt);
$txt str_replace("&ntilde;","ñ",$txt);
$txt str_replace("&Ntilde;","Ñ",$txt);
//esta funcion me la dieron aqui en los FDW en su tiempo, asi que thanks :P
return $txt;

//la aplicamos

$compara cambia($descripcion);

//una ves lista la funcion es cosa de comparar 

$recibe_de_form $_POST[descripcion];
//esto es lo que recibimos del form cierto sin htmlentities()....
//y bueno se entiende la idea :P

?>
espero te sirva :D
__________________
Gokuh Salvo al mundo. PUNTO!!!!
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 07:40.