Ver Mensaje Individual
  #2 (permalink)  
Antiguo 11/11/2011, 05:22
quimfv
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 8 meses
Puntos: 574
Respuesta: Consulta sobre expresiones regulares REGEXP

$param=strtoupper ($param);

"SELECT * FROM usuarios WHERE UPPER(nombre_completo) REGEXP '[[:<:]]$param'"

Igual no es la solucion que buscabas pero esto te puede funcionar....

Primero paso a mayusculas la variable php.

Segundo hago la comparacion del campo rodeando lo con la funcion UPPER de manera que comparo el string pasado a mayusculas... sin modificar lo que contenga el campo.

Como la comparación se hace entre mayusculas y mayusculas no importa como se haya entrado el dato o como se consulte....

Edito: aún seria mas fino esto, si estas seguro que en la bbdd tienes los nombres bien escritos (es decir con mayuscula en la primera letra de cada palabra, cuydado con las particulas tipo "José De La Torre" o José de la Torre)

$param=ucwords(strtolower($param));

SELECT * FROM usuarios WHERE nombre_completo REGEXP '[[:<:]]$param'

ucwords Devuelve una cadena con la primera letra de cada palabra str convertida a mayúsculas, si el caracter es alfanumérico.
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 11/11/2011 a las 05:35