Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: Feedeex en 24 Mayo 2011, 18:26 pm



Título: Problema con for
Publicado por: Feedeex en 24 Mayo 2011, 18:26 pm
Hola. Necesito hacer un for que empiece del 0000 y finalice en el 1000, por lo tanto, tengo el siguiente código:

Código:
<?php
 for($a = 0000; $a < 1001; $a++) {
  echo $a;
  echo "<br>";
}
?>

Pero devuelve:

Citar
0
1
2
3
4
...

¿Cómo puedo hacer para solucionarlo?.


Título: Re: Problema con for
Publicado por: Nakp en 24 Mayo 2011, 18:35 pm
con esto :D

Código
  1. echo str_pad($a, 4, 0, STR_PAD_LEFT);



Título: Re: Problema con for
Publicado por: [u]nsigned en 24 Mayo 2011, 18:41 pm
Usa la funcion str_pad para rellenar la cadena con ceros hasta una longitud de 4 caracteres:

Código
  1. <?php
  2. for($a = 0000; $a < 1001; $a++) {
  3.  echo str_pad($a,4,0,STR_PAD_LEFT);
  4.  echo "<br>";
  5. }
  6. ?>

Saludos

PD: Advertencia - mientras estabas escribiendo, una nueva respuesta fue publicada. Probablemente desees revisar tu mensaje.


Título: Re: Problema con for
Publicado por: Feedeex en 24 Mayo 2011, 18:57 pm
Muchas gracias amigos :D

PD: Tengo otro problema. Quiero ingresar los números en la BD, pero el mismo problema de antes, ingresa 0,1,2...

Código:
<?php
include("conexion.php");
 for($a = 0000; $a < 1001; $a++) {
  $a1 = str_pad($a,4,0,STR_PAD_LEFT);
   mysql_query("INSERT INTO rifas (numero) VALUES ($a1)", $conexion);
}
?>


Título: Re: Problema con for
Publicado por: Littl3 en 24 Mayo 2011, 20:36 pm
Seguramente el tipo de campo de la BBDD es int, prueba con poner el campo tipo char.

Un saludo.


Título: Re: Problema con for
Publicado por: Feedeex en 24 Mayo 2011, 21:17 pm
Gracias por la respuesta. Si, era INT, probé con CHAR y no funciona de todos modos. ¿Alguna otra idea?.


Título: Re: Problema con for
Publicado por: Nakp en 24 Mayo 2011, 22:49 pm
si no pretendes guardar negativos en la columna, puedes especificar que sea de tipo NUMERIC(4) ZEROFILL :P e implicitamente sera unsigned, asi si guardas 1 en la base de datos sera 0001 :) (supongo que la base de datos esta en mysql)


Título: Re: Problema con for
Publicado por: Feedeex en 25 Mayo 2011, 00:22 am
Con decir genio, me quedo corto. Muchas gracias Nakp, ya me salvaste de unas cuantas junto con otros  ;-)