Foros del Web » Programando para Internet » PHP »

Como cargar de a 2 archivos desde la base?

Estas en el tema de Como cargar de a 2 archivos desde la base? en el foro de PHP en Foros del Web. Hola gente, estoy con un sistema de productos que se cargan por medio de un Admin, similar a un carro de compras. Conecto con la ...
  #1 (permalink)  
Antiguo 22/11/2011, 00:35
Avatar de NnikoO  
Fecha de Ingreso: agosto-2008
Ubicación: Rosario
Mensajes: 245
Antigüedad: 11 años, 9 meses
Puntos: 0
Pregunta Como cargar de a 2 archivos desde la base?

Hola gente, estoy con un sistema de productos que se cargan por medio de un Admin, similar a un carro de compras. Conecto con la base, y por medio de un while traigo los productos que se hayan cargado, generando así una lista con estos, de los cuales aparece el nombre, una descripción breve, el precio, y una foto miniatura que es un link para acceder a mas información del producto seleccionado, que por medio de Jquery, hago que se muestre dentro de un Pop up.

Todo funciona de maravillas. El tema es que siempre que hice trabajos de este tema, la carga de productos genera una lista de a 1 producto, uno arriba del otro. Me interesaria saber como hacer para que en vez de cargar a si, se vayan cargando de a 2, o mas. Me serviria tambien para trabajos futuros. Y como yapa tambien como limitar por ejemplo que carguen 20 productos, como limite, y la opcion de un boton siguiente/anterior para poder ver los que quedan fuera del listado principal.



Acá les dejo el código con la conexión a la base de datos, y la carga de los datos:

Código PHP:

<? 
session_start
(); 
$_SESSION["autorizado"]; 

if (
$_SESSION["validar"] != "autorizado") { 
     
    
$comprar ""
}     
else 

    
$comprar "<a href='#'>Comprar</a>"




        include(
"config.php"); 

        
$link mysql_connect($servidor$usuario$pass) or die(mysql_error());         
                 
        
$bd mysql_select_db($basedato$link) or die(mysql_error());         
         
        
$sql "    SELECT *  
                    FROM productos  
                    ORDER BY idProducto DESC"

        
$resultado mysql_query($sql$link) or die(mysql_error());         
                 
?> 

<!-- Vinos Tintos --> 
<table width="760" border="0" cellpadding="5"> 
   <? 
                          
if($resultado
                        { 
                            while(
$r mysql_fetch_array($resultado)) 
                            { 
                    
?> 
    <tr> 
        <td> 
            <div class="contenedor_productos"> 
                <a href="#?w=600?id=<? echo $r['idProducto']; ?>" rel="desc_vinos" class="poplight"> 
                    <img src="galeriamini/<? echo $r['fotomini'];?>" width="75" height="75" alt="Vino 01" /> 
                </a> 
                <div id="desc_vinos" class="popup_block"> 
                    <h1><? echo $r['nombre']  ;?></h1> 
                    <img src="galeria/<? echo $r['foto'];?>" width="230" height="225" alt="Trapiche" /> 
                    <h2><? echo $r['bodega'] ;?></h2> 
                    <p><? echo $r['descripcion'];?></p>                                             
                </div>                                 
                <p><span><? echo $r['nombre'] ;?></span>, <? echo $r['breve'] ;?></p> 
                <p><b>Precio:</b> $ <? echo $r['precio'] ;?></p> 
                <? echo $comprar?> 
            </div> 
        </td> 
    </tr> 
<?        
                                } 
                              
?> 
</table>

Espero que puedan ayudarme, porque es lo único que me tiene trabado, ademas de que como dije antes me servirá demasiado para trabajos futuros. Muchas gracias de antemano.
Un abrazo.

<< niko >>
  #2 (permalink)  
Antiguo 22/11/2011, 01:34
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 12 años, 1 mes
Puntos: 326
Respuesta: Como cargar de a 2 archivos desde la base?

Para "limitar" y q carguen, por ejemplo, 20 productos sólo... sería con la cláusula LIMIT de sql, por ejemplo. Si quieres poder avanzar 20 más... se llama "paginación". Busca en aportes, hay varios explicandolo :)


Ahora, en cuanto a poner dos productos "en línea", es simple.

En tu bucle, tienes algo así:
Código PHP:
<?php
while(algo) {
    
?>
    <tr>
       <td>
            aqui_el_contenido
        </td>
    </tr>
    <?php
}
Ese es tu bucle principal. Si te fijas, está dentro de una tabla. Y haces una fila (tr), y una celda (td). Tu lo que quieres es crear una fila (tr), y dos celdas (td). Básicamente, cada dos "iteraciones" del bucle, quieres que te imprima "</tr>" y "<tr>", te quedaría algo así el bucle
Código PHP:
<?php
$i 
0;
while(
algo) {
    if(
$i%== 0) echo '<tr>';
    
?>
      <td>
         aqui el contenido
      </td>
     <?php
     
if($i%== 1) echo '</tr>';
    
$i++;
}
if(
$i%== 1) echo '</tr>'//Esto es por si se queda en número impar de productos ;)
Básicamente, añade un contador ($i), que vigila el número de iteracion en el que estás. Si es par (0, 2, 4, 6, 8...) empieza una fila, y si es impar (1, 3, 5, 7, 9...) termina la fila.

Recuerda que empieza por cero ;)

PD: El operador % lo que hace es darte el resto de una división ;)
__________________
>> Eleazan's Source
>> @Eleazan
  #3 (permalink)  
Antiguo 22/11/2011, 14:54
Avatar de NnikoO  
Fecha de Ingreso: agosto-2008
Ubicación: Rosario
Mensajes: 245
Antigüedad: 11 años, 9 meses
Puntos: 0
Respuesta: Como cargar de a 2 archivos desde la base?

Ahí lo probé, y parece que funciona de primera! Muchísimas gracias la verdad, me ayudaste demasiado con estos datos! ;)

Etiquetas: carrito, compras, jquery, listado, pares, productos
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 03:02.