Foros del Web » Programando para Internet » PHP »

DUDA - repeat horizontal mostrando 3 resultados por linea

Estas en el tema de DUDA - repeat horizontal mostrando 3 resultados por linea en el foro de PHP en Foros del Web. saludos, si bien yo hago un while para mostrar mis resultados ordenados d esta manera por ejemplo consulta Código PHP: $sql = "SELECT * from categoria ORDER BY nombre ASC" ; $sql_exec ...
  #1 (permalink)  
Antiguo 09/07/2008, 10:44
Avatar de T4ke0veR  
Fecha de Ingreso: agosto-2007
Ubicación: Quito - Ecuador
Mensajes: 1.720
Antigüedad: 16 años, 8 meses
Puntos: 28
DUDA - repeat horizontal mostrando 3 resultados por linea

saludos,
si bien yo hago un while para mostrar mis resultados ordenados d esta manera por ejemplo

consulta
Código PHP:
$sql="SELECT * from categoria ORDER BY nombre ASC";
$sql_exec=mysql_query($sql) or die( "[ERROR] Query: $sql, error: " mysql_error() );
$total mysql_num_rows($sql_exec); 
imprimo
Código PHP:
<?php if ($total 0) { ?>    <?php while($row=mysql_fetch_assoc($sql_exec)){ ?>
        <td align="center"><div align="center"><a href="ficha_cat.php?id_cat=<?php echo $row['id']; ?>"><?php echo $row['nombre']; ?></a> </div></td>
      </tr><?php ?>
          <?php } else {
      echo (
"No hay categorias para mostrar");
?>
esta me muestra los resultados de manera ilimitada pero uno bajo del otro

item1
item2
item3

como declaro o q debo declarar para q mi ciclo sea

item1 item2 item3
item4 item5 item6

y asi hasta llegar a X cantidad?

Gracias
__________________
Diseño gráfico, Web, imagen corporativa, publicidad ...
  #2 (permalink)  
Antiguo 09/07/2008, 11:02
Avatar de T4ke0veR  
Fecha de Ingreso: agosto-2007
Ubicación: Quito - Ecuador
Mensajes: 1.720
Antigüedad: 16 años, 8 meses
Puntos: 28
Respuesta: DUDA - repeat horizontal mostrando 3 resultados por linea

bueno aqui mas o menos voy...
Código PHP:
<?php include('conect.php'):

$n_filas=3;

$fotos = array();

$sql="SELECT * FROM productos ORDER BY ASC";
$sql_exec=mysql_query($sql) or die( "[ERROR] Query: $sql, error: "mysql_error());
$cuenta=mysql_num_rows($sql_exec);    

$vert=$tottal/$n_filas;
$vert=round($vert);
?>
Código PHP:
<?php
        $a
=0;// Colocando el contador horizontal en 0
        
$i=1;// Colocando el contador vertical en 0
        
$w=0;//Colocando un contador para el mensaje de "No hay articulos en esta acategoria"
        
            
while($row=mysql_fetch_assoc($sql_exec)){
            
$w=w+1;
                if (
$a==0){
                echo 
'<tr>';
                }
                
$a=$a+1;
                
$fotos[$i.'-'.$a] = $row['img'];
                
                
//aqui deberia dibujar la tabla pero como?
                
$r=$a;// contador remanente para listar imagenes sin exceso
                
                    
if ($a >= $n_filas) {
                    
$a=0;// reiniciando el contador horizontal
                    
$i=$i+1;// aumentando el contador vertical
                    
echo '</tr>';
                    } 
                
?>
cuando la dibujo de manera visual me tira errores... y en realidad la necesito de manera visual... yo antes lo hacia pero en el dreaweaver en modo design no podia ver lo q hacia... necesito verlo asi :(
__________________
Diseño gráfico, Web, imagen corporativa, publicidad ...
  #3 (permalink)  
Antiguo 09/07/2008, 11:05
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 10 meses
Puntos: 88
Respuesta: DUDA - repeat horizontal mostrando 3 resultados por linea

como veo que usas una tabla, lo único que se me ocurre es que crees un contador para que cada cierto numero de registros te imprime el </tr>, pero ten cuidado porque, por lo que veo estas cerrando el </tr> por cada vuelta del while, pero no veo que lo vuelvas a abrir

ejemplo:
Código PHP:
if ($total > 0) {
    $cont=0;
    while($row=mysql_fetch_assoc($sql_exec)){ ?>
        <td align="center"><div align="center"><a href="ficha_cat.php?id_cat=<?php echo $row['id']; ?>"><?php echo $row['nombre']; ?></a> </div></td>
      <?php if($cont==3){
                  echo 
"</tr>";
                
$cont=0;
            }else{
                
$cont++;
            }
    } 
?>
<?php 
} else {
      echo (
"No hay categorias para mostrar");
saludos.

EDITADO: posteaste mientras escribia, ahora checo lo nuevo que pusiste.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #4 (permalink)  
Antiguo 09/07/2008, 11:05
Avatar de ACX_POISON  
Fecha de Ingreso: abril-2008
Ubicación: Talca-Chile
Mensajes: 750
Antigüedad: 16 años
Puntos: 7
Respuesta: DUDA - repeat horizontal mostrando 3 resultados por linea

Yo he hecho algo parecido pero con dos columnos es simple la forma en que lo hago:

Cita:
//numero de consultas
if($num_img > 0)
{
//escribo el encabezado de la tabla
echo'<div id="Layer1">
<table width="539" height="83" border="0">
<tr>
<td colspan="2" align="center"><span class="Estilo1">'.$titulo.'</span></td>
</tr>';
//yo recorro aqui un array, con froeach pero cambialo por while($A=mysql_fetch_array($sql))
//o algo asi
foreach($A_img as $n => $valor)
{
$ruta="../xxx/$valor";
if($aux%2==0)
{
if($aux_tr%2==0)
{
echo'<tr>';
}
else
{
echo'</tr>';
}
$aux_tr++;
}
else
{
}
$aux++;
echo'

<td>'.Aqui lo que imprimes.'</td>';
}
echo'</table></div>';
}
si quieres en tres columnas deberas cambiar los varlores donde condiciono con MOD(%)

Espero sirva de algo menos.
  #5 (permalink)  
Antiguo 09/07/2008, 11:19
Avatar de T4ke0veR  
Fecha de Ingreso: agosto-2007
Ubicación: Quito - Ecuador
Mensajes: 1.720
Antigüedad: 16 años, 8 meses
Puntos: 28
Respuesta: DUDA - repeat horizontal mostrando 3 resultados por linea

fijense en este q ya habia hecho!!!!
Código PHP:
<?php include('Connections/incomed.php');

// Variables de Configuración -----------------------------------
// Define el numero de Filas
$n_filas=3;

//***************************************************************
@$cat=$_REQUEST['id'];
//$cat=6;

$fotos = array();
        
$sql="SELECT * FROM imagenes where id_pro=".$producto_id."  ORDER BY id ASC";
mysql_select_db ('incomed');
    
$sql_exec=mysql_query($sql);
    function 
imagengrande() 

window.open("verimagen.php?imagen=/iamges2/<?=$imagen;?>""""width=450,height=300"); 
}
    
/*while($row=mysql_fetch_assoc($sql_exec)){
            $tottal=mysql_affected_rows(); // Calculo el numero total de itms a listar
            }*/
$tottal=113;
// ------------------------------------------------------------------------------------------------------------------
$vert=$tottal/$n_filas;
$vert=round($vert);

?>
<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
  <!--DWLayoutTable-->
  <tr>
    <td width="100%" height="80"><table width="100%" height="80" border="0" align="center" cellpadding="0" cellspacing="0">
        
        <?php
        $a
=0;// Colocando el contador horizontal en 0
        
$i=1;// Colocando el contador vertical en 0
        
$w=0;//Colocando un contador para el mensaje de "No hay articulos en esta acategoria"
        
            
while($row=mysql_fetch_assoc($sql_exec)){
            
$w=w+1;
                if (
$a==0){
                echo 
'<tr>';
                }
                
$a=$a+1;
                
$fotos[$i.'-'.$a] = $row['img'];
                
                echo 
"<td height='80' width='53' border='0' ><a href=# onClick=\"window.open('verimagen.php?id=".$row['id']."; ','verimagen', 'width=530,height=470'); return false;\"><img src='images2/".$row['img']."' width='80' height='53' border='0'/></a>";
            
                
$r=$a;// contador remanente para listar imagenes sin exceso
                
                    
if ($a >= $n_filas) {
                    
$a=0;// reiniciando el contador horizontal
                    
$i=$i+1;// aumentando el contador vertical
                    
echo '</tr>';
                    } 
            if (empty(
$row)) {
        echo
"<table width='0' border='0' align='center' cellpadding='0' cellspacing='0'>
          <tr>
            <td width='257'><div align='center'>No hay articulos en esta categoria </div></td>
          </tr>
        </table>
        "
;
        break 
1;}
            
            }
            
         echo 
'</td>';
        
?>
el problema d este es q nada es visual a modo diseño en dw... todo es a codigo... solo veo lo visual al probarlo en un servidor..
__________________
Diseño gráfico, Web, imagen corporativa, publicidad ...
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 03:34.