одновременная загрузка с php, извлечение информации из mysql


видите ли, у меня есть код в php, который делает запросы к базе данных, где есть идентификатор, представляющий человека и другую запись задолженности, и по завершении он генерирует загрузку документа в word с соответствующей информацией, я попытался увидеть, что все работает для 1 записи, и потому, что он делает это правильно, проблема возникает, когда я обобщаю и делаю это для всех записей в моей базе данных,то есть для всех людей, которые у меня есть, но только для меня он загружает файл, один из 1-го человека, который он находит в базе данных, а для других людей он больше этого не делает, я использую "while ($row=mysql_fetch_array($result))", чтобы извлечь информацию, и внутри этого while я делаю загрузку.

я использую phpword для создания документа и загрузки.

-----------------------------------------------------------

<?php

require_once dirname(__FILE__).'/PHPWord-master/src/PhpWord/Autoloader.php';
\PhpOffice\PhpWord\Autoloader::register();
use PhpOffice\PhpWord\TemplateProcessor;

//conexion con la Bd llamada "datosgenrales" y "adeudos"


$queryID="SELECT numCuenta FROM  `datosgenerales` "; 

$cantidadID = mysql_query($queryID, $con);


while ($IDperson = mysql_fetch_array($cantidadID)) {        

    $IDperson = mysql_fetch_array($cantidadID);     
    $IDpersona= $IDperson['numCuenta'];     

    $queryCuenta = "SELECT count(*) from adeudos where cuentas='".$IDpersona."'";

    $queryAdeudos = "SELECT  adeudos.total as dineroTotal, adeudos.concepto as tipoAdeudo
    FROM adeudos, datosgenerales
    WHERE adeudos.cuentas =  '".$IDpersona."' 
    AND datosgenerales.numCuenta ='".$IDpersona."'";


    $nombre = $IDpersona; //variable para ponerla en el documento word

    $resulCuenta = mysql_query($queryCuenta, $con);
    $cuent=intval($cuentaRep[0]);


        $templateWord = new TemplateProcessor('plantilla1.docx'); //plantilla word
        // --- Asignamos valores a la plantilla
        $templateWord->setValue('nombre',$nombre); //imprime en plantilla word


        // --- Guardamos el documento
        $templateWord->saveAs('notificacion'.$aux.'.docx');
        header("Content-Disposition: attachment; filename=notificacion".$aux.".docx; charset=iso-8859-1");
        echo file_get_contents('notificacion'.$aux.'.docx');

}

?>
Author: Juan Pinzón, 2016-05-24

1 answers

Это невозможно, потому что протокол http предназначен для загрузки одного файла за раз. Одним из возможных решений является засунуть все файлы в zip , который вы можете сделать внутри while, и когда вы закончите, вы отправите вновь созданный zip http://php.net/manual/en/class.ziparchive.php

 2
Author: Juan Manuel Doren, 2016-05-24 17:27:43