Foros del Web » Programando para Internet » PHP »

como mostrar resultados por columnas?

Estas en el tema de como mostrar resultados por columnas? en el foro de PHP en Foros del Web. Hola tengo un script al cual me gustaria cambiarle la forma de presentar los resultados, me gustaria que lo haga por columnas de esta forma ...
  #1 (permalink)  
Antiguo 02/12/2006, 11:52
 
Fecha de Ingreso: mayo-2004
Mensajes: 400
Antigüedad: 20 años
Puntos: 0
como mostrar resultados por columnas?

Hola tengo un script al cual me gustaria cambiarle la forma de presentar los resultados, me gustaria que lo haga por columnas de esta forma

en lugar de esto
1
2
3
4
5

que sea asi

1 2 3
4 5 6
7 8 9

claro que los resultados que muestra no son numeros son varios datos id, nombre, etc,. Asi es como los muestra ahora

Código PHP:
if (($d == "") || ($d == 0)) {
        
$d 1;
}
$sqld $d 1;
$sqld *= $limit;
$result $db->sql_query("SELECT * FROM ".$prefix."_video_stream ".$sortby2." ".$sortby1." LIMIT $sqld,$limit");
$rowvid $db->sql_numrows($result);
$result2 $db->sql_query("SELECT * FROM ".$prefix."_video_stream ".$sortby2." ".$sortby1."");
$rowvid2 $db->sql_numrows($result2);

// If videos are in the DB then they are displayed.
if ($rowvid != "0") {

        while(
$row $db->sql_fetchrow$result )) {
                
$userav $row['user'];
                if (
$row['rating'] == "") {$rating "0";} else {$rating $row['rating'];}
                        
$id $row['id'];
                        echo 
"<table width=\"100%\"  border=\"0\" cellspacing=\"5\" cellpadding=\"5\"><tr><td>";
                        
avatars($userav);
                        echo 
"</td><td width=\"100%\"><a href=\"modules.php?name=Video_Stream&amp;page=watch&amp;id=".$row['id']."&amp;d=".$d."\">".$row['vidname']."</a><br>";
                        echo 
"<strong><font size=\"2\">".$row['date']."</font></strong><br>".$row['user']." <a href=\"modules.php?name=Video_Stream&amp;page=search&amp;search=user:".$row['user']."\">["._MOREFROMUSER."]</a></td></tr></table>";
                        echo 
"<table width=\"100%\" border=\"0\" cellspacing=\"5\" cellpadding=\"5\"><tr><td width=\"50%\" valign=\"top\"></td><td align=\"right\" valign=\"top\">";           
                        
category($id);
                        echo 
"</td></tr></table>";

                        echo 
"<table width=\"100%\"  border=\"0\" cellspacing=\"5\" cellpadding=\"5\"><tr><td width=\"98%\">";

                        echo 
"<table border=\"0\" cellspacing=\"0\" cellpadding=\"10\"><tr>";
                        
$image $row['imgurl'];

                if (
$image == "") {
                        echo 
"<td><table border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tr><td><a href=\"modules.php?name=Video_Stream&amp;page=watch&amp;id=".$row['id']."&amp;d=".$d."\"><img src=\"modules/Video_Stream/images/noimage.gif\" border=\"0\"  height=\"150\" alt=\"".$row['vidname']."\"></a></td></tr></table></td>";
                } else{
                        echo 
"<td><table border=\"1\" cellspacing=\"0\" cellpadding=\"0\"><tr><td><a href=\"modules.php?name=Video_Stream&amp;page=watch&amp;id=".$row['id']."&amp;d=".$d."\"><img src=\"".$image."\" border=\"0\"  height=\"150\" alt=\"".$row['vidname']."\"></a></td></tr></table></td>";
                }
                echo 
"<td width=\"80%\" valign=\"top\"><b>"._DESCRIPTION." :</b> ".$row['description']."</td>";  // agregada por mi
                
echo "</tr></table>";

                echo 
"</td><td width=\"100%\" valign=\"top\">";
                echo 
"</td></tr></table><br><div align=\"center\">___________________________________________________________________________";
        }

        
$pages   ceil($rowvid2 $limit);

        echo 
"<table width=\"100%\"  border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tr><td width=\"30%\">";

        if (
$d 1) {
                
$p $d 1;
                echo 
"<div align=\"left\"><a href=\"modules.php?name=Video_Stream&amp;d=".$p."\">"._PREVIOUS."</a></div>";
        } else {
                echo 
"&nbsp;";
        }

        echo 
"</td><td width=\"40%\"><div align=\"center\">";
        
pagesnav($d$pages);
        echo 
"<br>"._PAGE." ".$d."/".$pages."</div></tr><td width=\"30%\">";

        if (
$d $pages) {
                
$d += 1;
                echo 
"<div align=\"right\"><a href=\"modules.php?name=Video_Stream&amp;d=".$d."\">"._NEXT."</a></div>";
        } else {
                echo 
"&nbsp;";
        }


        echo 
"</td></tr></table>";


como veis ya pagina los resultados, solo quiero que me muestre los resultados en 2 o 3 columnas, como podria hacerlo?

Un saludo
  #2 (permalink)  
Antiguo 02/12/2006, 12:20
 
Fecha de Ingreso: julio-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.304
Antigüedad: 18 años, 9 meses
Puntos: 6
Hola,

En las FAQS de este subforo hay un ejemplo de lo que deseas hacer.

__________________
Federico.

Mi página: www.jourmoly.com.ar
  #3 (permalink)  
Antiguo 02/12/2006, 12:54
Avatar de david_M_G  
Fecha de Ingreso: febrero-2005
Mensajes: 938
Antigüedad: 19 años, 2 meses
Puntos: 20
Pues para esto sólo tienes que ingeniártelas con HTML. Si sabes que las tablas empiezan con <table>, que cada fila es <tr> y cada celda es <td>...

Código:
<table>
<tr>
<td> dato 1 </td>
<td> dato 2 </td>
<td> dato 3 </td>
Y cada 3 resultados..... </tr> <tr>     
<td> dato 4 </td>
...
Esto lo puedes hacer poniendo fuera del bucle (while) una variable que contenga el número.

Código PHP:
 $numero 0
Y por cada resultado, incrementas:

Código PHP:
 $numero++; 
Entonces verificas si ha de poner </tr><tr> con un condicional:

Código PHP:
 if ($numero == 3) { 
echo 
"</tr><tr>"
$numero 0//Lo vuelves a poner a 0 para que vuelva a contar hasta 3.

Espero que te sirva para orientarte.
  #4 (permalink)  
Antiguo 02/12/2006, 12:57
 
Fecha de Ingreso: mayo-2004
Mensajes: 400
Antigüedad: 20 años
Puntos: 0
pues si, te lo agradezco porque viendo el de las faqs no se por donde pillarlo, no se mucho de php y al verlo me quede en las mismas, con tu explicacion mas o menos he pillado la idea, solo queda intentarlo.

Muchas gracias
  #5 (permalink)  
Antiguo 03/12/2006, 14:19
Avatar de zvnko  
Fecha de Ingreso: abril-2004
Ubicación: coatzacoalcos
Mensajes: 42
Antigüedad: 20 años
Puntos: 1
jeje xD!

La solucion es algo sencilla, como decia otro usuario debes de ir creando los
Código HTML:
<tr></tr> 
Agregare unas cuentas lineas a tu codigo, checa y estudialo:
Código PHP:
if (($d == "") || ($d == 0)) { 
        
$d 1

$sqld $d 1
$sqld *= $limit
$result $db->sql_query("SELECT * FROM ".$prefix."_video_stream ".$sortby2." ".$sortby1." LIMIT $sqld,$limit"); 
$rowvid $db->sql_numrows($result); 
$result2 $db->sql_query("SELECT * FROM ".$prefix."_video_stream ".$sortby2." ".$sortby1.""); 
$rowvid2 $db->sql_numrows($result2); 
 
// If videos are in the DB then they are displayed. 
if ($rowvid != "0") { 
echo 
"<table border=0 cellspacing=0 cellpading=0>";
        while(
$row $db->sql_fetchrow$result )) { 
if(
$b==0){
echo 
"<tr>";
}
echo 
"<td>";
                
$userav $row['user']; 
                if (
$row['rating'] == "") {$rating "0";} else {$rating $row['rating'];} 
                        
$id $row['id']; 
                        echo 
"<table width=\"100%\"  border=\"0\" cellspacing=\"5\" cellpadding=\"5\"><tr><td>"
                        
avatars($userav); 
                        echo 
"</td><td width=\"100%\"><a href=\"modules.php?name=Video_Stream&amp;page=watch&amp;id=".$row['id']."&amp;d=".$d."\">".$row['vidname']."</a><br>"
                        echo 
"<strong><font size=\"2\">".$row['date']."</font></strong><br>".$row['user']." <a href=\"modules.php?name=Video_Stream&amp;page=search&amp;search=user:".$row['user']."\">["._MOREFROMUSER."]</a></td></tr></table>"
                        echo 
"<table width=\"100%\" border=\"0\" cellspacing=\"5\" cellpadding=\"5\"><tr><td width=\"50%\" valign=\"top\"></td><td align=\"right\" valign=\"top\">";            
                        
category($id); 
                        echo 
"</td></tr></table>"
 
                        echo 
"<table width=\"100%\"  border=\"0\" cellspacing=\"5\" cellpadding=\"5\"><tr><td width=\"98%\">"
 
                        echo 
"<table border=\"0\" cellspacing=\"0\" cellpadding=\"10\"><tr>"
                        
$image $row['imgurl']; 
 
                if (
$image == "") { 
                        echo 
"<td><table border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tr><td><a href=\"modules.php?name=Video_Stream&amp;page=watch&amp;id=".$row['id']."&amp;d=".$d."\"><img src=\"modules/Video_Stream/images/noimage.gif\" border=\"0\"  height=\"150\" alt=\"".$row['vidname']."\"></a></td></tr></table></td>"
                } else{ 
                        echo 
"<td><table border=\"1\" cellspacing=\"0\" cellpadding=\"0\"><tr><td><a href=\"modules.php?name=Video_Stream&amp;page=watch&amp;id=".$row['id']."&amp;d=".$d."\"><img src=\"".$image."\" border=\"0\"  height=\"150\" alt=\"".$row['vidname']."\"></a></td></tr></table></td>"
                } 
                echo 
"<td width=\"80%\" valign=\"top\"><b>"._DESCRIPTION." :</b> ".$row['description']."</td>";  // agregada por mi 
                
echo "</tr></table>"
 
                echo 
"</td><td width=\"100%\" valign=\"top\">"
                echo 
"</td></tr></table><br><div align=\"center\">___________________________________________________________________________"
 
echo 
"</td>";
if(
$b==1){
echo 
"</tr>";
$b=0;
}else{
$b=$b+1;
}
        } 
echo 
"</table>";
        
$pages   ceil($rowvid2 $limit); 
 
        echo 
"<table width=\"100%\"  border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tr><td width=\"30%\">"
 
        if (
$d 1) { 
                
$p $d 1
                echo 
"<div align=\"left\"><a href=\"modules.php?name=Video_Stream&amp;d=".$p."\">"._PREVIOUS."</a></div>"
        } else { 
                echo 
"&nbsp;"
        } 
 
        echo 
"</td><td width=\"40%\"><div align=\"center\">"
        
pagesnav($d$pages); 
        echo 
"<br>"._PAGE." ".$d."/".$pages."</div></tr><td width=\"30%\">"
 
        if (
$d $pages) { 
                
$d += 1
                echo 
"<div align=\"right\"><a href=\"modules.php?name=Video_Stream&amp;d=".$d."\">"._NEXT."</a></div>"
        } else { 
                echo 
"&nbsp;"
        } 
 
 
        echo 
"</td></tr></table>"
 

Si te podras dar cuenta agrege una tabla, arriba de tu while esta declarada una nueva tabla ....

Lo que vamos hacer es mostrar cada registro dentro de un <td>, el otro codigo que agregue te explicare que hace cada uno:
Código PHP:
if($b==0){
echo 
"<tr>";

Este codigo hace que cuando $b sea igual a 0 imprima un <tr>, abajito viene un <td> que se vuelve a cerrar abajo para que cada registro vaya dentro de una celda.

Este otro codigo:
Código PHP:
if($b==1){
echo 
"</tr>";
$b=0;
}else{
$b=$b+1;

Cuando $b tenga cierto valor cerrara esa fila, este numero va a indicar el numero de columnas que se mostraran por fila, es decir, si quieres mostrar 10 columnas de regisotrs en una fila pondras 9 ya que $b inicia en 0, espero le entiendas y que esto te sea de gran ayuda

Por cierto cuando $b tenga ese valor q cierra la volvemos 0 poara que inicie otra fila y asi sucesivamente siempre y cuando haya registros, y pss en caso contrario aumentamos $b hasta que llegue al valor q cierra la fila! xD!

Este ejemplo te muestra los registros en 2 columnas, estudialo y pruebale! xD!

sALUDOS!!
Arriba el americaaa! xD! viva mexicoo!
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 05:49.