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

Organizando Resultados Por Data


Pilantra

Pergunta

E ae galera,

Faz 3 dias que eu estou tentando fazer esse esquema e não estou conseguindo, então vim aqui pedir uma força para vocês.

No banco de dados, o cliente cadastrou as datas do estilo dd/mm/yyyy e na hora de exibir, ele quer que primeiro exiba os anos, e depois os resultados correspondentes àquele ano. Eu fiz a seguinte rotina mas não funciona de jeito nenhum, olha só a zuera que ficou:

<?

  // Cria um loop e armazena as datas numa array

  $datas = array();

  $data = array();

  $i = 0;

  $sql = "SELECT * FROM estudobiblico WHERE data <> ''";

  $query = mysql_query($sql);

  $resultado = mysql_num_rows($query);

    if ($resultado != 0) {

    while($row = mysql_fetch_array($query)) {

      $datas[$i] = $row[data];

      $i++;

    }

    $tamanhoDatas = sizeof($datas);

    for ($i = 0; $i < $tamanhoDatas; $i++) {

      $dataTmp = explode("/",$datas[$i]);

      $data[$i] = $dataTmp[2].",";

    }

    $tamanhoData = sizeof($data);

    $exibeData = "";

    for ($i = 0; $i < $tamanhoData; $i++) {

      $dataTmp = $data[$i];

      for ($j = 0; $j < $tamanhoData; $j++) {

      if ($dataTmp != $data[$j]) {

        $exibeData = $dataTmp."<br>";

      }

      }

      echo $exibeData;

    }

    }

  ?>

Ele só barra o primeiro na validação que eu fiz, o resto ele repete. O que eu precisava fazer era por exemplo, se tem 50 datas do ano 2000 ele exiba somente um.

O que eu faço? Já tentei tanta coisa que agora eu estou sem idéia nenhuma =/

Muiro obrigado desde já.

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0
acho que da para resolver no proprio sekect colocando no final

group by data

Impossível jissa, pois as datas são em formato dd/mm/yyyy e são valores diferentes então o GROUP BY não vai agrupar os valores assim wink.gif

Vou testar a função agora do array_unique()

Abraços.

Link para o comentário
Compartilhar em outros sites

  • 0

Ae galera, não deu certo, será que eu estou fazendo alguma coisa errada?

<?

  $datas = array();

  $i = 0;

  $sql = "SELECT * FROM estudobiblico WHERE data <> ''";

  $query = mysql_query($sql);

  $resultado = mysql_num_rows($query);

    if ($resultado != 0) {

    while($row = mysql_fetch_array($query)) {

      $datas[$i] = $row[data];

      $i++;

    }

    $tamanhoDatas = sizeof($datas);

    for ($i = 0; $i < $tamanhoDatas; $i++) {

      $dataTmp = explode("/",$datas[$i]);

      $resultado = array_unique($dataTmp);

      echo $resultado[2];

      echo "<br>";

    }

    }

  ?>

Continua a mesma coisa que tirasse o array_unique sad.gif

Link para o comentário
Compartilhar em outros sites

  • 0

Ae galera, deu certo, foi apenas um detalhe que faltou, vejam:

            <?

  // Cria um loop e armazena as datas numa array

  $datas = array();

  $i = 0;

  $sql = "SELECT * FROM estudobiblico ORDER BY data ASC";

  $query = mysql_query($sql);

  $resultado = mysql_num_rows($query);

    if ($resultado != 0) {

    while($row = mysql_fetch_array($query)) {

      $datas[$i] = $row[data];

      $i++;

    }

    $tamanhoDatas = sizeof($datas);

    for ($i = 0; $i < $tamanhoDatas; $i++) {

      $dataTmp = explode("/",$datas[$i]);

      $datas[$i] = $dataTmp[2];

      $resultado = array_unique($datas);

      if ($resultado[$i] != "") {

      echo "<a href='estudos3.php?dt=$resultado[$i]' class='link2'>$resultado[$i]</a>";

      echo "<br>";

      }

    }

    }

  ?>

Valeu pela ajuda. Abraços.

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
      152,1k
    • Posts
      652k
×
×
  • Criar Novo...