Foros del Web » Programando para Internet » PHP »

Insertar espacios en blanco a mysql por medio de php

Estas en el tema de Insertar espacios en blanco a mysql por medio de php en el foro de PHP en Foros del Web. Quiero agregar espacios en blanco a un campo de una tabla de una bd de mysql por medio de php, como lo puedo hacer? Por ...
  #1 (permalink)  
Antiguo 05/03/2012, 23:04
 
Fecha de Ingreso: marzo-2012
Mensajes: 21
Antigüedad: 12 años, 1 mes
Puntos: 1
Agregar espacios en blanco a una bd mysql, usando php

Quiero agregar espacios en blanco a un campo de una tabla de una bd de mysql por medio de php, como lo puedo hacer?
Por decir, es una dato char(180) y los 180 tienen que ser blancos e imprimirse en el reporte, como le hago?
  #2 (permalink)  
Antiguo 05/03/2012, 23:29
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: Agregar espacios en blanco a una bd mysql, usando php

Usa sprintf para eso, te permite imprimir conservando un espacio en blanco definido.

Saludos.
  #3 (permalink)  
Antiguo 06/03/2012, 00:37
 
Fecha de Ingreso: marzo-2012
Mensajes: 21
Antigüedad: 12 años, 1 mes
Puntos: 1
Respuesta: Agregar espacios en blanco a una bd mysql, usando php

Gracias, si habia visto esa en python, pero quisiera saber si puedo agregar desde php espacios en blanco a un campo de mi tabla?? se puede?
  #4 (permalink)  
Antiguo 06/03/2012, 10:41
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: Agregar espacios en blanco a una bd mysql, usando php

Por optimización te recomiendo los espacios los agregues al imprimir, ya que en la BD se van a truncar los espacios en blanco, usa sprintf al imprimir.

Saludos.
  #5 (permalink)  
Antiguo 06/03/2012, 15:02
 
Fecha de Ingreso: marzo-2012
Mensajes: 21
Antigüedad: 12 años, 1 mes
Puntos: 1
Insertar espacios en blanco a mysql por medio de php

Tengo un campo llamado cuentaEmp; es un char(14), necesito que este alineado a la izquierda y que los dos ultimos caracteres sean espacios en blancos, algo como: "123456789012 " y todo esto está detrás de una aplicación php, como podría hacerlo, porfa alguien que me salve la vida?
  #6 (permalink)  
Antiguo 06/03/2012, 15:08
Usuario no validado
 
Fecha de Ingreso: enero-2010
Ubicación: Maturín, Monagas
Mensajes: 190
Antigüedad: 14 años, 3 meses
Puntos: 24
Respuesta: Insertar espacios en blanco a mysql por medio de php

alinealo a la izquierda con diseño cuando lo imprimas el espacio igual..: <p aling="left"><?php echo $tucampo." ";?> no recuerdo si <p> acepta eso pero algo asi...
  #7 (permalink)  
Antiguo 06/03/2012, 15:16
 
Fecha de Ingreso: marzo-2012
Mensajes: 21
Antigüedad: 12 años, 1 mes
Puntos: 1
Respuesta: Insertar espacios en blanco a mysql por medio de php

lo que pasa es que, por decir tengo un char(20) pero mis caracteres en algunos casos toman 14, 15 o 16; como hago para que los que sobran los llene el php en mi mysql como espacios en blanco?
  #8 (permalink)  
Antiguo 06/03/2012, 15:21
Usuario no validado
 
Fecha de Ingreso: enero-2010
Ubicación: Maturín, Monagas
Mensajes: 190
Antigüedad: 14 años, 3 meses
Puntos: 24
Respuesta: Insertar espacios en blanco a mysql por medio de php

no entiendo realmente 20 es el limite si por ejemplo guardas Juan son 4 caracteres quieres rellenar con 16 espacios en blanco para que el campo de tu BD llegue a su limite? para mi no lo creo conveniente es mas no se si los mas expertos apoyarian eso, pero revisa en esta pagina creo es lo que buscas.. :)
  #9 (permalink)  
Antiguo 06/03/2012, 15:21
Avatar de quike88  
Fecha de Ingreso: agosto-2008
Mensajes: 471
Antigüedad: 15 años, 8 meses
Puntos: 87
Respuesta: Insertar espacios en blanco a mysql por medio de php

Hola,

Puedes hacerlo con str_pad().

Saludos.

Edito: @leonagelic se adelanto
  #10 (permalink)  
Antiguo 06/03/2012, 15:25
Usuario no validado
 
Fecha de Ingreso: enero-2010
Ubicación: Maturín, Monagas
Mensajes: 190
Antigüedad: 14 años, 3 meses
Puntos: 24
Respuesta: Insertar espacios en blanco a mysql por medio de php

jeje saludos @quike88
  #11 (permalink)  
Antiguo 06/03/2012, 16:41
 
Fecha de Ingreso: marzo-2012
Mensajes: 21
Antigüedad: 12 años, 1 mes
Puntos: 1
Respuesta: Insertar espacios en blanco a mysql por medio de php

Muchachos muchas gracias =D esta interesante el post, surge otro problema T_T
Todo funciona bien siempre y cuando ponga algun caracter por ej. str_pad($_POST[numEmp], 20, '*'); pero cuando le pongo espacio en blanco: str_pad($_POST[numEmp], 20, ' '); solo me agrega un espacio, que estoy haciendo mal =/
  #12 (permalink)  
Antiguo 06/03/2012, 16:48
Avatar de OsSk4R  
Fecha de Ingreso: octubre-2006
Ubicación: $this->home
Mensajes: 824
Antigüedad: 17 años, 6 meses
Puntos: 74
Respuesta: Insertar espacios en blanco a mysql por medio de php

Cita:
Esta función devuelve el string input rellenado por la izquierda, la derecha, o en ambos lados hasta la longitud especificada. Si el argumento opcional pad_string no se suministra, el input se rellena con espacios, de lo contrario, se rellena con los caracteres de pad_string hasta el límite.
Prueba a no suministrarselo. Ejmplo: str_pad($_POST[numEmp], 20);
A ver que te hace.

Saludos,
  #13 (permalink)  
Antiguo 07/03/2012, 09:44
 
Fecha de Ingreso: marzo-2012
Mensajes: 21
Antigüedad: 12 años, 1 mes
Puntos: 1
Respuesta: Insertar espacios en blanco a mysql por medio de php

Pues señores, nada =( incluso e copiado el codigo que ponen de ejemplo en la pagina, que dice "Alien (varios espacios)" pero solo me sale "Alien (un espacio)", lo otro que note es que arriba dice (PHP 4 >= 4.0.1, PHP 5) y yo estoy usando una version 5.3.8; disculpen que sea tan estupido pero creen q este se el problema?
  #14 (permalink)  
Antiguo 07/03/2012, 10:00
Avatar de quike88  
Fecha de Ingreso: agosto-2008
Mensajes: 471
Antigüedad: 15 años, 8 meses
Puntos: 87
Respuesta: Insertar espacios en blanco a mysql por medio de php

Acabo de probar esto y funciona correctamente:

Código PHP:

var_dump
(str_pad("Alien",20)); 
Estoy con la misma versión de PHP y ese no es el problema, tal vez si nos explicas un poco más lo que quieres hacer, podamos ayudarte mejor.

Saludos.
  #15 (permalink)  
Antiguo 07/03/2012, 10:19
 
Fecha de Ingreso: marzo-2012
Mensajes: 21
Antigüedad: 12 años, 1 mes
Puntos: 1
Respuesta: Insertar espacios en blanco a mysql por medio de php

Esta es una parte del codigo:
$registro = mysql_query("SELECT * FROM registroh");

while($reg = mysql_fetch_array($registro))
{
echo $reg['tipoRegistro'];
echo str_pad($reg['cuentaEmpresa'], 14);
echo $reg['secuenciaServicio'];
}
Los tipos de datos son char(1), char(14) y char(3) respectivamente; cuentaEmpresa no completa los 14 caracteres a veces 10, 11, 12 o 13, y lo que necesito es que los demás espacio queden blancos hasta que se imprima secuenciaServicio; algo asi
Registro = m ; Empresa = 1234567890 ; Servicio = 123
m1234567890(4espacios)123
Algo asi, gracias de antemano
  #16 (permalink)  
Antiguo 07/03/2012, 10:28
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: Insertar espacios en blanco a mysql por medio de php

El problema esta en que por más que pongas muchos espacios, al verlo en HTML, es muy diferente, sí lo quieres ver el espacio en MySQL debes de usar &nbsp; no puedes usar el espacio como tal ya que muchos espacios son ignorados por el parser del browser.

Saludos.
  #17 (permalink)  
Antiguo 07/03/2012, 10:32
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: Insertar espacios en blanco a mysql por medio de php

Esto es por HTML, no por php...


Si imprimes varios espacios... no se quedan todos, sólo uno.

Para eso, tendrías q poner &nbsp; (codigo html del espacio), por ejemplo...

Código PHP:
echo str_pad($reg['cuentaEmpresa'], 14'&nbsp;'); 
Almenos, para mostrarlo en HTML...


Sino, siempre puedes imprimir primero las etiqueta <pre>, y al final poner un </pre>'... Así te respetará esos espacios :)
__________________
>> Eleazan's Source
>> @Eleazan
  #18 (permalink)  
Antiguo 07/03/2012, 10:33
Avatar de quike88  
Fecha de Ingreso: agosto-2008
Mensajes: 471
Antigüedad: 15 años, 8 meses
Puntos: 87
Respuesta: Insertar espacios en blanco a mysql por medio de php

Para imprimir espacios en blanco en HTML debes usar &nbsp; o tener el texto entre las etiquetas <pre></pre>.

Si solo quieres añadir los espacios para que se vea ordenado, mejor usa una tabla.

Saludos.
  #19 (permalink)  
Antiguo 07/03/2012, 10:50
 
Fecha de Ingreso: marzo-2012
Mensajes: 21
Antigüedad: 12 años, 1 mes
Puntos: 1
Respuesta: Insertar espacios en blanco a mysql por medio de php

Gracias gente!! gracias por todas sus sugerencias, lo conseguí =D

Etiquetas: espacios_en_blanco, espacio_blanco, html, mysql
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 08:08.