Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Tenho uma consulta de MySQL em que com a função "while" faço a separação por meses de umas provas de cicloturismo.
Porém dá-me 2 erros:
1 - Quando a função while está a decorrer e está ao mesmo tempo a limitar a consulta do MySQL o mês de Agosto no While faz corresponder ao mês de Julho no MySQl
2 - Em Dezembro aparece-me 2 linhas da consulta de MySQL
Se quiserem ver a página para entender é: Este é o link
O Código é este:
PHP
[*]
[*]<?
[*]include"conexao.php";
[*]$dat = 1;
[*]$estilo = "h3";
[*]
[*]while ($dat <= 12) {
[]$sql = mysql_query("SELECT from provas WHERE extract(month from inicio) = $dat order by inicio ASC");
[*]
[*]if ($dat==1) echo "<$estilo>Janeiro </$estilo>";
[*]else if ($dat==2) echo "<$estilo>Fevereiro </$estilo>";
[*]else if ($dat==3) echo "<$estilo>Março </$estilo>";
[*]else if ($dat==4) echo "<$estilo>Abril </$estilo>";
[*]else if ($dat==5) echo "<$estilo>Maio </$estilo>";
[*]else if ($dat==6) echo "<$estilo>Junho </$estilo>";
[*]else if ($dat==7) echo "<$estilo>Julho </$estilo>";
[*]else if ($dat==8) echo "<$estilo>Agosto </$estilo>";
[*]else if ($dat==9) echo "<$estilo>Setembro </$estilo>";
[*]else if ($dat==10) echo "<$estilo>Outubro </$estilo>";
[*]else if ($dat==11) echo "<$estilo>Novembro </$estilo>";
[*]else if ($dat==12) echo "<$estilo>Dezembro </$estilo>";
[*]
[*]if(!$sql){echo mysql_error();exit();}
[*]?>
[*]
[*]<table width="80%" border="0" align="center" cellpadding="2" cellspacing="2" bgcolor="#FFFFFF">
[*]<tr>
[*]<td width="14%" class="title"><div align="center"> Dia </div>
[*] </div></td>
[*]<td width="57%" class="title"><div align="center">Competição
[*] </div>
[*] </div></td>
[*]<td width="14%" class="title"><div align="center">Inicio
[*] </div>
[*]</div></td>
[*]<td width="15%" class="title"><div align="center">Termo
[*] </div>
[*]</div></td>
[*]</tr>
[*]<tr>
[*]<?
[*]while($linha=mysql_fetch_array($sql)) {
[*]?>
[*]<td valign="top"><?=$linha["inicio"]?>
[*]</td>
[*]<td valign="top" class="newstitulo"><?=$linha["designacao"]?></td>
[*]<td valign="top"> <div align="center"></div></td>
[*]<td align="right" valign="top"> <div align="center"></div></td>
[*] </tr>
[*]<tr>
[*] <td colspan="4"><hr></td>
[*] </tr>
[*]<?
[*]}
[*]echo"<br>";
[*]++$dat;
[*]}
[*]?>
[*]</table>
[*]<?
[*]mysql_close($conexao);
[*]?>
[*]
Agradecia se me pudessem ajudar
CarissimoJá tentei essa forma e continua a não dar.... <_<
Jah descobri..... eh um errinho bem simples hehehe....
Olha esse final do seu código:
PHP
[*]<?
[*]}
[*]echo"<br>";
[*]++$dat;
[*]}
[*]?>
[*]</table>
[*]<?
[*]mysql_close($conexao);
[*]?>
você tem que fechar o primeiro WHILE depois de fecha a tabela, você esta fechando antes...
O certo tem que ficar assim:
PHP
[*]<?
[*]} // Fecha o segundo WHILE
[*]echo"<br>";
[*]++$dat;
[*]echo "</table>";
[*]} // Fecha o primeiro WHILE
[*]mysql_close($conexao);
[*]?>Deu certo ai????
Grande wolfphw
Deu certo sim, obrigado
http://forum.imasters.com.br/public/style_emoticons/default/joia.gif
Tipo eu naum sei se isso vai ajudar... Tava olhando o seu código e tb naum to entendendo.... dai to com uma pequena dúvida... se você colocar a variavel $dat recebendo de inicio 0 (zero)...