Foros del Web » Programando para Internet » PHP »

reporte urgenete php

Estas en el tema de reporte urgenete php en el foro de PHP en Foros del Web. Hola estoy generando unos reportes usando la calse R&OS y hasat ahorita todo va bien, pero mi jefe me pidio k le hiciera unas modificaciones, ...
  #1 (permalink)  
Antiguo 28/02/2005, 12:19
 
Fecha de Ingreso: febrero-2005
Mensajes: 17
Antigüedad: 19 años, 2 meses
Puntos: 0
Exclamación reporte urgenete php

Hola estoy generando unos reportes usando la calse R&OS y hasat ahorita todo va bien, pero mi jefe me pidio k le hiciera unas modificaciones, lo que tengo hasta ahora es lo siguiente:

genero un reporte en donde me dice algunos id's, y ciertos porcentajes en diferentes fechas por cada id, cada porcentaje esta validad a que si llega a un cierto numero se convierta en link (eso va bien) y t genere otra tabla en otro documento

y al dar click por ejemplo en un porcentaje de un x cajero por ejemplo el 801, se genera otra tabla con informacion de ese cajero, entonces lo que estoy tratando de hacer es que no solo me genere la tabla del cajero que se le indica, sino que me genere una tabla por cada cajero que exista en la base de datos, pero cuando por fin pueod hacer que me ponga en el mismo documento lo que quiero solo me hace la tabla del ultimo cajero, aqui les pongo el codigo que tengo hasta ahora:

<?

include "mysql.inc.php";
$db = opendatabase('scmr');

$sql="select distinct idcajero from calccontinuidad where fecha between '$fecha1' and '$fecha2' order by idcajero";
$rscajeros=$db->openrecordset($sql);
$titulos[0] = "Cajero";
$ren=1;

$sql="select distinct fecha from calccontinuidad where fecha between '$fecha1' and '$fecha2' order by fecha";
$rsfechas=$db->openrecordset($sql);

while(!$rsfechas->eof)
{
$titulos[$ren]=$rsfechas->value('fecha');
$ren++;
$rsfechas->movenext();
}
$titulos[$ren] = 'Promedio';

$ren=0;

while(!$rscajeros->eof)
{
$cajero = $rscajeros->value('idcajero');

$arr[$ren][0]=$cajero;

$datos = 0;
$acumulado = 0;

for($x=1;$x<count($titulos)-1;$x++)
{
$fecha=$titulos[$x];
$sql="select fecha, porcentaje from calccontinuidad where idcajero ='$cajero' and fecha='$fecha' order by fecha";
$rscont=$db->openrecordset($sql);

if ($rscont->eof)
$arr[$ren][$x] = "-";
else
{
$datos++;
$acumulado += $rscont->value('porcentaje');
if($rscont->value('porcentaje') < $umbralcontinuidad){
//$arr[$ren][$x] = "<c:alink:alarmas2.php?var=$cajero>". number_format($rscont->value('porcentaje'),2). "</c:alink>";
$arr[$ren][$x] = "<c:ilink:reporte>". number_format($rscont->value('porcentaje'),2). "</c:ilink>%";
}else
$arr[$ren][$x] = number_format($rscont->value('porcentaje'),2)."%";
}

$rscont->movenext();
}

$arr[$ren][count($titulos)-1]= number_format($acumulado / $datos,2);
$ren++;

$rscajeros->movenext();
}


// Aqui empieza lo del PDF

error_reporting(E_ALL);
include('class_reportes/class.ezpdf.php');

$pdf = & new Cezpdf('letter','landscape');
$pdf->selectFont('d:/server/php/pdf-related/Helvetica');
$pdf->ezStartPageNumbers(500,18,10,'','{PAGENUM} de {TOTALPAGENUM}',1);

// coloca una linea arriba y abajo de todas las paginas
$all = $pdf->openObject();
$pdf->saveState();
$pdf->setStrokeColor(0,0,0,1);
$pdf->line(20,30,750,30);
$pdf->line(745,585,35,585);
$pdf->addText(35,590,10,'Resumen de Cajeros');
$pdf->addText(660,590,10,'Depto. Sistemas');
$pdf->addText(400,18,10,'Pagina');
$pdf->restoreState();
$pdf->closeObject();
// termina las lineas
$pdf->addObject($all,'all');


if(!$fecha1 || !$fecha2 || !$umbralcontinuidad || $fecha1 > $fecha2 ){
$pdf->ezText('Se ha producido un error al generar el reporte, y puede deberse a lo siguiente:',20,array('justification'=>'center'));
$pdf->ezText('');
$pdf->ezText('* EL rango de fechas es un rango no valido',15,array('justification'=>'center'));
$pdf->ezText('* Uno de los campos no recibio ningun dato',15,array('justification'=>'center'));
$pdf->ezText('');
$pdf->ezText('<c:alink:fechas.php>VOLVER</c:alink>',15,array('justification'=>'center'));
}else{

$pdf->ezText('<c:alink:fechas.php>Generar Nuevo Reporte...</c:alink>',12,array ('justification' => 'center'));
$pdf->ezTable($arr,$titulos,'Reporte de continuidad');
}


///////////////////////////////////////////////////////////////////////////////////
//////////////////////////AQUI SE GENERA LA SEGUNDA TABLA//////////////////////////
//////////////////////////////////////////////////////////////////////////////////


$sql = "select idcajero,codigoparticular,codigogeneral,fechahorai nicio,fechahorafinal from alarmashistorico where idcajero = '$cajero' and codigogeneral <> 4101 group by codigoparticular order by fechahorainicio";
$data = array();
$result = mysql_query ($sql ) or die (mysql_error());
$cols = array('codigoparticular'=>'COD PARTICULAR',
'fechainicio'=>'INICIO DE ALARMA',
'duracion'=>'DURACION DE ALARMA',
'descripcion'=>'DESCRIPCION'
);


while ($row = mysql_fetch_array($result)) {

$idcaj = $row[0]; // id cajero
$codp = $row[1]; // codigo particular
$codg = $row[2]; // codigo general
$dur = "select timediff('$row[4]','$row[3]')";
$tot = mysql_query($dur);
$dur2 = mysql_fetch_array($tot);
$finicio = $row[3];

$sql2 = "select descripcion from alarmas where codigo = '$codp' ";
$query2 = mysql_query($sql2);
$row2 = mysql_fetch_array($query2);

$data[] = array( 'codigoparticular'=>$codp,
'fechainicio'=>$finicio,
'duracion'=> $dur2[0],
'descripcion'=>$row2[0]
);
}


$pdf->addDestination('reporte','FitBH');

$pdf->ezNewPage();
$pdf->ezText('<c:alink:fechas.php>Generar Nuevo Reporte</c:alink>',12,array ('justification' => 'center'));
$pdf->ezText('');
$pdf->ezTable($data,$cols,"RELACION ALARMAS DEL CAJERO $cajero",array('fontSize'=>10,
'cols'=>array(
'codigoparticular'=>array('justification'=>'center ')
,'fechainicio'=>array('justification'=>'center')
,'duracion'=>array('justification'=>'center')
,'descripcion'=>array('justification'=>'right')))) ;// salida

if (isset($d) && $d){
$pdfcode = $pdf->ezOutput(); //Necesario para que funcione ezStartPageNumbers
$pdfcode = str_replace('\n','\n<br>',htmlspecialchars($pdfcod e));
echo '<html><body>';
echo trim($pdfcode);
echo '</body></html>';
} else {
$pdf->ezStream(); //Necesario para que funcione ezStartPageNumbers
}

///////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////

if (isset($d) && $d){
$pdfcode = $pdf->ezOutput(); //Necesario para que funcione ezStartPageNumbers
$pdfcode = str_replace('\n','\n<br>',htmlspecialchars($pdfcod e));
echo '<html><body>';
echo trim($pdfcode);
echo '</body></html>';
} else {
$pdf->ezStream(); //Necesario para que funcione ezStartPageNumbers
}
?>
este codigo lo que me hace es que me genera la primer tabla ( la de la primera imagen) y solo me hace la tabla del ultimo idcajero que tengo en mi tabla, y lo que estoy tratando de hacer es que me haga una tabla igual por cada cajero, porfa' ayudenme....
y espero haberme explicado
gracias
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:54.