Código:
Las instrucciones que uso para recuperar los datos de la base de datos son:Warning: Invalid argument supplied for foreach() in c:\servidor\web\soft\socio\generar.php on line 75 Warning: Cannot modify header information - headers already sent by (output started at c:\servidor\web\soft\socio\generar.php:75) in c:\servidor\web\soft\socio\fpdf.php on line 1022 FPDF error: Some data has already been output to browser, can't send PDF file
Código:
La función FancyTable que uso es:
$pdf=new PDF();
$pdf->AddPage();
//$pdf->SetFont('Times','B',16);
$bd = mysql_connect('localhost', 'root', '');
if (!$bd) {
echo "Error, no puede encontrarse a la base de datos";
exit;
}
mysql_select_db('soft');
$query = "SELECT nombre FROM categoria";
$resultado = mysql_query($query);
$num_filas = mysql_num_rows($resultado);
$i=0;
$precio_tot=0;
$cabecera=array('Categoria','Producto','Precio');
while($categoria=mysql_fetch_assoc($resultado)){
$id_producto[$i]=$_POST[$categoria["nombre"]];
$query1 = "SELECT nombre,precio FROM producto where codigo='".$id_producto[$i]."'";
$res = mysql_query($query1);
$datos_producto=mysql_fetch_assoc($res);
if($id_producto[$i]!=0){
//for($j=0;$j<count($cabecera);$j++){
$matriz[$i][0]=$categoria["nombre"];
$matriz[$i][1]=$datos_producto["nombre"];
$matriz[$i][2]=$datos_producto["precio"];
// }//
$precio_tot+=$matriz[$i][2];
}
$i++;
}
//$pdf->FancyTable($cabecera,$matriz);
$pdf->Ln(20);
//$pdf->SetXY(45,70);
$pdf->FancyTable($cabecera,$matriz,$precio_tot);
$pdf->Cell(0,15,"Total: "."$precio_tot");
$pdf->Output();
Código:
El error del espacio en blanco me sale en categoria, pero no logro saber porque puede ser...//Tabla coloreada
function FancyTable($header,$data,$precio_tot)
{
//Colores, ancho de línea y fuente en negrita
$this->SetFillColor(255,0,0);
$this->SetTextColor(255);
$this->SetDrawColor(128,0,0);
$this->SetLineWidth(.3);
$this->SetFont('','B');
//Cabecera
$this->SetXY(45,70);
$this->SetFont('Times','B',16);
$w=array(40,35,40);
for($i=0;$i<count($header);$i++)
$this->Cell($w[$i],7,$header[$i],1,0,'C',1);
$this->Ln();
//Restauración de colores y fuentes
$this->SetFillColor(224,235,255);
$this->SetTextColor(0);
$this->SetFont('');
//Datos
$this->SetFont('Times','B',8);
$this->SetXY(45,76);
$x=45;
$y=76;
$fill=0;
foreach($data as $row)
{
$this->Cell($w[0],6,$row[0],'LR',0,'L',$fill);
$this->Cell($w[1],6,$row[1],'LR',0,'L',$fill);
$this->Cell($w[2],6,number_format($row[2]),'LR',0,'R',$fill);
//$this->Cell($w[3],6,number_format($row[3]),'LR',0,'R',$fill);
$this->Ln();
$fill=!$fill;
$this->SetXY($x,$y+=6);
}
$this->Cell(array_sum($w),0,'','T');
$this->SetXY($x+101,$y);
//$this->Cell(0,15,"Total:",'$precio_tot');
//$this->Cell(array_sum($w),0,'','T');
}
Gracias!!!!

