PHP - descargas en php, consultas mysql

   
Vista:

descargas en php, consultas mysql

Publicado por Abraxas (2 intervenciones) el 24/05/2016 00:05:42
Hola buen día a todos, tengo un programa que hace una consulta a una base de datos, extrae cierta información y la imprime en una plantilla de Word y se descarga esa plantilla auntomáticamente con sus respectivos datos, para probar que todo funcionara sólo lo hice para 1 registro, y todo lo hace muy bien, el problema viene cuando esa consulta se hace muchas veces, miles de veces, ejecuto mi programa php e intento descargar todos esos archivos y sólo se descarga 1.

Las descargas las genero dentro de un "while ($fila = mysql_fetch_array($resul))" .


Gracias por sus respuestas :D
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

descargas en php, consultas mysql

Publicado por Felipe (8 intervenciones) el 24/05/2016 02:03:25
Hola, para más información podrías adjuntar tu código respecto y el documento como se debe mostrar, además de que clase estás ocupando o como estás generando el word.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

descargas en php, consultas mysql

Publicado por Abraxas (2 intervenciones) el 24/05/2016 04:41:05
Hola esto es de manera general mi código, respecto al ID de las personas es la cantidad de documentos que debo generar si hay 100 personas pues se deben generar 100 documentos, pero pues solo me genera 1 documento y tengo a más de 100 personas en mi base de datos.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
require_once dirname(__FILE__).'/PHPWord-master/src/PhpWord/Autoloader.php';
\PhpOffice\PhpWord\Autoloader::register();
use PhpOffice\PhpWord\TemplateProcessor;
 
//conexion con la Bd
 
//consulta con la BD
 
 
 
 
while ($IDperson = mysql_fetch_array($cantidadID)) {
 
	//se hacen otras consultas pequeñas para extraer otra información
 
 
	// --- Guardamos el documento -------
	$templateWord->saveAs('notificacion.docx');
	header("Content-Disposition: attachment; filename=notificacion.docx; charset=iso-8859-1");
	echo file_get_contents('notificacion.docx');
}
?>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

descargas en php, consultas mysql

Publicado por Felipe (8 intervenciones) el 25/05/2016 00:39:02
¿Se generan tantos documentos como personas hallan en la bd, verdad?.

si es así no deberías hacer el echo si no, mostrar los links por cada archivo para que e usuario pueda descargar todos, o bien, otra solución sería, guardar todo y luego convertirlo en un zip, para ello, podrías ocupar alguna clase que trabaje con zip, juntas todos los archivos lo conviertes a zip y devuelves la descarga del zip generado.

Por lo que vi estás guardando todos con el mismo nombre y luego imprimiendo por tanto te tomaría sólo una persona que sería la ultima.
Debes crear un identificador para el nombre ejemplo.

$templateWord->saveAs('notificacion-$nombrepersona.docx');

Fijate que el identificador seria el nombre de persona, lo ideal sería algun identificador único como su identificación personal o algo que tu consideres que no se repetiría.

Espero poder ayudar
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar