Foros del Web » Programando para Internet » PHP »

select's

Estas en el tema de select's en el foro de PHP en Foros del Web. Saludos a todos! en un proyecto en php + mysql tengo una consulta a la base de datos paginada y tengo unos count(columna) para colocar ...
  #1 (permalink)  
Antiguo 07/07/2006, 13:35
 
Fecha de Ingreso: enero-2003
Ubicación: Caracas
Mensajes: 439
Antigüedad: 14 años, 10 meses
Puntos: 0
Exclamación select's

Saludos a todos! en un proyecto en php + mysql tengo una consulta a la base de datos paginada y tengo unos count(columna) para colocar los rowspan en la tabla de manera de mostrarlos mas organizados pero cuando quiero mostrar una tabla con dichos registros tengo problemas con los rowspan dado que los conteos son de toda la tabla y no del numero de registros que me trae por cada pagina. entonces:

como puedo hacer una consulta que cuente solo los registros de un query por cada pagina es decir:

Ejemplo:

tengo 5 paginas a 10 registros por cada una de ellas: select * from tabla where condicion limit numpagina,10

dado el ejemplo quiero contar el numero de veces que aparece cierto dato en el dicho query.


  #2 (permalink)  
Antiguo 07/07/2006, 15:21
Avatar de Mirovita  
Fecha de Ingreso: febrero-2005
Ubicación: Caracas-Venezuela
Mensajes: 840
Antigüedad: 12 años, 9 meses
Puntos: 10
no se si es lo q quieres pero yo lo hago asi:

Código PHP:
<html>
<head>
<title>Control de Horas</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body alink="#003399" vlink="#003399">
<?
//conexion a la base de datos
include("Conectarse1.php");
$conn=Conectarse1();

//tamaño de la pagina
$TAMANO_PAGINA 15;

if (isset(
$_GET['pagina'])){ 
  
$pagina$_GET["pagina"]; 
} else { 
  
$pagina=''



if (!
$pagina) {
    
$inicio 0;
    
$pagina=1;
}
else {
    
$inicio = ($pagina 1) * $TAMANO_PAGINA;


$ssql="select * from tabla where condicion";
$rs=pg_query($conn,$ssql);
$num_total_registros pg_num_rows($rs);
$total_paginas ceil($num_total_registros $TAMANO_PAGINA);

//consulta a la DB
$query "select * from tabla where condicion LIMIT '$TAMANO_PAGINA' OFFSET '$inicio'";

$result pg_Exec($conn,$query);

$contador=0;

//muetra la consulta
if($row=pg_fetch_array($result))  

{

echo
"<TABLE width='500' BORDER=5 CELLPADDING=1 CELLSPACING=1 bordercolor='#003399'>";

echo
"  <tr><td>campo1</td><td>campo2</td></tr>";

do
 {
//aqui haces el contador por pagina
$contador=$row["variableasumar"]+$contador;

 
printf("<tr><td>%s</td><td>%s</td></tr>",$row["coampo1"],$row["campo2"]); 

 }
 while(
$row=pg_fetch_array($result));
 
 echo
"  </TABLE>";

echo 
"<br>";


//para paginar
if($num_total_registros) {
        
        echo 
"<center>";
        
        if((
$pagina 1) > 0) {
            echo 
"<a href='horas_proyecto1.php?contrato=$contrato&fecha_al=$fecha_al&fecha_del=$fecha_del&pagina=".($pagina-1)."'>< Anterior</a> ";
        }
        
        for (
$i=1$i<=$total_paginas$i++){ 
            if (
$pagina == $i
                echo 
"<b>".$pagina."</b> "
            else
                echo 
"<a href='horas_proyecto1.php?contrato=$contrato&fecha_al=$fecha_al&fecha_del=$fecha_del&pagina=$i'>$i</a>"
        }
      
        if((
$pagina 1)<=$total_paginas) {
            echo 
" <a href='horas_proyecto1.php?contrato=$contrato&fecha_al=$fecha_al&fecha_del=$fecha_del&pagina=".($pagina+1)."'>Siguiente ></a>";
        }
        
        echo 
"</center>";
        
    }

echo 
"<br>";
//aqui imprimes el contador por pagina
echo "<div align='right'><span class='style1'>Total Horas: ".$horas_total."</span></div>";
 }
 else 
{
echo 
"<div align='center'><h4 class='style5'>&iexcl; No se ha encontrado ningun Contrato !</h4></div>"
}

pg_close($conn);


 
?>


</body>
</html>
me gustaria saber como haces tu para t aparezca todo completo y no por paginas
__________________
.-._.-. [email protected]_.-.
  #3 (permalink)  
Antiguo 07/07/2006, 15:58
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 11 años, 6 meses
Puntos: 2122
Pues si le estas dando LIMIT num_pagina, 10. 10 es la cantidad de registros que te va a arrojar, no nescesitas contar los 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 07:56.