Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Não sou de publicar muitas dúvidas, geralmente vasculho no google e resolvo minha "pendengas" pesquisando, mas sinceramente, travei nesse problema.
Montamos uma estrutura de extração de dados para o Excel para "popular" um programa que produz relatórios estatísticos, mas a extração está demorando muito, mudamos as querry de consultas, mas infelizmente o desempenho melhorou pouca coisa.
Vou tentar explicar.
No Excel são mostrados os seguintes dados
Cabeçalho >>> Lista todas as perguntas de uma pesquisa de opinião.
protocolo | Pergunta 01 | Pergunta 02 | Pergunta 03 |
Dados >>> extraímos todas as respostas dos usuários que preencheram o formulário.
protocolo | Pergunta 01 | Pergunta 02 | Pergunta 03 |
001 resp001 resp001 esp001
002 resp002 resp002 esp002
003 resp003 resp003 esp003
Estamos extraindo da seguinte forma, vou resumir.
$string .= ".<table>."
$string .= ".<tr>."
// início primeiro While para criar o cabeçalho.
// mysql_query para listar as perguntas.
while ($perguntas = mysql_fetch_array($rs_pergunta)) {
$string .= "<th>".$perguntas['pergunta']."</th>";
}
// fim cabeçalho
// início dos dados de cada protocolo
// segundo while somente para pegar o protocolo
$i = 1;
while ($row = mysql_fetch_row($protocolo)) {
$string .= "<tr>";
$string .= "<td>". $i."</td>";
$string .= "<td>". $row[id_protocolo]."</td>";
//RESPOSTA consulta para gerar o restante dos dados de cada protocolo.
$query_resposta = mysql_query("SELECTtb_pergunta.num_ord_pergunta");
while ($res_resposta = mysql_fetch_array($query_resposta)) {
$string .= "<td>".$res_resposta['resposta']." </td>";
}
$string .= "</tr>";
$i++;
}
$string .= "</table>";
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
Essa estrutura está fazendo o que precisamos, mas demora muito para extrai.
Como otimizar isso?
Carregando comentários...