Ir para conteúdo

POWERED BY:

Arquivado

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

Leandro Nigre

Busca por data

Recommended Posts

Tenho um sistema de notícias onde as mesmas são cadastradas numa página administrativa e exbidas na home do site. A data é gerada por código na hora da inserção, e fica no formato YYYY-MM-DD. Até aí tudo bem pois faço o recordSet exibila-las no formato em português. A questão é que esta Data fica num único campo de formulário DATA, e eu queria fazer um mecanismo de busca por data, que se pudesse pesquisar apenas o dia, ou o mês, ou o ano, e até mesmo uma pesquisa entre data. Alguém poderia me dar um exemplo? Conheço o básico de PHP. faço tudo pelo dreamweaver e altero manualmente só o que é preciso.

 

Leandro

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode fazer o seguinte..

 

pegar o dia

SELECT date_format(campodata, '%d/%m/$Y') as data FROM TABELA
WHERE
date_format(campodata, '%d') = '".$_POST['campo_formulario_dia']."'

mes

SELECT date_format(campodata, '%d/%m/$Y') as data FROM TABELA
WHERE
date_format(campodata, '%m') = '".$_POST['campo_formulario_mes']."'

ano

SELECT date_format(campodata, '%d/%m/$Y') as data FROM TABELA
WHERE
date_format(campodata, '%Y') = '".$_POST['campo_formulario_ano']."'

acho que resolve :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

Movido: PHP=>MySQL

Compartilhar este post


Link para o post
Compartilhar em outros sites

Leandro,

 

Se entendi o que você quiz dizer, acredito que você pode utilizar as funções DATE(), DAY(), MONTH() e YEAR() do MySQL.

 

[b]Exemplo 1:[/b]
Neste exemplo será selecionado todos os registros que tiverem o dia igual a '30', independente do mês e ano.
SELECT * FROM tabela WHERE DATE(campodata) = '30';

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Pessoal, me surgiu uma outa dúvida.

 

Tenho três campos de formulario, um de texto (dia) e dois menus de lista (mes e ano). Na minha query, eu programei para trazer resultado se o dia, o mes e o ano forem exatamente iguais ao buscado. Até aí, tudo bem. Depois disso, tentei buscar apenas pelo mes e pelo ano, deixando o dia em branco, e a query não dá certo, pois diz que o valor do campo dia é Nulo. Tomando como base esse sisteminha, é possível buscar somente uma das opções deixando as outras em branco, ou para isso, precisa-se programar de outra maneira?

 

 

CODE

 

$colname_d_rsBuscaData = "-1";

if (isset($_GET['dia'])) {

$colname_d_rsBuscaData = $_GET['dia'];

}

$colname_m_rsBuscaData = "-1";

if (isset($_GET['mes'])) {

$colname_m_rsBuscaData = $_GET['mes'];

}

$colname_a_rsBuscaData = "-1";

if (isset($_GET['ano'])) {

$colname_a_rsBuscaData = $_GET['ano'];

}

 

mysql_select_db($database_connPMMC, $connPMMC);

 

$query_rsBuscaData = sprintf("SELECT * FROM noticias WHERE DAY(`data`) = %s AND MONTH (`data`) = %s AND YEAR (`data`) = %s", GetSQLValueString($colname_d_rsBuscaData, "date"),GetSQLValueString($colname_m_rsBuscaData, "date"),GetSQLValueString($colname_a_rsBuscaData, "date"));

 

$rsBuscaData = mysql_query($query_rsBuscaData, $connPMMC) or die(mysql_error());

$row_rsBuscaData = mysql_fetch_assoc($rsBuscaData);

$totalRows_rsBuscaData = mysql_num_rows($rsBuscaData);

 

echo $query_rsBuscaData;

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.