Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sandman

[Resolvido] For dentro de While

Recommended Posts

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!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.