Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/09/2011, 03:40
Avatar de Jask
Jask
 
Fecha de Ingreso: abril-2006
Ubicación: Madrid
Mensajes: 773
Antigüedad: 18 años, 1 mes
Puntos: 15
Problemas con la Ñ a la hora de filtrar fichas

Muy buenas. Qué tal ?
Tengo una pequeña duda. He hecho un pequeño script para que filtre por la letra inicial del nombre, de la A a la Z (incluye la Ñ). El problema es que al pulsar la Ñ para buscar me salen todas las fichas y no las que comiencen por esta letra. Pongo el script para que lo vean :)

Código PHP:
// Query que muestra un listado total o limitado. También se pueden mostrar solo ordenados por letras
function ficha_general_filtro($letter$limit$campo){
   
$ssql "SELECT *
            FROM wp_famoso"
;
   
   if(isset(
$letter) && !ctype_digit($letter) && strlen($letter) == && $letter != ""){
      
$ssql .= " WHERE cNombre LIKE '" $letter "%' ";         
   }elseif(isset(
$letter) && !ctype_digit($letter) && strlen($letter) >= && $letter != ""){
      
$ssql .= " WHERE cNombre LIKE '%" $letter "%'
                  OR cApellido LIKE '%" 
$letter "%'";
   }
   
   
$ssql .= " ORDER BY " $campo " DESC";
   
   if(isset(
$limit) && ctype_digit($limit) && $limit 0){
      
$ssql .= " LIMIT " $limit " ";
   }

   
$rs mysql_query($ssql);
   return 
$rs;

Como se puede apreciar, a la función se le pasa una letra, un limit (boleano) y un campo por si se quiere ordenar la lista por ese campo :). Suponiendo que no haya ni campo para ordenar ni limit, $letter solo sería Ñ la sentencia que me da es la siguiente:


SELECT * FROM wp_famoso ORDER BY nFamosoID DESC


Pero si busco por cualquier otra letra, la que sea, pongamos la S, aparece la siguiente consulta:


SELECT * FROM wp_famoso WHERE cNombre LIKE 'S%' ORDER BY nFamosoID DESC


No sé porque la Ñ me da problemas, alguien se le ocurre ?

Gracias :)
__________________
Os iusti meditabitur sapientiam
Si te he ayudado, por qué no un poquito de Karma :) ?