Foros del Web » Programando para Internet » PHP »

Saber el ancho de una tabla

Estas en el tema de Saber el ancho de una tabla en el foro de PHP en Foros del Web. Saludos, primero que todo, no sé si este sea el lugar donde plantear este problema... le pido a los moderadores que lo muevan en caso ...
  #1 (permalink)  
Antiguo 13/10/2011, 05:44
Avatar de Nox
Nox
 
Fecha de Ingreso: diciembre-2004
Ubicación: Viña del Mar
Mensajes: 72
Antigüedad: 19 años, 10 meses
Puntos: 1
Saber el ancho de una tabla

Saludos, primero que todo, no sé si este sea el lugar donde plantear este problema... le pido a los moderadores que lo muevan en caso de ser necesario.

Les cuento, me gustaría poder saber el ancho de una tabla en la que se van agregando <td> hacia el lado con contenido extraído de una base de datos, para que cuando el ancho de la tabla llegue a su máximo, se haga un <tr> y se comience a llenar la tabla pero ahora una fila para abajo.

Me imagino que debería quedar algo similar a esto:

Código:
echo "<table>";
echo "<tr>";
while (LECTURA_DE_BD) {
  echo "<td>";
  echo $contenido_de_la_bd,
  echo "</td>";
  if (SI_LA_TABLA_SE_LLENA_HACIA_EL_LADO) {
    echo "</tr><tr>";
  }
}
echo "</tr>";
echo "</table>";
El problema cae, en que los <td> pueden variar su tamaño lo suficiente como para no poder ponerle un tamaño fijo y por ende, no saber el número exacto de <td> que se requieren para llenar la tabla.

De antemano, muchas gracias por su ayuda :D
__________________
todo es serio y ordenado, todo es racional y programado, precisamente porque todo es falso e ilusorio
  #2 (permalink)  
Antiguo 13/10/2011, 06:22
Avatar de cuasatar  
Fecha de Ingreso: junio-2011
Ubicación: Bogotá Rock City
Mensajes: 1.230
Antigüedad: 13 años, 4 meses
Puntos: 181
Respuesta: Saber el ancho de una tabla

Yo he trabajado con tablas en php y entiendo mas o menos la que se lia cuando el ancho llega a un máximo y se ve feo el diseño. Mi primera pregunta es: Porque lo que recibes de la base de datos no lo puedes escribir en un mismo renglon de la tabla? Yo he trabajado haciendo blogs y he metido mucha información en una fila sin problemas. Lo que hago es colocar la tabla dentro de un div y a este div forzarle un tamaño fijo usando css con el fin de que si sale mas información no se descuadre el tamaño y no se vea mal.

Otra cosa que podrias hacer si en verdad quieres pasar la información a un renglon nuevo es contar el número de caracteres que trae la información. En caso de que se pase un cierto número (dependera el tamaño de la fuente y el espacio que tengas para escribir) pues se le dice que pase a un nuevo renglon. Aunque esto no lo veo muy práctico.

Espero que te sirva de ayuda. Cualquier cosa ya nos comentaras como te fue.
  #3 (permalink)  
Antiguo 13/10/2011, 07:00
Avatar de Nox
Nox
 
Fecha de Ingreso: diciembre-2004
Ubicación: Viña del Mar
Mensajes: 72
Antigüedad: 19 años, 10 meses
Puntos: 1
Respuesta: Saber el ancho de una tabla

el problema de hacerlo con un tamaño fijo es que en una tabla de digamos, 600px de ancho, podrían haber 20 cajas con texto cada una de aproximadamente 100px de ancho... lo que haría que la caja se deformara mucho (1400px más)...

la idea de contar los caracteres me pareció una idea complicada, pero tal vez pueda funcionar :O
__________________
todo es serio y ordenado, todo es racional y programado, precisamente porque todo es falso e ilusorio
  #4 (permalink)  
Antiguo 13/10/2011, 08:56
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Saber el ancho de una tabla

Desde PHP no puedes saber el ancho de la tabla, ya que eso se calcula ya en el cliente (Browser), lo que puedes hacer tu es definir el número máximo de celdas que quieras, y en base a eso insertar el TR:

Código PHP:
Ver original
  1. $numColumnas = 10;
  2. $contador = 0;
  3.  
  4. echo "<table>";
  5. echo "<tr>";
  6. while (LECTURA_DE_BD) {
  7.   $numColumnas++;
  8.   echo "<td>";
  9.   echo $contenido_de_la_bd,
  10.   echo "</td>";
  11.   if (($contador % $numColumnas) == 0) {
  12.     echo "</tr><tr>";
  13.   }
  14. }
  15. echo "</tr>";
  16. echo "</table>";

Saludos.
  #5 (permalink)  
Antiguo 13/10/2011, 08:59
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 3 meses
Puntos: 2237
Respuesta: Saber el ancho de una tabla

Con PHP lo mas que podras hacer es calcular las dimensiones, de acuerdo a tu diseño, pero... que pasa si el usuario tiene configurado su navegador para mostrar las fuentes mas grandes?

Sugierote que en vez de usar tablas uses divs flotantes y los saltos se haran automaticamente, ademas de que te quedara un HTML mas limpio y semantico, lo que, en teoria, te ayudara a posicionar mejor en buscadores.
__________________
- León, Guanajuato
- GV-Foto

Etiquetas: ancho, tabla
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 21:41.