PHP - Ayuda printf

 
Vista:

Ayuda printf

Publicado por Mario Zanetta (2 intervenciones) el 12/10/2015 18:24:14
Hola, ojalá alguien me pueda ayudar con mi problema, ya que me pasado mucho tiempo leyendo en google por una solución y no la he podido encontrar :
Simplemente estoy leyendo campos de una BD Mysql del tipo Varchar para presentarlos en un reporte de pantalla con printf, pero no puedo rellenar con blancos a la derecha usando "%-20s" (20 por poner un número, puede ser cualquiera), los campos simplemente se presentan del largo que tienen en la BD y no se rellena de blancos hacia la derecha haciendo caso omiso de la instrucción %-(valor)s

Mucho agradeceré cualquier sugerencia
Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Ayuda printf

Publicado por xve (6935 intervenciones) el 12/10/2015 21:28:28
Hola Mario, cuando quieras poner un espacio, prueba a poner el formato html:  

Coméntanos si con este valor te funciona, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda printf

Publicado por Mario Zanetta (2 intervenciones) el 13/10/2015 15:27:48
Gracias xve por la respuesta. Lo que sucede es que tengo varios datos de distinto largo almacenados en campos tipo varchar en Mysql, y necesito que al presentarlos en un reporte por pantalla, la columna que los va a contener tenga el mismo ancho. Lo voy a explicar mejor con el siguiente ejemplo:
En el campo 1 tengo nombres de pila : (Juan,Eduardo,Sebastian)
En el campo 2 tengo los apellidos : (Carrasco,Quintanilla,Montero)

Usando printf para generar el reporte en pantalla quiero lograr esto :
Juan..........Carrasco
Eduardo...Quintanilla
Sebastian.Montero

Nota: los puntitos (...) representan los espacios en blanco que se deberían agregar hacia la derecha para mantener la columna de un ancho uniforme en el reporte

La literatura en Google dice que se debe usar algo así : printf("%-20s %s",$nombre, $apellido);
Pero eso es lo que estoy haciendo y no tiene ningún efecto: no rellena con espacios a la derecha hasta completar los 20 caracteres, para los casos en que el nombres tiene menos de 20.

Esto es lo que logro mostrar en pantalla con el formato de printf arriba comentado:

Juan,Carrasco
Eduardo,Quintanilla
Sebastian, Montero


Muy agradecido de antemano por cualquier sugerencia
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar