Foros del Web » Programando para Internet » PHP »

resultado busqueda mysql en tabla 2 X 2 ...

Estas en el tema de resultado busqueda mysql en tabla 2 X 2 ... en el foro de PHP en Foros del Web. bueno tengo una base de datos en la cual hay una tabla con productos. lo que quiero hacer es que a la consulta... realizada en ...
  #1 (permalink)  
Antiguo 29/03/2012, 00:48
 
Fecha de Ingreso: junio-2010
Mensajes: 752
Antigüedad: 13 años, 10 meses
Puntos: 5
resultado busqueda mysql en tabla 2 X 2 ...

bueno tengo una base de datos en la cual hay una tabla con productos. lo que quiero hacer es que a la consulta... realizada en una tabla... logre colocar los datos en pantalla... para empezar ...los quiero mostrar en una tabla de 2 x 2. ya sean 7 resultados . se tienen que mostrar los 4 primeros ... en uno y el otro en otra pagina... (paginacion en php) mi duda es... acerca dela tabla que logra mostar cada producto en cada celda de 2 filas por 2 columnas...



lo tengo asi..

Código PHP:
$co=0;
$buscando = "select * from productos where rubro=".$_GET['varrubro'];
$busca = mysql_query($buscando,$link);
$cantidad=0;
if ($busca > 0 ) {
$cantidad = mysql_num_rows($busca);
}
    
?>
<table>

<?php while ($cantidad != $co) { 

$xx=mysql_result($busca,$co,'nombre');?><tr>
 
<td class="mini"><?php echo utf8_encode($xx);?>
<?php 
echo "<img width='100%' src='fotos/"trim(mysql_result($busca,$co,'foto')).".jpg'>" ?> </td>
</tr>
<?php
$co
++;
}
?>
  
 </table>


--con los <tr> me imprime uno debajo del otro... si le saco los <tr> todos en una fila...

pense hacer que si la cantidad supere los "2", ponerle un IF y que aparezca un tr...

YO CREO QUE PRIMERO SE HACE LA TABLA DE 2X2 y DESPUES MUESTRO LOS RESULTADOS EN OTRAS PAGINAS . EN EL CASO DE QUE SUPEREN LOS 4 RESULTADOS .::...asi q pienso q se hace por separado y primero la tabla..

bueno podrian guiarme , se mezcla un while con for...¿? AYUDA

Última edición por vani18; 29/03/2012 a las 00:53
  #2 (permalink)  
Antiguo 29/03/2012, 03:04
Avatar de JairLizcano  
Fecha de Ingreso: junio-2008
Ubicación: Santander, Colombia
Mensajes: 608
Antigüedad: 15 años, 10 meses
Puntos: 53
Exclamación Respuesta: resultado busqueda mysql en tabla 2 X 2 ...

Te daré la idea en base a lo que te entendí:

1. Debes limitar tu consulta si vas a paginar, es decir; que por ejemplo en la página 1 te muestren los primero 4 registros, ello depende de tu consulta SQL; utiliza la estructura LIMIT para dicha limitación, por ejemplo:

Código PHP:
$buscando "SELECT * FROM productos WHERE rubro = {$_GET['varrubro']} LIMIT (1, 4)"
Ello traería los primero 4 registros acondicionados al rubro que indicas por la variable GET.

2. Si la tabla es de 2X2 (4 registros en total), intenta validar un contador y si éste es par imprimes o indicas una fila y en el caso contrario simplemente imprimirías una columna, por ejemplo:
Código PHP:
<?php
    $contador 
1;
    
$numero_registros_consulta 4;

    
?>
    <table>
    <tr>
    <?php

    
while($contador <= $numero_registros_consulta){    
    
        
?>
            <td>
                <?php echo($contador);?>
            </td>
        <?php

        
if ($contador %== 0) {
            
            
?>
            </tr>
            <tr>
            <?php
        
}
        
        
$contador ++;
    }
    
?>
    </tr>
    </table>
    <?php
?>
3. Para paginar retoma este post donde publiqué una sencilla solución con PHP: http://www.forosdelweb.com/f18/pagin...l-duda-984265/

Intenta adaptar lo que te mencioné a tu código, y si tienes problemas, me comentas.

Buena suerte.
__________________
Programar dejó de ser una profesión acusada en la oscuridad y disfrutada fríamente... para convertirse en un arte.
  #3 (permalink)  
Antiguo 29/03/2012, 12:13
 
Fecha de Ingreso: junio-2010
Mensajes: 752
Antigüedad: 13 años, 10 meses
Puntos: 5
Respuesta: resultado busqueda mysql en tabla 2 X 2 ...

hola esta bien , eso de que me traiga los primeros 4. en realidad se realiza una busqueda al principio , donde no se cuantos articulos me entregara la consulta... ponele que sean 8...
esta bien que la limitacion sea de "los primeros 4" y cuando recibo los otros 4?


mmmm

pensando, no seria asi?...

1) hago una consulta. sin saber cuantos articulos encontrare
2) almaceno todo en una matriz.
3)con un IF dividiri cuantos paquetes de a 4 tendria...
4) bueno ahi ya tendre los primeros 4.... despues en la matriz que almacene los resultados de la consulta... sacare los otros 4... en la matriz seria.. a partir de
paquete 1_

$matriz[0]
$matriz[1]
$matriz[2]
$matriz[3]

paquete_2

$matriz[4]
$matriz[5]
$matriz[6]
$matriz[7]

y asi etc...
  #4 (permalink)  
Antiguo 29/03/2012, 12:19
Avatar de JairLizcano  
Fecha de Ingreso: junio-2008
Ubicación: Santander, Colombia
Mensajes: 608
Antigüedad: 15 años, 10 meses
Puntos: 53
Respuesta: resultado busqueda mysql en tabla 2 X 2 ...

Si vas a por ejemplo productos.php?pagina=1 te mostraría 4 productos ordenados de 2X2, y si vas a productos.php?pagina=2, te mostraría otros 4 productos diferentes a los de la página 1 y también mostrados en formato de 2 por dos. Si quieres mostrar 8, pues lo indicas en la variable $numero_registros_consulta. No hay necesidad de llamarlos todos si puedes traerlos por rangos, rangos que se están indicando por página.

La primera consulta era para que te percataras de la estructura LIMIT.

Espero ahora sí me haya hecho entender.

Buena suerte.
__________________
Programar dejó de ser una profesión acusada en la oscuridad y disfrutada fríamente... para convertirse en un arte.
  #5 (permalink)  
Antiguo 29/03/2012, 12:49
 
Fecha de Ingreso: junio-2010
Mensajes: 752
Antigüedad: 13 años, 10 meses
Puntos: 5
Respuesta: resultado busqueda mysql en tabla 2 X 2 ...

una duda... en ningun momento el uso de LIMIT va a querer decir que la consulta SOLAMENTE me va a entregar lo que dice en limit..

si no en pedazos... o en este caso en paginas...
pj:

4 en la primera pagina... por limit
4 en la segunda pagina... por limit
4 en la tercera pagina... por limit
4 en la cuarta pagina... por limit

todo esto esta relacionado con la pagina y el codigo ...
ahora analizo bien el codigo , asi es como quedaria el codigo q colocaste.. no =?? gracias :":
  #6 (permalink)  
Antiguo 29/03/2012, 13:03
Avatar de JairLizcano  
Fecha de Ingreso: junio-2008
Ubicación: Santander, Colombia
Mensajes: 608
Antigüedad: 15 años, 10 meses
Puntos: 53
Respuesta: resultado busqueda mysql en tabla 2 X 2 ...

Cita:
una duda... en ningun momento el uso de LIMIT va a querer decir que la consulta SOLAMENTE me va a entregar lo que dice en limit..

si no en pedazos... o en este caso en paginas...
No sé si ello era una pregunta... pero LIMIT en este caso te permite consultar los resultados por rangos, para tu caso (de 4 en 4) de 1 a 4, o bien de 5 a 8, es decir; el valor que está indicando el número de página con el algoritmo que calcula esos rangos dependiendo de la página donde estés son los que aplicas a LIMIT.

Estos rangos no están asociados por id, simplemente se toman dependiendo de los filtros que apliques a la consulta.

El formato de 2X2 ya te lo das con el otro algoritmo que te mostre.

Cita:
ahora analizo bien el codigo , asi es como quedaria el codigo q colocaste.. no =?? gracias :":
Y sí... así se vería.

Buena suerte.
__________________
Programar dejó de ser una profesión acusada en la oscuridad y disfrutada fríamente... para convertirse en un arte.

Etiquetas: mysql, sql, tabla, resultados, busquedas
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:56.