Query просмотр крайней мере, результат, который реально существует на экспорт


я поднялся query список результате выбора checkbox выполнено пользователем, список с правильными значениями, как выбранные, но при проверке содержимого результат после запроса в banco de dados всегда меня появляется реестр.

моем списке настоящее время монтируется так:

// LISTA
$colname_rcCandidato = "-1";
if (isset($_GET['list'])) {
  $colname_rcCandidato = $_GET['list'];
}

моего исследования, поэтому он с помощью списка

mysql_select_db($database_pcon, $pcon);
$query_rcLista = sprintf("SELECT   ongAtleta.IdAtleta, 
                                       ongAtleta.Nome, 
                                       ongEscola.Nome AS NomeEscola, 
                                       ongEscola.Municipio,
                                       ongAtleta.ProfResposavel
                                 FROM  ongAtleta
                                 INNER JOIN ongFichaEscolar ON ( ongAtleta.IdAtleta = ongFichaEscolar.IdAtleta ) 
                                 INNER JOIN ongEscola ON ( ongFichaEscolar.IdEscola = ongEscola.IdEscola ) 
                                 WHERE ongAtleta.IdAtleta IN (%s)", GetSQLValueString($colname_rcCandidato, "string"));
$rcLista = mysql_query($query_rcLista, $pcon) or die(mysql_error());
$row_rcLista = mysql_fetch_assoc($rcLista);
$linhas = mysql_num_rows($rcLista);

Моя экспорта, таким образом, я использую classe PHPExcel:

if ($linhas > 0) {

    // Incluimos a classe PHPExcel
    include  '../_comp/externos/classes/PHPExcel.php';

    // Instanciamos a classe
    $objPHPExcel = new PHPExcel();

    // Inicializando variável
    $rowCount = 1; 

    do {

        $objPHPExcel->getActiveSheet()->SetCellValue('A'.$rowCount, removeAcentos($row_rcLista['Nome'])); 
        $objPHPExcel->getActiveSheet()->SetCellValue('B'.$rowCount, removeAcentos($row_rcLista['NomeEscola'])); 
        $objPHPExcel->getActiveSheet()->SetCellValue('C'.$rowCount, removeAcentos($row_rcLista['ProfResposavel'])); 
        $objPHPExcel->getActiveSheet()->SetCellValue('D'.$rowCount, removeAcentos($row_rcLista['Municipio'])); 

        // Incrementando variável
        $rowCount++;    

    } while($row_rcLista = mysql_fetch_assoc($rcLista));

    // Nome da Planilha
    $objPHPExcel->getActiveSheet()->setTitle('AlunoEscola');

    // Efetua Download
    header('Content-Type: application/vnd.ms-excel');
    header('Content-Disposition: attachment;filename="RelacaoAlunoEscola.xls"');
    header('Cache-Control: max-age=0');
    // Se for o IE9, isso talvez seja necessário
    header('Cache-Control: max-age=1');

    // Salvando o Arquivo
    $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');

    // Salva diretamente no output
    $objWriter->save('php://output'); 

    exit;

}

В этом примере я отправляю изображение, выбираются 4 записи и экспорта меня отображаются только 3.

inserir a descrição da imagem aqui

 4
php
Author: adventistapr, 2016-01-20

1 answers

, Основанной жестко в деталях вопрос, проблема, кажется, быть do-while, $row_rcLista только это будет иметь значение после вызова mysql_fetch_assoc() , сделан в конце концов, это пустая строка добавляется. Измените do-while whileпроста.

do {
    $objPHPExcel->getActiveSheet()->SetCellValue('A'.$rowCount, removeAcentos($row_rcLista['Nome']));
    //código omitido 

    $rowCount++;    

} while($row_rcLista = mysql_fetch_assoc($rcLista)); // <---- atribuição

Решение:

while($row_rcLista = mysql_fetch_assoc($rcLista){
   $objPHPExcel->getActiveSheet()->SetCellValue('A'.$rowCount, removeAcentos($row_rcLista['Nome'])); 
   //código omitido
   $rowCount++;  
}
 2
Author: rray, 2016-01-20 14:35:23