Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Dividir la cantidad de registros en 2 y traerlos por mitades.

Estas en el tema de Dividir la cantidad de registros en 2 y traerlos por mitades. en el foro de Mysql en Foros del Web. Hola foreros: Quisiera seleccionar todos los registros de una tabla y presentarlos en dos columnas, pero ¿de que manera puedo extraer el primer50% de los ...
  #1 (permalink)  
Antiguo 22/10/2010, 08:15
Avatar de cristian_cena
Colaborador
 
Fecha de Ingreso: junio-2009
Mensajes: 2.244
Antigüedad: 14 años, 10 meses
Puntos: 269
Pregunta Dividir la cantidad de registros en 2 y traerlos por mitades.

Hola foreros:

Quisiera seleccionar todos los registros de una tabla y presentarlos en dos columnas, pero ¿de que manera puedo extraer el primer50% de los registros y que otra consulta me devolvería el segundo 50%?

Si tienen una sugerencia, link o guía que me ayude a hacer esto se lo agradezco de antemano, desde ya muchas gracias, un saludo.

  #2 (permalink)  
Antiguo 22/10/2010, 08:17
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 14 años, 8 meses
Puntos: 150
Respuesta: Dividir la cantidad de registros en 2 y traerlos por mitades.

¿sabes de antemano cuantos registros hay o hay que calcular el total? ¿sabes manejar <div> o tablas con sus celdas para montar 2 columnas?

Te las puedes ingeniar para que vaya recorriendo toda la tabla y una vez llega al punto en que debe saltar de columna insertamos el correspondiente codigo HTML donde "cierre" un <div> y "abra" uno nuevo para que continue mostrando datos en la segunda columna hecha en <div> o celda de tabla como te dije...

Un ejemplito

Código PHP:
<?php
echo "<table border='1'><tr><td>";

for (
$i=1;$i<=20;$i++) {
echo 
$i."<br>";
if (
$i==10) {echo "</td><td>";}
}

echo 
"</tr></td>";
?>
Pruebalo y me dices si te sirve el metodo
  #3 (permalink)  
Antiguo 22/10/2010, 08:37
Avatar de cristian_cena
Colaborador
 
Fecha de Ingreso: junio-2009
Mensajes: 2.244
Antigüedad: 14 años, 10 meses
Puntos: 269
Respuesta: Dividir la cantidad de registros en 2 y traerlos por mitades.

Hola vun, muchas gracias por responder.

El tema está en que yo no puedo controlar el número de registros sino que estos van a ir aumentando a medida se vallan cargando filas en la tabla, por tanto calculo que debería traer el 1er 50% en una columna y el 2do 50% en otra.

hice esto:
Código PHP:
<?php
        
// suponiendo que los registros son el array persona...
    
$persona= array();
    
$persona[0]='pepe';
    
$persona[1]='luis';
    
$persona[2]='juan';
    
$persona[3]='alberto';
    
$persona[4]='julián';    
    
$persona[5]='mónica';
    
$persona[6]='marianela';
    
$persona[7]='luciana';
    
$persona[8]='pamela';
    
$persona[9]='romina';
    
?>

    <div id="columna1">

    <?php
    
for($f=0$f<count($persona)/2$f++)
    {
    echo 
$persona[$f];
    echo 
"<br />";
    }
        
// con esto traigo el 1er 50%
    
?>

    </div>
    <div id="columna2">

    <?php
    
//me estaría faltando el 2do 50% para incluirlo en esta columna...
    
?>
    </div>
Sobre si manejaba html y css, si, en esa parte no habría dudas.
desde ya muchas gracias..
  #4 (permalink)  
Antiguo 22/10/2010, 08:42
rqd
 
Fecha de Ingreso: julio-2008
Mensajes: 228
Antigüedad: 15 años, 9 meses
Puntos: 8
Respuesta: Dividir la cantidad de registros en 2 y traerlos por mitades.

Opción 1
puedes hacer un count(*) antes de tu consulta

opción 2
con una variable ir poniendo un registro en la primera columna el segundo en la segunda columna, el trecero nuevamente en la primera y así sucesivamente.
  #5 (permalink)  
Antiguo 22/10/2010, 08:45
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 14 años, 8 meses
Puntos: 150
Respuesta: Dividir la cantidad de registros en 2 y traerlos por mitades.

Si detallaras mejor de donde sacas los datos, si de una base de datos, o es un simple array en php? ¿probaste mi ejemplo? Fijate es un solo bucle y en cierto momento saltamos a la segunda columna, se puede hacer con <div> simplemente aplicandole el estilo correcto para que se ubiquen uno al lado del otro
  #6 (permalink)  
Antiguo 22/10/2010, 08:48
Avatar de cristian_cena
Colaborador
 
Fecha de Ingreso: junio-2009
Mensajes: 2.244
Antigüedad: 14 años, 10 meses
Puntos: 269
Respuesta: Dividir la cantidad de registros en 2 y traerlos por mitades.

Hola rqd, podrías explicarme o bien pasarme un link que explique la opcion 2? gracias.

edito: vun, sos una máquina, antes de que responda a rqd ya habías dejado tu respuesta jaja.

A los datos los traigo de una base de datos con un "select * from"

gracias vun, acabo de probar tu solucion y me vino de 10 puntos

Así como lo resolví:
Código PHP:
        <?php
    
echo "<table border='1'><tr valign='top'><td>";

    for (
$i=0;$i<=count($casa);$i++) {
    echo 
$casa[$i]."<br>";
    if (
$i==count($casa)/2-1) {echo "</td><td>";}
    }

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

Última edición por cristian_cena; 22/10/2010 a las 08:57

Etiquetas: cantidad, dividir, registros
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 08:19.