Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Buenas,
Preciso encontrar algo mais elegante para o bloco abaixo. Vou comentar linha a linha para vocês entenderem um pouco mais do que estou fazendo. A pergunta que ficará no final é: Existe uma forma mais elegante de fazer um loop aninhado entre um While e um For?
public function makeHtmlTable(){
//Aqui eu populo a variavel $mySqlQuery com uma query.
$mySqlQuery = mysql_query($this->getMySqlQuery());
//A função $getColumnNameFromMySqlQuery faz o que o proprio nome diz. Pega as colunas de uma query qualquer e as coloca em um vetor.
$metaInformationVector = $this->getColumnNameFromMySqlQuery($this->getMySqlQuery());
printf('%s','<table id="teste">');
printf('%s','<tr>');
//Coloco o vetor dentro de uma estrutura de tabela.
for ($index = 0; $index < count($metaInformationVector); $index++){
printf('<td>%s</td>',$metaInformationVector[$index]);
}
printf('%s','</tr>');
//=========================================================================
//Aqui vem a bomba. Eu estou fazendo um fetch normal, porem, preciso pegar esse fetch e fazer com que ele funcione dinamicamente, por isso criei a função que pega as colunas retornadas pela query. Dai vem a pergunta, COMO FAZER ISSO DE UMA FORMA MAIS ELEGANTE.
while ($row = mysql_fetch_array($mySqlQuery, MYSQL_ASSOC)) {
printf('%s','<tr>');
for ($index = 0; $index < count($metaInformationVector); $index++){
echo '<td>'.$row[$metaInformationVector[$index]].'</td>';
}
printf('%s','</tr>');
}
//==========================================================================
printf('%s','</table>');
}
Esse bloco funciona, mas não gostei nada do que vi, um For dentro de um While, não me parece muito normal isso. Alguem pode me ajudar?
Abraço a todos!
Carregando comentários...