Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
COlegas, tenho duas tabelas
agendatemporaria
id_agenda_temporaria` int(11) NOT NULL AUTO_INCREMENT,
id_cligeral int(5) NOT NULL,
evento varchar(200) NOT NULL,
dtevento date NOT NULL,
autor varchar(200) NOT NULL,
data timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
hora varchar(5) NOT NULL,
conteudo text NOT NULL,
local varchar(200) NOT NULL,
PRIMARY KEY (id_agenda_temporaria)
)
cligeral
cligeral` (
id_cligeral int(100) NOT NULL AUTO_INCREMENT,
nome varchar(255) DEFAULT NULL,
rua varchar(255) DEFAULT NULL,
num varchar(255) DEFAULT NULL,
bairro varchar(255) DEFAULT NULL,
cidade varchar(255) DEFAULT NULL,
uf varchar(255) DEFAULT NULL,
email varchar(255) DEFAULT NULL,
data_nasc datetime DEFAULT NULL,
cpf varchar(255) DEFAULT NULL,
rg varchar(255) DEFAULT NULL,
cep varchar(255) DEFAULT NULL,
data_cadastro timestamp NOT NULL DEFAULT
Preciso resgatar a data dos eventos cadastrados nesta agenda. O script que uso resgata dados com identificadores iguais, mas quando peço para filtrar as datas ele retorna nada.
SELECT *
FROM cligeral AS c INNER JOIN agendatemporaria AS a ON a.id_cligeral=c.id_cligeral
WHERE date_format( dtevento, 'd/m/Y' ) BETWEEN datainicio AND datafim
ORDER BY a.dtevento
.
Me ajudem por favor
Uma pergunta:
Por que você está utilizando date_format se você automaticamente possui um campo do tipo date na sua tabela? E para datas... você deveria alterar o campo datainicio e datafim para DATE, padronizando a sua modelagem.
SELECT * FROM cligeral AS c INNER JOIN agendatemporaria AS a ON a.id_cligeral=c.id_cligeral
WHERE dtevento BETWEEN datainicio AND datafim
ORDER BY a.dtevento
:ermm:
Ola
Alterei o meu BD e minha SQL ficou assim
SELECT * FROM cliente
AS c INNER JOIN agenda AS a
ON
c.id=a.id_cliente
WHERE dtevento BETWEEN inicio AND fim ORDER BY a.dtevento
Mas a consulta é vazia, mesmo com o BD tendo eventos para o dia selecionado
Quais os formatos e conteúdos de inicio / fim ?
Meu form é este
<form id="form1" name="form1" method="get" action="buscadata.php">
<input name="inicio" id="inicio" value="" size="10" maxlength="10" />
<input name="fim" id="fim" value="" size="10" maxlength="10" />
<input type="submit" name="busca" id="busca" value="Pesquisar na Agenda" />
<p><a href="listagenda.php">Listar Eventos</a> | <a href="servico_dia.php" target="_blank">Serviço do dia</a> |</p>
</fieldset></form>
e minha tabela está assim
agenda (
id int(11) NOT NULL AUTO_INCREMENT,
id_cliente int(5) NOT NULL,
evento varchar(200) NOT NULL,
[b]dtevento date NOT NULL,[/b]
autor varchar(200) NOT NULL,
data timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
hora varchar(5) NOT NULL,
conteudo text NOT NULL,
local varchar(200) NOT NULL,
PRIMARY KEY (id)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=226 ;
NO entanto, mesmo realizando o select direto no BD o resultado é vazio.Já não sei o que fazer.mesmo realizando o select direto no BD o resultado é vazio
você n postou a consulta, mas
tente isso, no banco:
select * from agenda
where dtevento
between '2011-01-01' and
'2012-12-31';
atenção às aspas e retorne o resultado,
mas já t adianto: se der certo, o resto é PHP, ok?
Tente utilizar as datas no formato padrao, AAAA-MM-DD, utilize date format somente nas strings de retorno, caso necessario, talvez isto esteja interferindo na sua query