Foros del Web » Programando para Internet » PHP »

no reconoce espacios en blanco como espacios

Estas en el tema de no reconoce espacios en blanco como espacios en el foro de PHP en Foros del Web. hola, tengo una BBDD donde quiero hacer una consulta desde PHP y el elemento comun es un nombre y apellido. El problema es que no ...
  #1 (permalink)  
Antiguo 11/08/2008, 09:52
 
Fecha de Ingreso: enero-2008
Mensajes: 37
Antigüedad: 16 años, 2 meses
Puntos: 0
no reconoce espacios en blanco como espacios

hola, tengo una BBDD donde quiero hacer una consulta desde PHP y el elemento comun es un nombre y apellido. El problema es que no me reconoce la variable como una cadena de texto con espacio, por lo tanto no me muestra el resultado.

tengo esto:
Código PHP:
$idop=base64_decode($_GET['cop']);
        
$consulta2 ="SELECT * FROM op_operaciones
                     WHERE ID=$idop"
;
        
$resultado=mysql_query($consulta2,$conexion);
        
$vercar mysql_fetch_array($resultado);

//cojo el movil del analista
$consulter2 "    SELECT foro_usuarios.movil as movileitor, selecto1.usermovil as usermovil
            FROM(
                SELECT upper(CONCAT(foro_usuarios.nombre,' ',foro_usuarios.apellido)) as usermovil, id 
                FROM  foro_usuarios) AS selecto1, foro_usuarios 
            WHERE selecto1.id= foro_usuarios.id AND
            selecto1.usermovil = '"
.$vercar['ANALISTA_OP']."'";
$resulter2=mysql_query($consulter2,$conexion);
$vertelefoneitor mysql_fetch_assoc($resulter2); 
al recoger el movil del analista el campo $vercar['ANALISTA_OP'] deberia de ser igual que el resultado de la consulta usermovil, pero parece que no lo son por el espacio en blanco ya que en la BBDD parece que si que esta pero en $vercar['ANALISTA_OP'] no, aunque se muestre como un espacio. es como si el espacio fuese un caracter, por lo tanto no muestra el resultado.

Si hago la consulta directamente en Mysql si que muestra el resultado ya que no hay diferencias entre el espacio de la BBDD y el generado con el Concat.

saludos.
  #2 (permalink)  
Antiguo 11/08/2008, 11:28
Avatar de enriqueplace  
Fecha de Ingreso: mayo-2005
Ubicación: Uruguay / Argentina
Mensajes: 1.102
Antigüedad: 18 años, 11 meses
Puntos: 32
Respuesta: no reconoce espacios en blanco como espacios

Probaste de imprimir la consulta que se origina en php y luego ver de tirarla directamente a la base y ver qué sucede?
__________________
Blog phpsenior.com Cursos a Distancia surforce.com
  #3 (permalink)  
Antiguo 11/08/2008, 11:40
 
Fecha de Ingreso: julio-2008
Mensajes: 140
Antigüedad: 15 años, 9 meses
Puntos: 2
Respuesta: no reconoce espacios en blanco como espacios

En lugar de comillas, son "acentos"

O sea, en lugar de ' ', es ´ ´.

Saludos!
  #4 (permalink)  
Antiguo 11/08/2008, 13:36
 
Fecha de Ingreso: enero-2008
Mensajes: 37
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: no reconoce espacios en blanco como espacios

Cita:
Iniciado por enriqueplace Ver Mensaje
Probaste de imprimir la consulta que se origina en php y luego ver de tirarla directamente a la base y ver qué sucede?
si hago eso si que funciona. ya que el problema no es de mysql es de Php y como recoge los espacios en blanco guardados de la BBDD y compararlo con el de la consulta.

No entiendo eso de las comillas, cuales tendria que cambiar? todas?

Saludos.
  #5 (permalink)  
Antiguo 11/08/2008, 13:43
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: no reconoce espacios en blanco como espacios

Hola wanchankein,

Prueba usar trim() en tu variable para quitarle los espacios en blanco.

Saludos.
  #6 (permalink)  
Antiguo 11/08/2008, 15:44
 
Fecha de Ingreso: enero-2008
Mensajes: 37
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: no reconoce espacios en blanco como espacios

Cita:
Iniciado por GatorV Ver Mensaje
Hola wanchankein,

Prueba usar trim() en tu variable para quitarle los espacios en blanco.

Saludos.
si hago
Código PHP:
echo trim($vercar['ANALISTA_OP'], " "); 
o
Código PHP:
echo trim($vercar['ANALISTA_OP'], " "); 
me muestra el nombre con espacio en medio

Es como si el espacio en blanco que hay entre el nombre y el apellido que recupera de la bbdd "guardado con anterioridad" no tuviera ese espacio en blanco aunque se vea separado por un espacio el nombre y el apellido.

Por eso nunca me igualará la consulta ya que visiblemente son iguales pero parece ser que realmente no son iguales el nombre que hay guardado en la BBDD con el que recojo de la consulta y junto mediante concat de mysql incrustandole un espacio "real".

alguna idea de como hacer para que el espacio guardado sea un espacio (que redundancia )?

saludos
  #7 (permalink)  
Antiguo 11/08/2008, 15:48
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: no reconoce espacios en blanco como espacios

Hola wankanchein,

trim sirve para quitar espacios del principio o final de la cadena, si tu quieres incrustar un espacio en el medio tienes que usar otro metodo como preg_replace.

Por otro lado ya haz pensado en usar el operador "LIKE" de MySQL para obtener los datos?

PD. Creo deberías pensar muy bien el diseño de tu BDD, ya que al estar comparando con cadenas haces muy pesado y lento el sistema, lo mejor es usar un número como ID único.

Saludos.
  #8 (permalink)  
Antiguo 12/08/2008, 02:36
 
Fecha de Ingreso: enero-2008
Mensajes: 37
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: no reconoce espacios en blanco como espacios

Arreglado, era que al guardar en la base de datos el nombre del analista, los espacios los guardaba como  , lo he cambiado por " " y ya son iguales y por lo tanto aparece el movil.

Normalmente utilizo IDs para relacionar tablas pero no iva a crear un Id solo para poner un movil, no merecia la pena teniendo el nombre y apellido del usuario.

Saludos.
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 14:59.