Ver Mensaje Individual
  #6 (permalink)  
Antiguo 20/11/2006, 15:36
Msinx
 
Fecha de Ingreso: noviembre-2006
Ubicación: Venezuela
Mensajes: 6
Antigüedad: 17 años, 5 meses
Puntos: 0
Amigo aqui tienes uno que hice que me ha funcionado pero no esta depurado si quieres te lo dejo para que tomes la idea


<?php
################################################## ################################################## ##
# Cargar el archivo de coneccion con la base de datos
# Manuel Ramirez
# 10/11/2006
################################################## ##################################################
include ('pgsql.php');
################################################## ################################################
# Variable y select para el manejo de las tablas y del reporte
# Manuel Ramirez
# 10/11/2006
################################################## ################################################## ##
/*$select="SELECT * FROM deudas";
$begin="BEGIN";
pg_query($conec,$begin);
$declare="DECLARE cursor1 CURSOR FOR SELECT * FROM deudas ";
pg_query ($conec,$declare);
$esta="OPEN cursor1";
pg_execute($connec,$esta);
$fetch=pg_($connec,"FETCH cursor1 into '$muestra'");*/

//$total_rows=pg_num_rows($data);
//echo $total_rows;
//for($i=1;$i=5;$i++){
//echo $i;
//$sql="BEGIN; DECLARE cursor1 CURSOR FOR SELECT rif, referencia FROM deudas; FETCH all in cursor1";
$sql="SELECT a.referencia, d.ramo, d.des_ramo, a.planilla, a.ano_declaracion, a.motivo, a.tipo, a.fec_liquidacion, a.fec_vencimiento, a.fec_cancelacion, a.estado,
a.monto, a.monto-a.cancelado as saldo,
--SUM(a.monto-a.cancelado) as totalsaldo,
SUM((a.monto-a.cancelado)*((b.tasa/12)/100)) as mora,
-- SUM (SUM((a.monto-a.cancelado)*((b.tasa/12)/100))) as totalmora,
a.cancelado,
a.ano_declaracion,
c.razon_social, c.dir_fiscal, e.log_cia
, f.rif, f.fec_cons
FROM deudas a, indice b, principal c, ramos d, gen01 e, contribuyentes f
WHERE a.rif='J000029482'
AND ((to_date(a.fec_vencimiento + '1 months','YYYY MM DD'))<=(to_date (extract(day from a.fec_vencimiento + '1 months') || to_char(b.mes_eje,'99') || to_char(b.ano_eje,'9999'),'DD MM YYYY')))
--AND trim(a.rif)='J000029482'
AND age(current_date, to_date (extract(day from a.fec_vencimiento) || to_char(b.mes_eje,'99') || to_char(b.ano_eje,'9999'),'DD MM YYYY'))>0
AND trim(a.rif) != trim(a.referencia)
AND a.monto-a.cancelado >0
AND trim(a.referencia)='AE00009173'
AND trim(d.ramo)=trim(a.ramo)
AND trim(c.rif)=trim(a.rif)
AND trim(d.ramo)=trim(a.ramo)
AND trim(c.rif)='J000029482'
AND trim(e.edo_reg)='A'
--AND trim(f.rif)='J302688535'
AND trim(f.referencia)=trim(a.referencia)
AND trim(f.rif)!=trim(a.referencia)
GROUP BY a.fec_vencimiento, a.planilla, d.ramo, d.des_ramo,a.ano_declaracion, a.motivo, a.fec_liquidacion,
a.fec_cancelacion, a.estado, a.monto, a.cancelado, a.referencia, c.razon_social, a.tipo, a.ano_declaracion, c.dir_fiscal, e.log_cia
, f.rif, f.fec_cons

UNION ALL
SELECT a.referencia, d.ramo, d.des_ramo, a.planilla, a.ano_declaracion, a.motivo, a.tipo, a.fec_liquidacion, a.fec_vencimiento, a.fec_cancelacion, a.estado,
a.monto, a.monto-a.cancelado as saldo,
-- SUM(a.monto-a.cancelado) as totalsaldo,
SUM(a.monto-a.cancelado) as mora,
--SUM (SUM(a.monto-a.cancelado)) as totalmora,
a.cancelado,
a.ano_declaracion,
c.razon_social, c.dir_fiscal, e.log_cia
, f.rif, f.fec_cons
FROM deudas a, principal c, ramos d, gen01 e, contribuyentes f
WHERE a.monto-a.cancelado = 0
AND trim(a.rif)='J000029482'
AND trim(a.rif) != trim(a.referencia)
AND trim(a.referencia)='AE00009173'
AND trim(d.ramo)=trim(a.ramo)
AND trim(c.rif)=a.rif
AND trim(c.rif)='J000029482'
AND trim(c.edo_reg)='A'
AND trim(e.edo_reg)='A'
--AND trim(f.rif)='J302688535'
AND trim(f.referencia)=trim(a.referencia)
AND trim(f.rif)!=trim(a.referencia)
GROUP BY a.fec_vencimiento,a.planilla, d.ramo,d.des_ramo,a.ano_declaracion, a.motivo, a.fec_liquidacion,
a.fec_cancelacion, a.estado, a.monto, a.cancelado, a.referencia, c.razon_social, a.tipo, a.ano_declaracion, c.dir_fiscal, e.log_cia
, f.rif, f.fec_cons
ORDER BY 1 DESC ";
//$sql="SELECT * FROM indice";
$data=pg_query($sql);
$numreg=pg_num_rows($data);
$numpag=ceil($numreg/20);
$sig=$numpag*20;
$ks=$numpag*6
################################################## ################################################## #########################
# Diseño de la tabla dinamica y muestra de los datos de la base de datos
# Manuel Ramirez
# 10/11/2006
################################################## ################################################## ########################
?>
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_reloadPage(init) { //reloads the window if Nav4 resized
if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);
//-->
</script>
<table border='1'>
<?php
for($j=$j;$j<=$numpag;$j++){
$ini=0+$fin;
$fin=19+$ini;
//echo $j;
for ($i=$ini;$i<=$fin;$i++){
//echo $i;
$res=pg_result_seek($data,$i);
$array=pg_fetch_row($data);?>
<tr>
<td><?php echo $array['0']; ?></td>
<td><?php echo $array['1']; ?></td>
<td><?php echo $array['2']; ?></td>
<td><?php echo $array['3']; ?></td>
<td><?php echo $array['4']; ?></td>
<td><?php echo $array['5']; ?></td>
<td><?php echo $array['6']; ?></td>
<td><?php echo $array['7']; ?></td>
</tr>
<?php } ?>
</table>
<?php

################################################## ################################################## ###################################
# Paginación por medio de botones siguiente y anterior
# Muestra de paginas que debe hacer siguiente
# 10/11/2006
# Manuel Ramirez
################################################## ################################################## ####################################
/*if($ini==0){
}
else{
echo "<td>";
if ($ini==19){
$ini=0;
$fin=19;
$j=0;
echo $j;
echo "primer ini y fin " . $ini;
echo $fin;
echo "<a href='planillasql.php?ini=$ini&amp;fin=$fin&j=$j'> Anterior</a>";
}
else{
echo "ojo" . $ini . $fin;
if($j<=1 || $ini<=0 || $fin<=0){
$ini=$ini*-1;
$fin=$fin*-1;
$j=$j*-1;}
else{
$j=$j-(1*2);
$ini=$ini-19;
$fin=$fin-19;
}
echo "segundo ini y fin " . $ini;
echo $fin;
echo "<a href='planillasql.php?ini=$ini&amp;fin=$fin&amp;j= $j'>Anterior</a>";}
}
echo "</td>";
for($k=1;$k<=$numpag;$k++){
echo "<td>" . $k . "</td>";
}
if($ini==0){
echo "<td>";
$j++;
$ini=0;
$fin=19;
if($j>0){
$ini=$ini+19;
$fin=$fin+$ini;
$j=$j++;
echo $j;}
echo "tercer ini y fin " . $ini;
echo $fin;
echo "<a href='planillasql.php?ini=$ini&amp;fin=$fin&amp;j= $j'>Siguiente</a>";
echo "</td>";
}
else{
$fin=19;
if ($ini=19){
$fin=19+$fin;
$j++;
echo "<td>";
echo "cuarto ini y fin " . $ini;
echo $fin;
echo "<a href='planillasql.php?ini=$ini&amp;fin=$fin&amp;j= $j'>Siguiente</a>";
echo "</td>";}
/*else{
echo"<td>";
//if ($i=$fin){
if($j<=1 || $ini<0 || $fin<0){
$j=($j*-1)+1;
$ini=$ini*-1;
$fin=$fin*-1;
}
else{
$j++;
}
$ini=(19*2)+$ini;
$fin=$fin+(19*2);
echo "<a href='planillasql.php?ini=$ini&amp;fin=$fin&amp;j= $'>Siguiente >></a>";

//}
echo "</td>";
}*///}
################################################## ################################################## ##############################
################################################## ################################################## ###############################
# Codigo de paginacion siguiente y anterior pero con la ubicacion mal del las palabras siguiente y anterior

?>
<div id='tabla'>
<table>
<tr>
<td><div id="siguiente" style="position:absolute; left:200;top:580px; width:auto; height:23px; z-index:3"><table><tr>
<?php
if($fin<=$numreg){
if ($i=$fin){
$j++;
?>
<td>
<?php echo "<a href='planillasql.php?ini=$ini&amp;fin=$fin&amp;j= $j'>Siguiente</a>";?></td><?php
//echo "</td>".
//"</tr>";
}
//echo "</tr>";
//echo "<tr>"
//. "<td>";
}
?>
</tr></table></div></td>
<?php
################################################## ################################################## ########################
#Paginacion por paginas para siguiente version
#<td><div id="Layer2" style="position:absolute; left:0px; ?; top:550px; width:auto; height:25px; z-index:2"><table><tr>
#?php
#for($k=1;$k<=$numpag;$k++){?
# #<td>
# #?php echo $k; ?
# #</td>
# #?
# #}?
#
#</tr></table></div></td></div>
################################################## ################################################## ######################
?>
<td><div id="anterior" style="position:absolute; left:0px; top:580px; width:auto; height:22px; z-index:1"><table><tr>
<?php
if($ini==0){
}
else{
// echo "<tr>"
?>
<td>
<?php
if ($fin==19){
echo "<a href='planillasql.php>Anterior</a>";
}
elseif ($fin>19){
$j=$j-(1*2);
$ini=(19*2)-$ini;
$fin=$fin-(19*2);
echo "<a href='planillasql.php?ini=$ini&amp;fin=$fin&amp;j= $j'>Anterior</a>";
}?>
</td>
<?php }?>
</tr></table></div></td>
</tr>
</table>
</div>
<?php

################################################## ################################################## ####################################
# Para parar el for y poder hacer la paginacion
# Manuel Ramirez
# 10/11/2006
################################################## ################################################## #################################
break;
}
?>