Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   PHP (https://www.clubdelphi.com/foros/forumdisplay.php?f=15)
-   -   Mostrar los datos por n columnas hacia abajo (https://www.clubdelphi.com/foros/showthread.php?t=61736)

enecumene 20-11-2008 03:47:32

Mostrar los datos por n columnas hacia abajo
 
Hola, tengo este pequeño código:

Código PHP:

@ $db=mysql_pconnect($host,$user,$pass);
mysql_select_db($data, $db);
$consulta ="sentencia sql"; 
$resultado=mysql_query($consulta);

while (
$row = mysql_fetch_object ($resultado)) { 
echo 
'<table border="0" cellpadding="0" cellspacing="3" width="100%">
         <tr>
           <td width="100%" valign="top"><div align="center">' 
,$row->Name, '</div></td>          
         </tr></table>'
;
} 

el resultado me lo muestra en una sola columna hacia abajo, ¿como puedo hacer que me lo muestre por n columnas hacia abajo por ejemplo 6 columnas que empiece de izquierda a derecha hacia abajo?.

Saludos.

enecumene 20-11-2008 15:23:10

:confused: :confused: :confused: :confused: :confused:

Julián 20-11-2008 17:47:46

a ver.. creo que, o te faltan datos en la exposición del problema o no te has explicado bien:

¿cual de estas tres cosas es la quires hacer?

[a] la consulta tiene 6 campos y quieres mostrar el resultado en una tabla con 6 columnas (una columna por campo).

[b] la consulta solo tiene un campo y quieres mostrar el resultado en una tabla con 6 columnas, de manera que cada 6 iteraciones del bucle comiences una nueva fila.

[c] Ninguna de las anteriores.

Si la respuesta es [a]
Código PHP:

<table>
<?
while ($row = mysql_fetch_object ($resultado)) 
{ 
  
?>
  <tr>
  <td><?=$row->campo1?></td>
  <td><?=$row->campo2?></td>
  <td><?=$row->campo3?></td>
  <td><?=$row->campo4?></td>
  <td><?=$row->campo5?></td>
  <td><?=$row->campo6?></td>
  </tr>
  <?
} 
?>
</table>

Si la respuesta es [b]
Código PHP:

<table>
<tr>
<?
$col 
= 0;
while (
$row = mysql_fetch_object ($resultado)) 
{ 
  
$col++;
  
?><td><?=$row->Name?></td><?
  
if ($col==6)
  {
    
$col=0; 
    
?></tr><tr><?
  
}
} 
?>
</tr>
</table>


Si la respuesta es [c]

...... ?? ....

enecumene 20-11-2008 18:09:16

¡Gracias Julián!, es la opción ( b ), el código queda así:

Código PHP:

@ $db=mysql_pconnect($host,$user,$pass);
mysql_select_db($data, $db);
$consulta ="sentencia sql"; 
$resultado=mysql_query($consulta);
$col = 0;    

echo 
'<table border="0" cellpadding="0" cellspacing="3" width="100%">
         <tr>'
;
while (
$row = mysql_fetch_object ($resultado)) { 
         
$col++;
           echo 
'<td>', $row->Name, '</td>';
  if (
$col==6)
  {
    
$col=0; 
    echo 
'</tr><tr>';
  }
}

echo 
'
</tr>
</table>'
;
         
echo 
'
</td>
</tr>
</table><br /><br />
'
;
} 

Saludos.

Julián 20-11-2008 19:49:07

Podrías, para escribir html, en lugar de usar el echo, o el print(), de esta manera:
Código PHP:

echo '<table border="0" cellpadding="0" cellspacing="3" width="100%">
         <tr>'
; 

hacerlo de esta otra
Código PHP:


?><table border="0" cellpadding="0" cellspacing="3" width="100%"><tr><?

Es decir, saliendose momentaneamente del interprete php. Ademas de mas eficiente, pues es un trabajo que le ahorras al php, queda mas elegante y legible, ¿o no?

enecumene 20-11-2008 22:59:36

Tienes razón Julián, ya está corregido, de nuevo muchas gracias.

Saludos.


La franja horaria es GMT +2. Ahora son las 06:00:01.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi