Jump to content
Fórum Script Brasil
  • 0

Organizando Resultados Por Data


Pilantra

Question

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 to comment
Share on other sites

6 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152k
    • Total Posts
      651.7k
×
×
  • Create New...