Foros del Web » Programando para Internet » PHP »

Como evitar que se deforme una tabla ?

Estas en el tema de Como evitar que se deforme una tabla ? en el foro de PHP en Foros del Web. Tengo un formulario donde los usuarios pueden escribir lo que sea para luego ser publicado al instante en una pagina. Ahora, como puedo evitar que ...
  #1 (permalink)  
Antiguo 10/08/2005, 00:39
Avatar de Raenk  
Fecha de Ingreso: mayo-2003
Ubicación: The Net
Mensajes: 747
Antigüedad: 14 años, 6 meses
Puntos: 7
Como evitar que se deforme una tabla ?

Tengo un formulario donde los usuarios pueden escribir lo que sea para luego ser publicado al instante en una pagina. Ahora, como puedo evitar que por escribir una palabra larga se deforme la tabla de la pagina donde se publica ? Ya saben, no falta el curioso que lo haga para descomponer el sitio. (asiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii iiiiiii.....)

Se que en javascript se puede, pero lo he intentado con un script que encontre y se me ha complicado porque la pagina es modular y al final no funciona, es un lio, por eso quiero ver si en php es posible.

Saludos
__________________
Our shadow is taller than our soul
  #2 (permalink)  
Antiguo 10/08/2005, 03:39
has
 
Fecha de Ingreso: septiembre-2004
Ubicación: Lugo
Mensajes: 28
Antigüedad: 13 años, 3 meses
Puntos: 0
a mi ta pasando algo parecido , con php + html .. por mucho q intento darle a la tabla un valor de ancho no lo respecta y al introducir los datos en la base de datos y llamarlos la deforma nadie sabe algo con lo q bloquear el ancho de la table y q el texto tengo saltos de br.. un saludo a tos.
  #3 (permalink)  
Antiguo 10/08/2005, 10:25
Avatar de JALF  
Fecha de Ingreso: septiembre-2004
Ubicación: Cali - Colombia
Mensajes: 634
Antigüedad: 13 años, 3 meses
Puntos: 2
Socio muy sencillo, esa parte se hace por medio de HTML, con style, lo que pasa es que ahora no estoy en mi casa pero bueno sgun recuerdo la cosa es con style y se aplica la parde del ancho y lo defines y todo ese combo lo pones donde le das el tamaño a la tabla!!!

en cuanto llegue a mi casa buscaré la respueta y te la doy! pero por ahora investiga

no mentiras ya te tengo la solución, analiza este codigo!!!

Código PHP:
<table style="width:200" border="1">
<
td>
</
td>
</
table
__________________
Ubuntu User # 15554
http://dubaiphp.wordpress.com/ -Mi vida de desarrollo, juegos y algo más en un Blog-
  #4 (permalink)  
Antiguo 10/08/2005, 10:45
Avatar de Raenk  
Fecha de Ingreso: mayo-2003
Ubicación: The Net
Mensajes: 747
Antigüedad: 14 años, 6 meses
Puntos: 7
Todas mis tablas tienen definido el ancho, eso no lo solucionaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaa

Esto lo hice para que se note que el foro esta protegido por un script que divide una palabra larga. La palabra no se divide solo por el hecho que la tabla tenga un ancho especifico.

Saludos
__________________
Our shadow is taller than our soul
  #5 (permalink)  
Antiguo 10/08/2005, 10:56
Avatar de MarioNunes  
Fecha de Ingreso: agosto-2005
Mensajes: 280
Antigüedad: 12 años, 4 meses
Puntos: 1
Buenas,

Pues ponerte a contar el las letras que tiene cada palabra que está separada por espacios y darle un máximo... me parece un poco lio, pero si hay mucho listillo que va haciendo la grácia merecerá la pena :)

Un saludo.
__________________
www.pensandoenred.com
  #6 (permalink)  
Antiguo 10/08/2005, 11:00
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 14 años, 1 mes
Puntos: 11
revisa el atributo wordrap de html para las tablas.
  #7 (permalink)  
Antiguo 10/08/2005, 11:12
Avatar de Raenk  
Fecha de Ingreso: mayo-2003
Ubicación: The Net
Mensajes: 747
Antigüedad: 14 años, 6 meses
Puntos: 7
Gracias claudiovega y a los demás que respondieron, aqui les dejo dos temas que encontre solo buscando en google la palabra "wordwrap" (gracias por la idea).

Para hacerlo en PHP: http://mx.php.net/wordwrap
Para hacerlo con HTML/CSS: http://msdn.microsoft.com/workshop/a...s/wordwrap.asp

Saludos y gracias nuevamente
__________________
Our shadow is taller than our soul
  #8 (permalink)  
Antiguo 10/08/2005, 12:10
Avatar de radarcba  
Fecha de Ingreso: mayo-2005
Ubicación: ureleando
Mensajes: 505
Antigüedad: 12 años, 6 meses
Puntos: 3
yo a tu problema lo solucione con una clase Css que contiene el ancho de la columna.
<td class='ancho' bgcolor='#f7f7f7'>&nbsp;%s</td>

clase:
.ancho {width: 200px; font-size: 10px; font-family: Verdana, Arial, Helvetica, sans-serif}
__________________
Maldición va a ser un día hermoso... PR
Tetris, correo & TU IP
  #9 (permalink)  
Antiguo 10/08/2005, 14:01
Avatar de JALF  
Fecha de Ingreso: septiembre-2004
Ubicación: Cali - Colombia
Mensajes: 634
Antigüedad: 13 años, 3 meses
Puntos: 2
Cita:
Iniciado por radarcba
yo a tu problema lo solucione con una clase Css que contiene el ancho de la columna.
<td class='ancho' bgcolor='#f7f7f7'>&nbsp;%s</td>

clase:
.ancho {width: 200px; font-size: 10px; font-family: Verdana, Arial, Helvetica, sans-serif}
Es verdad asi también se solucina el problema y no hay que matarse haciendo otras chocherias!!!
__________________
Ubuntu User # 15554
http://dubaiphp.wordpress.com/ -Mi vida de desarrollo, juegos y algo más en un Blog-
  #10 (permalink)  
Antiguo 10/08/2005, 20:51
Avatar de Raenk  
Fecha de Ingreso: mayo-2003
Ubicación: The Net
Mensajes: 747
Antigüedad: 14 años, 6 meses
Puntos: 7
Pues sigo dudando que solo con dar el ancho de la columna funcione, ya lo he hecho y la prueba esta que hay muchos foros que sufren de esto. Y no creo que sea por no poner el ancho de la columna.

Saludos
__________________
Our shadow is taller than our soul
  #11 (permalink)  
Antiguo 11/08/2005, 02:00
has
 
Fecha de Ingreso: septiembre-2004
Ubicación: Lugo
Mensajes: 28
Antigüedad: 13 años, 3 meses
Puntos: 0
pos yo tengo el problema parecido y es mu raro tb , resulta que en local dando el ancho a la columna si que funciona perfectaemnte trocea el texto a nor una palabra seguida , pero al subirlo al servidor es mu raro lo q me pasa no me respetac el ancho en ninguna parte, si hago un preformateo del texto se me rompen las columnas por todos laos y en local nop.
Voy probar la opcion de Wordwrap y asias.
  #12 (permalink)  
Antiguo 11/08/2005, 09:53
Avatar de radarcba  
Fecha de Ingreso: mayo-2005
Ubicación: ureleando
Mensajes: 505
Antigüedad: 12 años, 6 meses
Puntos: 3
insisto que si usas Css y lo acomodas a tu exigencia, el ancho de la columna se respeta.
Yo tengo en este momento 10 informes funcionando y dependiendo de cada una le asigno un ancho de columna y funcionan correctamente.
__________________
Maldición va a ser un día hermoso... PR
Tetris, correo & TU IP
  #13 (permalink)  
Antiguo 11/08/2005, 10:00
Avatar de JALF  
Fecha de Ingreso: septiembre-2004
Ubicación: Cali - Colombia
Mensajes: 634
Antigüedad: 13 años, 3 meses
Puntos: 2
De acuerdo

Cita:
Iniciado por radarcba
insisto que si usas Css y lo acomodas a tu exigencia, el ancho de la columna se respeta.
Yo tengo en este momento 10 informes funcionando y dependiendo de cada una le asigno un ancho de columna y funcionan correctamente.
Hola!!!
hasle una prueba a ver que pasa intenta colocal esto a una columa de tu informe a ver que pasa:

HOLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

Mira a ver que le pasa a las columnas de tu informe y nos cuentas!!!
__________________
Ubuntu User # 15554
http://dubaiphp.wordpress.com/ -Mi vida de desarrollo, juegos y algo más en un Blog-
  #14 (permalink)  
Antiguo 11/08/2005, 12:49
Avatar de Raenk  
Fecha de Ingreso: mayo-2003
Ubicación: The Net
Mensajes: 747
Antigüedad: 14 años, 6 meses
Puntos: 7
Mi problema ya lo tengo solucionado con la funcion wordwrap de php donde especificamente se indica que hay que cortar las palabras cuando alcancen los 83 caracteres.

Han probado con CSS en una tabla que se llena automaticamente con informacion guardada en una base de datos ?

Incluso existe un atributo CSS para iexplorer que especificamente es para prevenir esto rompiedo las palabras. Por eso me extraña que haya scripts en java, atributos especificos, etc cuando se supone que se resolveria solo con especificar el ancho de la columna.

En el ejemplo de JALF de Holaaaaa, se nota que en este caso es por medio de un script que corta la palabra especificamente en cierto numero de caracteres, ya que la palabra no llega al ancho de la columna.

Chequen este sitio, no es mio, pero sufre de ese problema, no les puedo asegurar si tiene especificado el ancho de la columna, hagan una prueba y veran como se deforma. http://www.tusecreto.net
__________________
Our shadow is taller than our soul
  #15 (permalink)  
Antiguo 11/08/2005, 13:39
Avatar de radarcba  
Fecha de Ingreso: mayo-2005
Ubicación: ureleando
Mensajes: 505
Antigüedad: 12 años, 6 meses
Puntos: 3
JALF : eso lo solucionas directamente en la validacion del formulario.

Raenk: como utilizas el wordrap, asi lo estudio para ponerlo en practica...
__________________
Maldición va a ser un día hermoso... PR
Tetris, correo & TU IP
  #16 (permalink)  
Antiguo 11/08/2005, 13:46
Avatar de Raenk  
Fecha de Ingreso: mayo-2003
Ubicación: The Net
Mensajes: 747
Antigüedad: 14 años, 6 meses
Puntos: 7
wordwrap en php

Aqui esta, es muy sencillo:

Código:
<?php
$texto = "Una palabra muy laaaaaaaaaaaaaaaaaaaaaaaaarga.";
$nuevo_texto = wordwrap($texto, 8, "\n", 1);

echo "$nuevo_texto\n";
?>
Donde el 8 en wordwrap($texto, 8, "\n", 1) indica el numero de caracteres maximo que vas a permitir por palabra antes de que se rompa. Lo normal es que ese numero, para conservar la estetica en el texto, sea lo mas cercano al maximo de caracteres que caben en el ancho de tu columna.

Este es el resultado del codigo anterior y como ven abarca un maximo de 8 caracteres:

Código:
Una
palabra
muy
laaaaaaa
aaaaaaaa
aaaaaaaa
aarga.
Es facil, no ?

Saludos
__________________
Our shadow is taller than our soul
  #17 (permalink)  
Antiguo 11/08/2005, 14:14
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 14 años, 1 mes
Puntos: 11
En este foro igual he visto deformaciones de la tabla, me parece que es cuando se incluye codigo muy largo y se especifica resaltado de sintaxis.
  #18 (permalink)  
Antiguo 11/08/2005, 14:29
Avatar de radarcba  
Fecha de Ingreso: mayo-2005
Ubicación: ureleando
Mensajes: 505
Antigüedad: 12 años, 6 meses
Puntos: 3
gracias raenk. Lo voy a probar.
__________________
Maldición va a ser un día hermoso... PR
Tetris, correo & TU IP
  #19 (permalink)  
Antiguo 14/08/2005, 05:09
 
Fecha de Ingreso: octubre-2004
Mensajes: 79
Antigüedad: 13 años, 1 mes
Puntos: 0
he solucionado ese problema tambien yo con estilos, pero ahora me surge otro

necesito listar una serie de productos para que aparezcan alineados, pero el problema es que si pongo el nombre del producto y 5 espacios luego precio, al devolver la consulta de mysql, solo me toma en cuenta 1 espacio , la otra opcion es usar &nbsp en lugar de cada espacio, pero perderia miles de horas en un catalogo extenso, existe algun codigo o aplicación java que haga que los espacios introducidos en un formulario, despues sean reconocidos al devolver la consulta? Gracias
  #20 (permalink)  
Antiguo 15/08/2005, 22:04
Avatar de radarcba  
Fecha de Ingreso: mayo-2005
Ubicación: ureleando
Mensajes: 505
Antigüedad: 12 años, 6 meses
Puntos: 3
Importtex, no termino de entender el problema. Como mostras la consulta? para que necesitas los espacios?
__________________
Maldición va a ser un día hermoso... PR
Tetris, correo & TU IP
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:18.