Foros del Web » Programando para Internet » PHP »

[mysql]Como ajustar tabla según nº registros

Estas en el tema de [mysql]Como ajustar tabla según nº registros en el foro de PHP en Foros del Web. Hola foros del web, estoy creando una web y necesito que me muestre una tabla simétrica, los resultados son cambiantes y hay esta el problema... ...
  #1 (permalink)  
Antiguo 21/12/2013, 03:03
 
Fecha de Ingreso: agosto-2010
Mensajes: 17
Antigüedad: 14 años, 2 meses
Puntos: 0
Pregunta [mysql]Como ajustar tabla según nº registros

Hola foros del web, estoy creando una web y necesito que me muestre una tabla simétrica, los resultados son cambiantes y hay esta el problema... por ahora tengo este código pero no sirve:

Código:
echo '<table border="0" cellpadding="1" cellspacing="5" width="60%" align="center">';
                            $link = mysql_connect($dbhost, $dbuser, $dbpassword);
                            mysql_select_db($gs, $link);
                            $result = mysql_query("SELECT * FROM tabla", $link);
                            $columnes = 0;
                            $resultado=$columnes/2;$resultado_temp=round($resultado,0);
                            $par=$resultado-$resultado_temp; 
                            if (($rows = mysql_num_rows($result)) == 0) {
                                echo "<tr><td colspan=$columnes>No hay registros en la DB.</td></tr> ";
                            }
                            if ($par==0){
                                $columnes = 3;
                            }else{
                                $columnes = 2;
                            }
                            for ($i = 1; $row = mysql_fetch_row($result); $i++) {
                                $resto = ($i % $columnes);
                                if ($resto == 1) {
                                    echo "<tr align='center'>";
                                }
                                echo "<td align='center'>$row[1]</td>";
                                if ($resto == 0) {
                                    echo "</tr>";
                                }
                            }
                            if ($resto <> 0) {
                                $ajust = $columnes - $resto;
                                for ($j = 0; $j < $ajust; $j++) {
                                    echo "<td align='center'>&nbsp;</td>";
                                }
                                echo "</tr>";</tr>
                            }
                            mysql_close($link);
                            echo "</table>";
Me gustaría que las columnas tuvieran siempre la misma cantidad de registros en cada una de ellas sin celdas vacías...es posible?

Última edición por jjbreaker; 21/12/2013 a las 03:14
  #2 (permalink)  
Antiguo 21/12/2013, 04:46
Avatar de JuanPabloArrebillaga  
Fecha de Ingreso: diciembre-2013
Ubicación: Córdoba
Mensajes: 46
Antigüedad: 10 años, 11 meses
Puntos: 0
Respuesta: [mysql]Como ajustar tabla según nº registros

Puedes convertir el numero del resultado en decimal, y luego usar la función floor o ceil para redondearlo hacia arriba o abajo así te quedaría un numero redondeado (ejemplo: 40, 30, 20 automáticamente se redondearía) y calcula que te ocupe todas las celdas.

Saludos
__________________
Medir el progreso de la programación por líneas de código es como medir el progreso en la construcción de aviones por el peso.
  #3 (permalink)  
Antiguo 21/12/2013, 05:50
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: [mysql]Como ajustar tabla según nº registros

Una nota, antes que metas la pata.
¿Tienes claro que la primera posicion de un array es el cero (0) y no el uno (1)?
Te lo digo porque esto:
Código PHP:
 for ($i 1$row mysql_fetch_row($result); $i++) { 
recorre el array devuelto desde el segundo registro y no desde el primero. Y si la consulta devolviese un único registro, se dispararía un error de indice inexistente.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: mysql, registro, registros, según, select, 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 08:44.