Foros del Web » Programando para Internet » PHP »

Mantener formato

Estas en el tema de Mantener formato en el foro de PHP en Foros del Web. Hola, extraigo de una tabla un valor, por ejemplo '000000001' y quiero sumarle uno, para q me quede: '000000002', pero al sumarselo pierde ese formato ...
  #1 (permalink)  
Antiguo 25/07/2003, 18:11
 
Fecha de Ingreso: julio-2003
Mensajes: 463
Antigüedad: 14 años, 5 meses
Puntos: 0
Mantener formato

Hola, extraigo de una tabla un valor, por ejemplo '000000001' y quiero sumarle uno, para q me quede: '000000002', pero al sumarselo pierde ese formato y me muestra '2'

Alguién sabe como mantenerlo, después de la suma?

Gracias y un saludo.
  #2 (permalink)  
Antiguo 25/07/2003, 18:14
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 15 años, 10 meses
Puntos: 5
$numero="000000001" + 1
$numero=str_pad($numero, 9, "0", STR_PAD_LEFT);
echo $numero;

Saca "000000002"
__________________
Manoloweb
  #3 (permalink)  
Antiguo 25/07/2003, 18:23
 
Fecha de Ingreso: julio-2003
Mensajes: 463
Antigüedad: 14 años, 5 meses
Puntos: 0
me da este error, en esa línea:

unexpected T_VARIABLE


Creo q es por STR_PAD_LEFT, pero a mi el código q me has proporcionado me parece correcto.


Una pregunta: ¿No hay ningún tipo de suma q mantenga el formato?, porque ese número irá subiendo y cuando tenga

'0000000021' quedaría:

'00000000021'

no??

Un saludo y gracias por el interés.
  #4 (permalink)  
Antiguo 25/07/2003, 18:28
 
Fecha de Ingreso: julio-2003
Mensajes: 463
Antigüedad: 14 años, 5 meses
Puntos: 0
Bueno, lo q no entiendo es ese error, pero la idea es buena,
puedo contar cuantos números hay despues de la suma y con un bucle irle insertando por la izquierda mediante el "." los ceros hasta completar el código deseado.

Gracias una vez más.
  #5 (permalink)  
Antiguo 25/07/2003, 18:29
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 15 años, 10 meses
Puntos: 5
No, el str pad te "rellena" hasta la cantidad que le pongas, es decir, si le pones 4, te haría lo siguiente:

0001
0495
0011
9547

O sea, solo lo llena con los caracteres faltantes.

Creo que el problema esta en que te falta un ;

$numero="000000001" + 1;
$numero=str_pad($numero, 9, "0", STR_PAD_LEFT);
echo $numero;
__________________
Manoloweb
  #6 (permalink)  
Antiguo 25/07/2003, 18:34
 
Fecha de Ingreso: julio-2003
Mensajes: 463
Antigüedad: 14 años, 5 meses
Puntos: 0
Quedaría muy sencillo, mira:

$numero= $Numero_Con_Formato + 1;

while (strlen($numero)< $Tamaño_A_Conseguir)
$numero = "0" . $numero;

echo $numero;

Un saludo
  #7 (permalink)  
Antiguo 25/07/2003, 18:36
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 15 años, 10 meses
Puntos: 5
De hecho lo acabo de probar y funciona TAL como lo necesitas, no es necesario saturar tu script con un loop que te puedes ahorrar...

__________________
Manoloweb
  #8 (permalink)  
Antiguo 25/07/2003, 18:41
 
Fecha de Ingreso: julio-2003
Mensajes: 463
Antigüedad: 14 años, 5 meses
Puntos: 0
Tienes razón lo acabo de probar yo también y funciona tal y como lo quiero. Te haré caso a ti que tienes más experiencia que yo en esto.

Gracias y un saludo.
  #9 (permalink)  
Antiguo 25/07/2003, 18:43
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 15 años, 10 meses
Puntos: 5
PD.- Ya llegaste a tus primeros 100 mensajes!!!

__________________
Manoloweb
  #10 (permalink)  
Antiguo 25/07/2003, 18:49
 
Fecha de Ingreso: julio-2003
Mensajes: 463
Antigüedad: 14 años, 5 meses
Puntos: 0
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 19:28.