Foros del Web » Programando para Internet » PHP »

Cómo ordenrar resultados en columnas en una tabla html

Estas en el tema de Cómo ordenrar resultados en columnas en una tabla html en el foro de PHP en Foros del Web. Amigos, gracias por su tiempo ante todo. Quiero preguntarles cómo podría hacer esto dentro de un bucle while o for, para no tener que copiar ...
  #1 (permalink)  
Antiguo 26/09/2011, 13:06
Avatar de arielcasanova  
Fecha de Ingreso: octubre-2004
Ubicación: Bahía Blanca - Argentina
Mensajes: 332
Antigüedad: 20 años, 1 mes
Puntos: 1
Cómo ordenrar resultados en columnas en una tabla html

Amigos, gracias por su tiempo ante todo. Quiero preguntarles cómo podría hacer esto dentro de un bucle while o for, para no tener que copiar todas las veces el código. la cantidad de registros que puedo obtener de la db puede variar entre 10 y 200. Lo que yo quiero es que me complete primero una columna, luego siga por la otra y así.
Pego el código, y al final pego el código de lo que me muestra esta consulta en particular.
Código:
 <div style="width:150px; float:left;">
 <table border="1" width="150">
 <tr>
 <td width="50">EM</td>
 <td width="50">AE</td>
 <td width="50">TD</td>
 </tr>
<?php
$cons1 = "Select *, est.nombre as nombre_em from ambiental_fichas_sectores sec
	  inner join ambiental_fichas_estaciones est on
	  sec.id=est.id_sector where sec.id_ficha='2'
	  order by est.nombre limit 0,17";
$rs1=mysql_query($cons1, $conexion);

 
for ($i = 1; $i<= 18; $i++)
{
    $reg1 = mysql_fetch_array($rs1);
?>
    <tr>
        <td><?php echo $reg1['nombre_em']; ?></td>
        <td> </td>
        <td> </td>
    </tr>
<?php 
}
?>
</table>
</div>
 <div style="width:150px; float:left;">
 <table border="1" width="150">
 <tr>
 <td width="50">EM</td>
 <td width="50">AE</td>
 <td width="50">TD</td>
 </tr>
<?php
$cons1 = "Select *, est.nombre as nombre_em from ambiental_fichas_sectores sec
	  inner join ambiental_fichas_estaciones est on
	  sec.id=est.id_sector where sec.id_ficha='2'
	  order by est.nombre limit 18,36";
$rs1=mysql_query($cons1, $conexion);

 
for ($i = 1; $i<= 18; $i++)
{
    $reg1 = mysql_fetch_array($rs1);
?>
    <tr>
        <td><?php echo $reg1['nombre_em']; ?></td>
        <td> </td>
        <td> </td>
    </tr>
<?php 
}
?>
</table>
</div>

 <div style="width:150px; float:left;">
 <table border="1" width="150">
 <tr>
 <td width="50">EM</td>
 <td width="50">AE</td>
 <td width="50">TD</td>
 </tr>
<?php
$cons1 = "Select *, est.nombre as nombre_em from ambiental_fichas_sectores sec
	  inner join ambiental_fichas_estaciones est on
	  sec.id=est.id_sector where sec.id_ficha='2'
	  order by est.nombre limit 37,55";
$rs1=mysql_query($cons1, $conexion);

 
for ($i = 1; $i<= 18; $i++)
{
    $reg1 = mysql_fetch_array($rs1);
?>
    <tr>
        <td><?php echo $reg1['nombre_em']; ?></td>
        <td> </td>
        <td> </td>
    </tr>
<?php 
}
?>
</table>
Código:
 <div style="width:150px; float:left;">
 <table border="1" width="150">
 <tr>
 <td width="50">EM</td>
 <td width="50">AE</td>
 <td width="50">TD</td>

 </tr>
    <tr>
        <td>COC-1</td>
        <td> </td>
        <td> </td>
    </tr>
    <tr>

        <td>COC-10</td>
        <td> </td>
        <td> </td>
    </tr>
    <tr>
        <td>COC-11</td>
        <td> </td>

        <td> </td>
    </tr>
    <tr>
        <td>COC-12</td>
        <td> </td>
        <td> </td>
    </tr>

    <tr>
        <td>COC-13</td>
        <td> </td>
        <td> </td>
    </tr>
    <tr>
        <td>COC-14</td>

        <td> </td>
        <td> </td>
    </tr>
    <tr>
        <td>COC-15</td>
        <td> </td>
        <td> </td>

    </tr>
    <tr>
        <td>COC-16</td>
        <td> </td>
        <td> </td>
    </tr>
    <tr>

        <td>COC-17</td>
        <td> </td>
        <td> </td>
    </tr>
    <tr>
        <td>COC-18</td>
        <td> </td>

        <td> </td>
    </tr>
    <tr>
        <td>COC-19</td>
        <td> </td>
        <td> </td>
    </tr>

    <tr>
        <td>COC-2</td>
        <td> </td>
        <td> </td>
    </tr>
    <tr>
        <td>COC-20</td>

        <td> </td>
        <td> </td>
    </tr>
    <tr>
        <td>COC-21</td>
        <td> </td>
        <td> </td>

    </tr>
    <tr>
        <td>COC-22</td>
        <td> </td>
        <td> </td>
    </tr>
    <tr>

        <td>COC-23</td>
        <td> </td>
        <td> </td>
    </tr>
    <tr>
        <td>COC-24</td>
        <td> </td>

        <td> </td>
    </tr>
    <tr>
        <td></td>
        <td> </td>
        <td> </td>
    </tr>

</table>
</div>
 <div style="width:150px; float:left;">
 <table border="1" width="150">
 <tr>
 <td width="50">EM</td>
 <td width="50">AE</td>
 <td width="50">TD</td>

 </tr>
    <tr>
        <td>COC-26</td>
        <td> </td>
        <td> </td>
    </tr>
    <tr>

        <td>COC-27</td>
        <td> </td>
        <td> </td>
    </tr>
    <tr>
        <td>COC-28</td>
        <td> </td>

        <td> </td>
    </tr>
    <tr>
        <td>COC-29</td>
        <td> </td>
        <td> </td>
    </tr>

    <tr>
        <td>COC-3</td>
        <td> </td>
        <td> </td>
    </tr>
    <tr>
        <td>COC-30</td>

        <td> </td>
        <td> </td>
    </tr>
    <tr>
        <td>COC-31</td>
        <td> </td>
        <td> </td>

    </tr>
    <tr>
        <td>COC-32</td>
        <td> </td>
        <td> </td>
    </tr>
    <tr>

        <td>COC-33</td>
        <td> </td>
        <td> </td>
    </tr>
    <tr>
        <td>COC-34</td>
        <td> </td>

        <td> </td>
    </tr>
    <tr>
        <td>COC-35</td>
        <td> </td>
        <td> </td>
    </tr>

    <tr>
        <td>COC-36</td>
        <td> </td>
        <td> </td>
    </tr>
    <tr>
        <td>COC-37</td>

        <td> </td>
        <td> </td>
    </tr>
    <tr>
        <td>COC-38</td>
        <td> </td>
        <td> </td>

    </tr>
    <tr>
        <td>COC-39</td>
        <td> </td>
        <td> </td>
    </tr>
    <tr>

        <td>COC-4</td>
        <td> </td>
        <td> </td>
    </tr>
    <tr>
        <td>COC-40</td>
        <td> </td>

        <td> </td>
    </tr>
    <tr>
        <td>COC-41</td>
        <td> </td>
        <td> </td>
    </tr>

</table>
</div>

 <div style="width:150px; float:left;">
 <table border="1" width="150">
 <tr>
 <td width="50">EM</td>
 <td width="50">AE</td>
 <td width="50">TD</td>

 </tr>
    <tr>
        <td>COC-43</td>
        <td> </td>
        <td> </td>
    </tr>
    <tr>

        <td>COC-44</td>
        <td> </td>
        <td> </td>
    </tr>
    <tr>
        <td>COC-45</td>
        <td> </td>

        <td> </td>
    </tr>
    <tr>
        <td>COC-46</td>
        <td> </td>
        <td> </td>
    </tr>

    <tr>
        <td>COC-47</td>
        <td> </td>
        <td> </td>
    </tr>
    <tr>
        <td>COC-48</td>

        <td> </td>
        <td> </td>
    </tr>
    <tr>
        <td>COC-49</td>
        <td> </td>
        <td> </td>

    </tr>
    <tr>
        <td>COC-5</td>
        <td> </td>
        <td> </td>
    </tr>
    <tr>

        <td>COC-50</td>
        <td> </td>
        <td> </td>
    </tr>
    <tr>
        <td>COC-51</td>
        <td> </td>

        <td> </td>
    </tr>
    <tr>
        <td>COC-52</td>
        <td> </td>
        <td> </td>
    </tr>

    <tr>
        <td>COC-53</td>
        <td> </td>
        <td> </td>
    </tr>
    <tr>
        <td>COC-54</td>

        <td> </td>
        <td> </td>
    </tr>
    <tr>
        <td>COC-55</td>
        <td> </td>
        <td> </td>

    </tr>
    <tr>
        <td>COC-56</td>
        <td> </td>
        <td> </td>
    </tr>
    <tr>

        <td>COC-57</td>
        <td> </td>
        <td> </td>
    </tr>
    <tr>
        <td>COC-6</td>
        <td> </td>

        <td> </td>
    </tr>
    <tr>
        <td>COC-7</td>
        <td> </td>
        <td> </td>
    </tr>

</table>
</div>
__________________
Ariel Casanova
diseño y desarrollo web estratégico
www.emporia.com.ar
  #2 (permalink)  
Antiguo 26/09/2011, 13:52
 
Fecha de Ingreso: abril-2011
Mensajes: 33
Antigüedad: 13 años, 6 meses
Puntos: 7
Respuesta: Cómo ordenrar resultados en columnas en una tabla html

Haces un bucle a las lineas de los resultados de la tabla con el mysql_fetch_array y la consulta a la base de datos y asi pones $reg["nom"] e imprimes todas la veces que este en la base de datos el campo nom, esto hacerlo sin consultas a la base de datos es muy tedioso.
  #3 (permalink)  
Antiguo 27/09/2011, 08:20
Avatar de arielcasanova  
Fecha de Ingreso: octubre-2004
Ubicación: Bahía Blanca - Argentina
Mensajes: 332
Antigüedad: 20 años, 1 mes
Puntos: 1
Respuesta: Cómo ordenrar resultados en columnas en una tabla html

Flashback, gracias por tu respuesta, pero creo que no me has entendido bien. De todos modos, seguí avanzando y llegué hasta esto, que no me funciona, pero me parece mejor orientado.

Código:
<?php
$sql = "Select *, est.nombre as nombre_em from ambiental_fichas_sectores sec
	  inner join ambiental_fichas_estaciones est on
	  sec.id=est.id_sector where sec.id_ficha='2'
	  order by est.nombre";
$result=mysql_query($sql, $conexion);
$cantidad= mysql_num_rows($result);

if ($cantidad<=18) 
{?>
 <div style="width:150px; float:left;">
 <table border="1" width="150">
 <tr>
 <td width="50">EM</td>
 <td width="50">AE</td>
 <td width="50">TD</td>
 </tr>
<?php
$cons1 = 
	"Select *, est.nombre as nombre_em from ambiental_fichas_sectores sec
	  inner join ambiental_fichas_estaciones est on
	  sec.id=est.id_sector where sec.id_ficha='2'
	  order by est.nombre";
 $rs[0]=mysql_query($cons1, $conexion); 
 
 
for ($i = 1; $i<= 18; $i++)
{
    $reg1 = mysql_fetch_array($rs[$consultas]);
?>
    <tr>
        <td><?php echo $reg1['nombre_em']; ?></td>
        <td> </td>
        <td> </td>
    </tr>
<?php 
}
?>
</table>
</div>
<?php 
	  
}
else
{
$consultas=ceil(($cantidad/18)); 
for ($i = 0; $i<= $consultas; $i++)
?>
 <div style="width:150px; float:left;">
 <table border="1" width="150">
 <tr>
 <td width="50">EM</td>
 <td width="50">AE</td>
 <td width="50">TD</td>
 </tr>
<?php 
$limit=(18*$consultas);
$limit2=((18*$consultas)+18); 
$limit3="$limit, $limit2"; 
$cons[$consultas] = "Select *, est.nombre as nombre_em from
ambiental_fichas_sectores sec
       inner join ambiental_fichas_estaciones est on
       sec.id=est.id_sector where sec.id_ficha='2'
       order by est.nombre limit $limit3";
 $rs[$consultas]=mysql_query($cons[$consultas], $conexion); 




 
for ($i = 1; $i<= 18; $i++)
{
    $reg1 = mysql_fetch_array($rs[$consultas]);
?>
    <tr>
        <td><?php echo $reg1['nombre_em']; ?></td>
        <td> </td>
        <td> </td>
    </tr>
<?php 
}
?>
</table>
</div>
<?php } ?>
__________________
Ariel Casanova
diseño y desarrollo web estratégico
www.emporia.com.ar
  #4 (permalink)  
Antiguo 27/09/2011, 08:39
 
Fecha de Ingreso: agosto-2011
Ubicación: Viña del Mar, Chile
Mensajes: 311
Antigüedad: 13 años, 2 meses
Puntos: 50
Respuesta: Cómo ordenrar resultados en columnas en una tabla html

no leí todo tu código pero según lo que entendí es que quieres listar todos los registros de una consulta en una tabla, si es así sólo debes hacer algo como esto:

Código HTML:
<?php do { ?>
          <tr>
            <td><?php echo $row_result['nombnre_em']; ?></td>
        </tr>
<?php } while ($row_result = mysql_fetch_assoc($result)); ?> 

espero sea lo que estabas buscando hacer, saludos
  #5 (permalink)  
Antiguo 27/09/2011, 08:57
Avatar de arielcasanova  
Fecha de Ingreso: octubre-2004
Ubicación: Bahía Blanca - Argentina
Mensajes: 332
Antigüedad: 20 años, 1 mes
Puntos: 1
Respuesta: Cómo ordenrar resultados en columnas en una tabla html

ya lo resolví
Código:
<?php
$sql = "Select *, est.nombre as nombre_em from ambiental_fichas_sectores sec
	  inner join ambiental_fichas_estaciones est on
	  sec.id=est.id_sector where sec.id_ficha='$id_ficha'
	  order by est.nombre";
$result=mysql_query($sql, $conexion);
$cantidad= mysql_num_rows($result);

if ($cantidad<=18) 
{?>
 <div style="width:150px; float:left;">
 <table border="1" width="150">
 <tr>
 <td width="50">EM</td>
 <td width="50">AE</td>
 <td width="50">TD</td>
 </tr>
<?php
$cons1 = 
	"Select *, est.nombre as nombre_em from ambiental_fichas_sectores sec
	  inner join ambiental_fichas_estaciones est on
	  sec.id=est.id_sector where sec.id_ficha='$id_ficha'
	  order by est.nombre";
 $rs=mysql_query($cons1, $conexion); 
if ($row = mysql_fetch_array($rs))
{ 
mysql_field_seek($rs,0); 
do 
{ 
?>
    <tr>
        <td><?php echo $row['nombre_em']; ?></td>
        <td> </td>
        <td> </td>
    </tr>
	
<?php
} 
while ($row = mysql_fetch_array($rs)); 
}
?>	
</table>
</div><?php
	  
}
else
{

$consultas=floor(($cantidad/18)); 
for ($i = 0; $i<= $consultas; $i++)
{


?>
 <div style="width:150px; float:left;">
 <table border="1" width="150">
 <tr>
 <td width="50">EM</td>
 <td width="50">AE</td>
 <td width="50">TD</td>
 </tr>
<?php 
if ($limit=="") { $limit="0"; } else { $limit=$limit+18;}
$limit2=18;
$limit3="$limit, $limit2"; 
$cons[$consultas] = "
Select *, est.nombre as nombre_em from
ambiental_fichas_sectores sec
inner join ambiental_fichas_estaciones est on
sec.id=est.id_sector where sec.id_ficha='2'
order by est.id limit $limit3";
$rs[$consultas]=mysql_query($cons[$consultas], $conexion);  
if ($row = mysql_fetch_array($rs[$consultas]))
{ 
mysql_field_seek($rs[$consultas],0); 
do 
{ 
?>
    <tr>
        <td><?php echo $row['nombre_em']; ?></td>
        <td> </td>
        <td> </td>
    </tr>
	
<?php
} 
while ($row = mysql_fetch_array($rs[$consultas])); 
}
?>	
</table>
</div>
<?php } 






}
?>
__________________
Ariel Casanova
diseño y desarrollo web estratégico
www.emporia.com.ar
  #6 (permalink)  
Antiguo 27/09/2011, 08:59
Avatar de arielcasanova  
Fecha de Ingreso: octubre-2004
Ubicación: Bahía Blanca - Argentina
Mensajes: 332
Antigüedad: 20 años, 1 mes
Puntos: 1
Respuesta: Cómo ordenrar resultados en columnas en una tabla html

Cita:
Iniciado por snowmanchip Ver Mensaje
no leí todo tu código pero según lo que entendí es que quieres listar todos los registros de una consulta en una tabla, si es así sólo debes hacer algo como esto:

Código HTML:
<?php do { ?>
          <tr>
            <td><?php echo $row_result['nombnre_em']; ?></td>
        </tr>
<?php } while ($row_result = mysql_fetch_assoc($result)); ?> 

espero sea lo que estabas buscando hacer, saludos
Bueno, tampoco era eso! pero gracias de todos modos, ahí postee mi solución final.
saludos!
__________________
Ariel Casanova
diseño y desarrollo web estratégico
www.emporia.com.ar

Etiquetas: columnas, html, mysql, registro, resultados, 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 12:38.