Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] No me muestra los ceros

Estas en el tema de No me muestra los ceros en el foro de PHP en Foros del Web. Hola, Tengo el siguiente problema, quiero mostrar los ceros que están delante de un numero de telefono o el simbolo +, por ejemplo si es ...
  #1 (permalink)  
Antiguo 24/02/2014, 04:02
 
Fecha de Ingreso: agosto-2012
Ubicación: Barcelona
Mensajes: 243
Antigüedad: 11 años, 9 meses
Puntos: 1
No me muestra los ceros

Hola,

Tengo el siguiente problema, quiero mostrar los ceros que están delante de un numero de telefono o el simbolo +, por ejemplo si es de otro país como Italia el prefijo es 0039 los ceros no me lo muestra y si pongo el simbolo + tampoco.
La base de datos la he creado varchar 25 he visto cuando lo graba y los ceros o el simbolo + no existen.
A ver si alguien me puede dar una mano.

Gracias y saludos
  #2 (permalink)  
Antiguo 24/02/2014, 06:04
Avatar de 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: No me muestra los ceros

Por empezar, el "00" de un teléfono, no es parte del número. Es lo que se denominaba vulgarmente DDI o "Discado Directo Internacional", es decir el acceso por red automática a una llamada internacional.
En todo caso el prefijo de Italia es el 39, no el 0039, como para EE.UU es el 1, México el 52, Argentina es el 54, Brasil el 55.
El símbolo "+" por su lado, es el sinónimo o equivalente a poner doble cero, por l ocual o pones +39, o pones 0039, pero no ambos.
Finalmente, debes tener en cuenta que MySQL maneja los valores contextualmente, por lo que para que el numero quede bien escrito en el insert, deberías ponerlo, por ejemplo:
Código MySQL:
Ver original
  1. INSERT telefonos(tel) VALUES('+3912345678')
Si lo pones
Código MySQL:
Ver original
  1. INSERT telefonos(tel) VALUES(+3912345678)
convertirá la cadena de texto en un número y desaparecerá el "+", porque los números no se almacenan como caracteres, sino como binarios.

En cuanto a PHP, verifica el formato que queda almacenado, y el tipo de dato de la variable. Debe ser si o sí una cadena de texto.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 25/02/2014, 01:38
 
Fecha de Ingreso: agosto-2012
Ubicación: Barcelona
Mensajes: 243
Antigüedad: 11 años, 9 meses
Puntos: 1
Respuesta: No me muestra los ceros

Ok muchas gracias

Solucionado

Etiquetas: muestra
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 13:31.