Ver Mensaje Individual
  #9 (permalink)  
Antiguo 19/08/2015, 20:16
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Mi buscador no muestra ecentos y ñ

Bueno, por lo que se puede ver, el problema no es de datos, no es de INSERT, y no es con los SELECT... Como es evidente, la información se graba y se recupera correctamente.
Ahora bien, en tu buscador la cosa no funciona, es decir, no devuelve datos, pero entiendo que no dispara errores de sintaxis, por lo que se deduce que lo único que puede suceder es que las condiciones del WHERE no se están cumpliendo.

Partiendo de esa base, y remitiéndonos a tu código:

Código PHP:
Ver original
  1. $qry = "SELECT * FROM clientes ";
  2. $searchText = "";
  3. if($_REQUEST['search_text']!=""){
  4.     $searchText = utf8_encode($_REQUEST['search_text']);
  5.     $qry .=" where ID like '$searchText%'
  6.            or nombre like '$searchText%'
  7.            or apellidos like '$searchText%'  
  8.            or empresa like '$searchText%'
  9.            or ciudad like '$searchText%'
  10.            or telefono like '$searchText%'
  11.            or email like '$searchText%'
  12.            or fecha like '$searchText%'";
yo veo estas posibilidades:

1) No se cumplen las condiciones porque buscas un texto intermedio, o el final de un texto, pero no el comienzo de él. Esto se daría desde el momento en que los LIKE que usas en todos los casos están buscando lo que comience con el texto buscado, tenga lo que tenga el final.
En ese contexto, si buscases "oña", por ejemplo, no obtendrías resultados jamás dado que no hay ningun caso donde se cumpla. "Coña" n cuenta porque comienza con "C".
2) Se está corrompiendo el srting de la query, en esencia la idea es que lo que le llega MySQL no es lo que tu crees que le llega. Pero es algo que puedes verificar con un simple echo:
Código PHP:
Ver original
  1. $qry = "SELECT * FROM clientes ";
  2. $searchText = "";
  3. if($_REQUEST['search_text']!=""){
  4.     $searchText = utf8_encode($_REQUEST['search_text']);
  5.     $qry .=" where ID like '$searchText%'
  6.            or nombre like '$searchText%'
  7.            or apellidos like '$searchText%'  
  8.            or empresa like '$searchText%'
  9.            or ciudad like '$searchText%'
  10.            or telefono like '$searchText%'
  11.            or email like '$searchText%'
  12.            or fecha like '$searchText%'";
  13. echo $qry;
Agrega ese echo, ejecuta una busqueda como las que te fallan, poniendo el SET NAMES en UTF-8, y postea aqui lo que se muestra en pantalla. De acuerdo a lo que salga procederemos.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 19/08/2015 a las 22:04