boton con el que llamo a mi archivo que hace la exportacion:
Código HTML:
<a href="miruta/registro_comprasexporto.php?filtro=<?php echo $_GET["filtro"];?>&valor=<?php echo $_GET['valor'];?>&fechaini=<?php echo $_GET['fechaini'];?>&fechafin=<?php echo $_GET['fechafin'];?>" value="Exportar a TXT"><img src='images/exporto.png' alt='Exportar' border='0' /></a>
Código PHP:
<?php
session_start();
/*requerimientos para el nombre*/
$ruc=$_SESSION['empresa']['ruc']; //ruc de quien genera el archivo
/*obtenemos la fecha segun el filtro*/
if($_GET['fechaini'])
{
$fec=explode('-',$_GET['fechaini']);
$fecha=$fec[2].'-'.$fec[1].'-'.$fec[0];
$anio=$fec[2];
$mes=$fec[1];
$dia='00';
}
else
{
$anio=date('Y'); //año actual
$mes = strftime("%m", mktime(0, 0, 0, date("m")-1,date("d"),date("Y"))); //mes del libro, mes anterior
$dia='00';
}
/*fin fecha por filtro*/
$contable="080100"; //por ser libro de compras
$libro="00"; //por ser libro nuevo va 00
$operacion=1; //cierre
$infor=1; //como tiene informacion va como valor 1
$moneda=1; //moneda nacional
$defecto=1; //por ser planilla electronica
$nombreex='LE'.$ruc.$anio.$mes.$dia.$contable.$libro.$operacion.$infor.$moneda.$defecto;
/*fin nombre*/
header("Content-Type: application/plain");
header("Expires:0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header ("Content-Disposition: attachment; filename=\"$nombreex.txt\"" );
/*invoco a la BD*/
$host="localhost";
$basededatos="invrimay_contable";
$usuario_bd="invrimay_user";
$puerto_bd="5432";
$contrasena_bd="syctel2009";
require_once("include/clasesmysql.php");
$miconexion = new DB_mysql ;
$miconexion->conectar($basededatos, $host, $usuario_bd,$contrasena_bd);
require_once("config/config.php");
/*fin bd*/
if($_GET['filtro'])
{
$empresa_id=$_SESSION['empresa']['id'];
if ($_GET['filtro']<>'fecha_emi')
{
$filtro1=" and ".$_GET['filtro']."='".$_GET['valor']."%' ";
}
else
{
$fec=explode('-',$_GET['fechaini']);
$fecha=$fec[2].'-'.$fec[1].'-'.$fec[0];
$fec0=explode('-',$_GET['fechafin']);
$fecha0=$fec0[2].'-'.$fec0[1].'-'.$fec0[0];
$filtro1=" and ".$_GET['filtro']." BETWEEN '$fecha' and '$fecha0'";
}
}
else
{
$filtro1='';
$empresa_id=$_SESSION['empresa']['id'];
}
$miconexion->consulta("
select
num_corre_com,DATE_FORMAT(fecha_emi, '%d/%m/%Y') as fecha1,DATE_FORMAT(fecha_ven, '%d/%m/%Y') as fecha2,codigo0,serie_cp as serie0,anio_emi_dua,n_doc, codigo_doc, pro_ruc as documento, pro_nom, base_impo1,igv, vacio,vacio,vacio,vacio, base_impo4, isc,otros_tc, importe_tot,t_cambio, fec+0 as cambio, codigo1, serie, n_cp_doc, defecto
from
registro_compra
left join
(select codigo as codigo0,tc_id from tipo_comprobante where tc_pas<>1) as tc
on tc.tc_id=registro_compra.tipo_comp_FK
left join
(select codigo as codigo1,tc_id from tipo_comprobante where tc_pas<>1) as tc2
on tc2.tc_id=registro_compra.tipo
left join
(select codigo_doc,tdi_id from tipo_doc_iden where tdi_pas<>1) as tdi
on tdi.tdi_id=registro_compra.tipo_doc_ident_FK
left join
(select pro_nom,pro_id,pro_ruc from proveedor where pro_pas<>1) as pro
on pro.pro_id=registro_compra.proveedor_FK
where rc_id>0 and rc_pas<>1 and registro_compra.empresa_FK='$empresa_id' $filtro1
order by fecha_emi,num_corre_com");
while($row = mysql_fetch_array($miconexion->Consulta_ID))
{
if ($row['codigo1']==NULL)
$valor1='00';
else
$valor1=$row['codigo1'];
if ($row['serie']==NULL)
$valor2='-';
else
$valor2=$row['serie'];
if ($row['n_cp_doc']==NULL)
$valor3='-';
else
$valor3=$row['n_cp_doc'];
if ($row['cambio']==NULL or $row['cambio']==0)
$valorini='01/01/0001';
else
$valorini=$row['cambio'];
if(empty($row['anio_emi_dua']))
$valor0=0;
else
$valor0=$row['anio_emi_dua'];
if(empty($row['n_doc']))
$num0=0;
else
$num0=$row['n_doc'];
if($row['fecha2']=='00/00/0000')
$fechaven=$row['fecha1'];
else
$fechaven=$row['fecha2'];
$preder=0;
echo $anio.$mes.$dia.'|'.$row['num_corre_com'].'|'.$row['fecha1'].'|'.$fechaven.'|'.$row['codigo0'].'|'.$row['serie0'].'|'.$valor0.'|'.$num0.'|0|'.$row['codigo_doc'].'|'.$row['documento'].'|'.trim($row['pro_nom']).'|'.$row['base_impo1'].'|'.$row['igv'].'|'.$row['vacio'].'|'.$row['vacio'].'|'.$row['vacio'].'|'.$row['vacio'].'|'.$row['base_impo4'].'|'.$row['isc'].'|'.$row['otros_tc'].'|'.$row['importe_tot'].'|'.$row['t_cambio'].'0|'.$valorini.'|'.$valor1.'|'.$valor2.'|'.$valor3.'|'.'-'.'|'.'01/01/0001'.'|'.'0'.'|'.'0'.'|'.$row['defecto'].'|'."\n";
}
?>