Ir para conteúdo

POWERED BY:

Arquivado

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

krusty_hxcx

Ordenar pelo Dia, mes e ano

Recommended Posts

Gente é o seguinte.

Eu tenho q fazer uma agenda de datas de um palestrante.

Nao sei se alguem conhece o Espirita Divaldo Franco, mas entao ele tem palestras tds os dias quase e onde trabalho a seguranca é muito rigorosa entao temos q ficar indo ate o servidor enviar a pagina pra la com a agenda atualizada e acaba ficando complicado pois tem a pessoa certa para ir ate o servidor. para evitar esse contratempo eu estou tentando fazer no Dreamweaver e easy php

sou novato, tenho algumas nocoes apenas consigo criar o bd conectar mostrar editar apagar os registros mas o q nao consigo é ordenar por Data/Mes/Ano

(DD/MM/AAAA)

 

no phpmyadmin eu criei os campos onde data, mes e ano ficam em linhas diferentes pois ao cria um unico campo DATE ele mostra (ano/mes/dia) e gostaria de dia mes ano nao sei como configurar para mostrar a ordem q quero alguem sabe se é possovel:??)

caso nao for possivel como posso ordenar por dia, mes ano (apenas sei ordenar por dia)

 

 

 

é issoaluem poderia me ajudar??

PS.: alguem tbmse for possivel me ajude a fazer o seguinte.

 

digamos q ele tenha palestras no mes de agosto, outubo e dezembo

eucadastro eles e quadno for mostrar aparecesse assim:

 

AGOSTO**

Ai aki ficaria tds as datas do mes de agosto em ordem de data

 

outubro

tds as datas do ems de outubro

 

e assim por diante

 

me entenderam??

 

valewww

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta assim, nao testei:

 

.. ORDER by ano,mes,dia ASC

Compartilhar este post


Link para o post
Compartilhar em outros sites

M4rio eu tentei mas nao deu certo nao.Olhem meu codigo como ficou:

<?php require_once('Connections/con_cad.php'); ?><?phpmysql_select_db($database_con_cad, $con_cad);$query_mostrar = "SELECT * FROM datas ORDER BY ano,mes,dia ASC";$mostrar = mysql_query($query_mostrar, $con_cad) or die(mysql_error());$row_mostrar = mysql_fetch_assoc($mostrar);$totalRows_mostrar = mysql_num_rows($mostrar);?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><title>Untitled Document</title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><style type="text/css"><!--.style1 { font-size: 12px; font-family: Arial, Helvetica, sans-serif;}--></style></head><body><?php do { ?><span class="style1"><b><?php echo $row_mostrar['dia']; ?>/<?php echo $row_mostrar['mes']; ?>/<?php echo $row_mostrar['ano']; ?>: <?php echo $row_mostrar['cidade']; ?> - <?php echo $row_mostrar['estado']; ?></b><br>Às <?php echo $row_mostrar['hora']; ?> horas. <u><?php echo $row_mostrar['local']; ?></u> - <?php echo $row_mostrar['endereco']; ?>.<br><b>Contatos:</b> <?php echo $row_mostrar['contatos']; ?><br><?php echo $row_mostrar['infoadd']; ?></span><br><br><?php } while ($row_mostrar = mysql_fetch_assoc($mostrar)); ?></body></html><?phpmysql_free_result($mostrar);?>

valew

Compartilhar este post


Link para o post
Compartilhar em outros sites

Krusty, tem várias maneiras de você fazer isso!

 

Por exemplo, no caso da data, você pode dar um split nela...

 

PHP

[*]<? //recupera a data em formado YYYY/MM/DD

[*]$data = $bd["data"];

[*]// separa a data

[*]$data_split = split("-",$data)// Isso só vai funcionar se o campo no BD estiver configurado como DATE

[*]$data_hoje = $data_split[2]."/".$data_split[1]."/".$data_split[0];

[*]?>

 

Mas você também pode buscar a data no formato europeu direto do banco de dados... Veja um exemplo:

 

SELECT DATE_FORMAT('2005-09-20',GET_FORMAT(DATE,'EUR'));

 

Neste caso acima, você buscaria a data no servidor, já no formato DD/MM/YYYY!

E você pode usar no lugar de "2005-09-20" o nome do campo no banco de dados, lembrando que neste caso você tiraria as aspas do campo :)

 

Boa sorte!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pra que complicar, é só organizar por id que da no mesmo!!!!Se for pro mes é só enviar o nome do mes pelo menu dropdown receber e organizar.$dia = $_POST["dia"];$mes = $_POST["mes"];$ano = $_POST["ano"];$organiza = mysql_query("SELECT * FROM tabela WHERE ano = '$ano' and mes = '$mes' and dia='$dia");

Compartilhar este post


Link para o post
Compartilhar em outros sites
no phpmyadmin eu criei os campos onde data, mes e ano ficam em linhas diferentes pois ao cria um unico campo DATE ele mostra (ano/mes/dia) e gostaria de dia mes ano nao sei como configurar para mostrar a ordem q quero alguem sabe se é possovel:??)

caso nao for possivel como posso ordenar por dia, mes ano (apenas sei ordenar por dia)

 

É possível, sim... aliás, o ideal é que você utilize os tipos de campos adequados para os dados que serão armazenados. Se você vai salvar a data, utilize o date. Se vai salvar data e horário, utilize o datetime. E por aí vai...

 

Então, pelo o que eu entendi você quer ordenar por dia, mês e ano. Do jeito que está o seu banco de dados, seria só colocar um "ORDER BY data" na sua cláusula SQL... aí ele traria todos os dias 1 primeiro, depois todos os dias 2, depois todos os dias 3... etc... é isso mesmo que você quer?

 

Se você estivesse utilizando um campo do tipo date, seria só você fazer: "ORDER BY DAYOFMONTH(data), MONTH(data), YEAR(data)"

 

Parece que fica mais complicado, mas não... com o campo do tipo date você pode utilizar funções específicas do banco de dados na hora da query, o que evita muito malabarismo com o script depois... :)

 

Falou!

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.