Ir para conteúdo

POWERED BY:

Arquivado

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

Edu Salinas

[Resolvido] Select de datas

Recommended Posts

Oi, tenho uma tabela com alguns campos de datas tipo vencimentos.

Gostaria se saber se existe algum forma de buscar todas as datas independentemente de qual campo ela esteja?

 

Até mais,

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi obrigado pela resposta, mas a minha dúvida é a seguinte.

 

Se eu fizer assim:

 

$result1=mysql_db_query("SELECT * FROM adm");

 

o echo vou ter que especificar o campo

 

echo $row1['CAMPO'];

 

Eu preciso que misture dois campos em um mesmo resultado, no caso são datas, vencimentos. Tenho vários campos com vários vencimentos.

 

Tentei então

$result1=mysql_db_query("SELECT CAMPO1,CAMPO2,CAMPO3 FROM adm");

 

Mas não consigo ecoar sem especificar qual campo ecoar, queria ecoar apenas o resultado do select.

 

Desculpe não conseguir explicar de forma mais técnica..

 

Até mais,

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi, obrigado pela resposta, já havia visto e tentado algo assim, mas a minha dúvida nesse caso como seria pra ecoar sem especificar um campo.

 

 

EX:

echo $row['CAMPO1'];

 

 

Gostaria de ecoar o resultado do seguinte código:

$result1=mysql_db_query("SELECT CAMPO1,CAMPO2,CAMPO3 FROM adm");

 

Sem ter que mencionar campo algum.

 

Até mais,

 

Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então, mas eu pretendo resgatar não somente um campo, mas, vários campos.

 

 

Tenho um tabela aonde cadastro clientes, cada cliente possui 30 vencimentos, cada vencimento eu coloquei em campo, denominado vencimento1, vencimento2 e por ai vai.

 

nome vencimento1 vencimento2 vencimento3 vencimento 4

 

Fulano 01/01/2010 01/02/2010 01/03/2010 01/04/2010

Beltrano 05/04/2011 05/05/2011 05/05/2011 05/06/2011

 

 

Ou seja, cada cliente vai ter seu vencimento1, vencimento2, vencimento3.

 

O que eu gostaria de resgatar são todos os vencimentos,1,2,3 e 4 por orderm de vencimento com base na tada atual e ecoar isso.

 

$result1=mysql_db_query("SELECT * FROM adm WHERE vencimento1,vencimento2,vencimento3,vencimento4 <= DATE_FORMAT(NOW(), '%Y:%m:%d')ORDER BY proximovenc1 ASC") or die ("base não encontrada");

Compartilhar este post


Link para o post
Compartilhar em outros sites

$result1 = mysql_query("SELECT CAMPO1,CAMPO2,CAMPO3 FROM adm");
while ($array = mysql_fetch_assoc($result1)) {
    echo implode(' ',$array);
}

É mais ou menos isso?

 

Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado pela resposta.

Então, testei sua dica, porém me retornou o resultado da seguinte maneira:

primeiramente todos os vencimentos1 ordenados, todos os vencimentos2 ordenados.

 

O que eu preciso é que os vencimentos se misturem e sejam ordenados por data com base no dia de hoje.

Eu prciso fundir todos os campos vencimentos em um só.

 

Até mais,

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seu post não foi ignorado, é que estava tendo problema com o echo, e o UNION não estava dando certo.

Agora seguindo as duas dicas, sobre echo do Periscuelo e agora a sua do UNION deu certo,

Muito obrigado.

 

Resolvido!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

$result1 = mysql_query("SELECT CAMPO1,CAMPO2,CAMPO3 FROM adm");
while ($array = mysql_fetch_assoc($result1)) {
    echo implode(' ',$array);
}

É mais ou menos isso?

 

Abraços.

 

 

Nesse echo implode, como eu faria pra o resultado que é uma data sair no formato brasileiro dd/mm/yyyy.

 

Até mais,

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi obrigado deu certo, mas quando utilizo o UNION não dá certo, porque será?

 

$result1 = mysql_db_query("usuário", "SELECT DATE_FORMAT(venc1, '%d/%m/%Y'), locador FROM adm WHERE venc1 >= DATE_FORMAT(NOW(), '%d:%m:%Y')
                                UNION SELECT DATE_FORMAT(venc2, '%d/%m/%Y'), locador FROM adm WHERE venc2 >= DATE_FORMAT(NOW(), '%d:%m:%Y')
                                 ORDER BY proximovenc1 ASC");

 

Antes de utilizar o DATE_FORMAT o UNION estava funcionando.

Só para de funcionar quando eu coloco o DATE_FORMAT.

 

 

Até,

Compartilhar este post


Link para o post
Compartilhar em outros sites

Utilize um alias para que o union passe a funcionar.

 

Aconselho também a estudar melhor o MySQL e seu manual

para que cada "vírgula" não vire uma imensa dúvida.

Antes de desenvolver se faz necessário saber oque está

fazendo. Não simplesmente resolver os casos. ^_^

 

Procure por alias e having no link abaixo.

Manual MySQL Alias e HAVING

 

$result1 = mysql_db_query("usuário", "SELECT DATE_FORMAT(venc1, '%d/%m/%Y') AS vencimento, locador FROM adm 
                                                         HAVING vencimento >= DATE_FORMAT(NOW(), '%d:%m:%Y')
                                UNION SELECT DATE_FORMAT(venc2, '%d/%m/%Y') AS vencimento, locador FROM adm 
                                                         HAVING vencimento >= DATE_FORMAT(NOW(), '%d:%m:%Y')
                                ORDER BY proximovenc1 ASC");
veja se funciona com o exemplo acima.

 

Abraços.

 

## EDIT ##

Desculpe amigo Edu, realmente não reparei no ORDER BY.

Porém agora já está correto para funcionar normalmente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa precisando conte com os amigos do fórum.

 

Como disse estudar é sempre bom

para evitar que uma "vírgula" se

torne um problema. ^_^

 

Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi, valeu mesmo pela antenção.

Somente funciona, quando eu retiro o ORDER BY. Com ele não funciona. Estou estudando algo agora que diz que quando a um UNION e um ORDER BY o select tem que vir entre parenteses, mas também não estou conseguindo.

 

Até mais,

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.