Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/08/2015, 04:01
Mental
 
Fecha de Ingreso: noviembre-2005
Mensajes: 146
Antigüedad: 18 años, 5 meses
Puntos: 1
while e includes

Hola:
Se trata de generar un pdf para cada factura que se guardaran en local.

Para ello genero la correspondiente consulta.
Los resultados de la consulta, los recorro con un while que hace:
Generar un fichero de texto: que contendrá por cada factura una linea con la información que necesito y llamar mediante include_once() a un script php que contiene el codigo que genera y guarda la factura en pdf.
El bucle debe continuar generando una nueva linea de texto y una nueva factura en pdf, así hasta finalizar el resultado de la consulta.
Para llamar al script que contiene el código que genera el pdf usé include() inicialmente, pero obtenía un mensaje de error en el que me decía que no podía rellamar la misma clase.
Al usar include_once() el mensaje no aparece pero sólo genera la primera factura.
Opté por crear una función php que asigna el nombre con el que debe guardarse la factura y que llama al script con include_once(). Esperaba sortear así el problema que creo que puede venir porque el servidor entiende que ya está cargado y que es la misma factura, pero el problema persiste y sólo genera la primera factura de la serie.
Sé que el bucle no se detiene porque el fichero de texto sí contiene la información que esperaba, pero no se genera los pdf con las facturas.

La función de llamada al script que genera el pdf:
Código PHP:
Ver original
  1. function crearpdf()
  2. {
  3.     global $salida_factura; // Nombre que se asignará a la factura generada.
  4.     include_once'pdf_facturas.php'; // Llamada al script que genera el pdf.
  5. }

El bucle que recorre los resultados de la consulta:

Código PHP:
Ver original
  1. while($row_resultado = mysqli_fetch_assoc($cs))
  2. {$Base_Imponible = number_format($row_resultado['Base_Imponible'], 2, ",", ".");   
  3. $textodesalida = $row_resultado['fecha_Factura']."\t Ref "          .$row_resultado['Ref_Pres']."\t"
  4. .$row_resultado['Fact_Numer']."\t"
  5. .$Base_Imponible."\t".$row_resultado['Depos']."\r\n";
  6. fwrite($fp, $textodesalida); // Inserto la linea en el fichero de texto.
  7. $salida_factura = $row_resultado['Fact_Numer']; // Asigno el número de la factura como nombre de la factura para el pdf.
  8. crearpdf(); // Genero el pdf.
  9. }

Espero haberme explicado bien.
Gracias.