• Publicidad

Necesito llenar tres columnas

¿Ya sabes lo que es una referencia? Has progresado, el nível básico es cosa del pasado y ahora estás listo para el siguiente nivel.

Necesito llenar tres columnas

Notapor caribesoft » 2007-07-13 16:36 @733

Hola Amigos Perlianos :

Estoy haciendo un script, el cual lee el contenido de una tabla Mysql y tiene que crear un diseño en HTML de tres columnas. Estoy utilizando CSS para crear el layout.

Mi problema es que no sé cómo validar, si ya se lleno la primera columna, se pase a la segunda columna, luego a la tercera.

Existe algo así como un contador de caracteres, líneas o algo, por medio del cual pueda llevar el conteo.

La idea es que toda la información quede desplegada en una hoja tamaño carta, dividida en tres columnas. Partiendo de la parte superior de columna de la izquierda, luego la del centro y al final la de la derecha.

Alguien me puede dar una idea o tip, ya se me congeló el sistema en estos momentos...
Mil gracias,

Caribesoft. 8)
caribesoft
Perlero nuevo
Perlero nuevo
 
Mensajes: 73
Registrado: 2006-05-09 22:01 @959
Ubicación: Cancun

Publicidad

Notapor kidd » 2007-07-13 17:09 @756

Hola:

Los caracteres los puedes contar con Perl o si lo quieres hacer del lado del cliente con JavaScript, pero aún no entiendo completamente lo que quieres lograr por lo que no puedo darte una respuesta más específica.

Saludos
Uriel Lizama Perl programmer fundador de Perl en Español
Perl Programming Language
Avatar de Usuario
kidd
Creador de Perl en Español
Creador de Perl en Español
 
Mensajes: 1166
Registrado: 2003-10-15 16:52 @744
Ubicación: México

Notapor explorer » 2007-07-13 18:05 @795

Yo eso lo hice hace años:
http://www.guiacolor.com.es/VALLADOLID/epigrafe_A.html

La solución fue muy sencilla. Primero hay que averiguar cuántos elementos hay que pintar. Luego se divide por 3 y ese es el número de elementos que hay que pintar por celda.

La tabla son 3 celdas, alineado el texto superiormente.

Ojo, hay que tener cuidado con los redondeos, porque sino, puede darse el caso de que la tercera columna se quede con menos elementos de los que le corresponde.

Lo ideal es que en HTML existiera algo como 'flujo de texto' que es lo que tienen los programas de autoedición, pero no creo que exista todavía, ni siquiera con el último CSS publicado.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor caribesoft » 2007-07-13 19:09 @840

Gracias por su pronta respuesta, esto es lo que necesito, voy leyendo la tabla Mysql, la longitud de los campos es variable, y tengo que ir construyendo la tabla de 3 columnas en HTML. Pero cuando llego al limite de la columna 1, tengo que empezar con la columna 2 y asi sucesivamente.

Imagen



Saludos,

Caribesoft.
caribesoft
Perlero nuevo
Perlero nuevo
 
Mensajes: 73
Registrado: 2006-05-09 22:01 @959
Ubicación: Cancun

Notapor explorer » 2007-07-13 20:51 @910

Repito lo de antes: no creo que puedas saber la altura de las columnas si no sabes antes la altura total.

Y el ancho de los campos, si es variable, lo complica mucho más. Pero mucho, mucho. Si el campo supera el ancho de una columna, es muy, muy difícil calcular el total. Una posibilidad sería:

* Elegir una fuente de letras que se SUPONE que va a usar el cliente
* Vamos a trabajar en un determinado ancho de pantalla, por lo que podemos deducir el ancho en píxeles de las columnas.
* Las fuentes de letras dan información de sus caracteres, pero lo ideal es obtener el ancho que va a ocupar el campo.
* La función string_width() del módulo Font::TTFMetrics da el ancho del string (otros módulos también lo hacen. Y también el paquete gráfico GD. Ahora no recuerdo si el ImageMagick también).

Con estos elementos, sería posible llevar una cuenta APROXIMADA de lo que está ocupando toda la información. Una vez sabido el tamaño en vertical, es relativamente sencillo dividirlo en 3 partes.

Pero...

¿Cómo sabemos el ancho que tendrá un campo en la pantalla de un cliente, si no sabremos NUNCA con qué tipo de letra lo está viendo?

¿Y si tiene un monitor de 26 pulgadas? Las 3 columnas aparecerán muy separadas. ¿Y si usa un teléfono móvil? En ese caso sólo necesita ver toda la información en sólo una columna.

Hacen falta más detalles de los requerimientos.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España


Volver a Intermedio

¿Quién está conectado?

Usuarios navegando por este Foro: Bing [Bot] y 10 invitados

cron