Ir para conteúdo
Fórum Script Brasil
  • 0

Consulta De Mysql Com While


Enlibra

Pergunta

Oi

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:

<?
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&ccedil;&atilde;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 quem me pudesse ajudar

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

você faz $dat receber 0 no inicio. se são 12 meses porque você estah fazendo o while percorrer 13 vezes? talvez o problema de dezembro aparecer 2 linhas esteje ai.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...