Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia. :)
Alguém conhece algum artigo que, ensina como poderia fazer um exemplo básico de como, por exemplo, passar um registro de uma determinada coluna para outra?
Numa tabela tenho:
curtida_hoje
curtida_ontem
curtida_semana
curtida_mes
Vamos supor, que estejam com os seguintes valores:
curtida_hoje = 0
curtida_ontem = 2
curtida_semana = 1
curtida_mes = 0
Tudo bem até aqui. Agora, você curte uma página hoje. Então, o curtida_hoje será 1. Amanhã, você curte de novo... Tem como pegar o valor do curtida_hoje e adicionar no curtida_ontem ? E assim segue para o curtida_semana e mes?
Dúvida cabulosa. :mellow:
Oi Rockgo. :D Você sabe de algum artigo ou dica que ensina os primeiros procedimentos? Apesar de, imaginar que da pra fazer isso usando o if e else, se tivesse um artigo ou dica, seria ótimo.
Sua resposta já me ajudou muito. Obrigado.
Cara tem esse artigo mas não é igual a que você quer, mas dá para você tirar uma base.
http://webzoon.blogspot.com.br/2013/05/como-criar-um-sistema-de-curtir-igual.html
Fiquei curioso haha.
utilizar datas não vale pra resolver o problema?
Ex: da pra fazer contagem entre periodo de datas por mysql, é easy-easy.
Trazendo as curtidas de hoje,de ontem, desde o inicio do mês, todas do mês atras e assim por diante.
Ou você ta buscando algo realmente tipo ordenação?
É isso que disse Gabriel. Eu montei inclusive, uma função para este procedimento já... Só que ainda não testei. Ele consiste em:
se a data antiga =! da mais atual {
require_once('new_day.php');
Executa a bagaça
}
Daí... tipo, dentro do new_day, eu criei a função na qual atualiza no BD a data atual e a antiga.
:D Só não testei ainda.
EDIT: Aqui está:
$CONF = array();
$FORM = array();
$TMPL = array();
// Is it a new day/week/month?
$time = time() + (3600*$CONF['time_offset']);
$current_day = date('d', $time);
$current_week = date('W', $time);
$current_month = date('m', $time);
list($last_new_day, $last_new_week, $last_new_month) = $BD = mysql_query("SELECT last_new_day, last_new_week, last_new_month FROM etc");
if ($last_new_day != $current_day) {
require_once("includes/new_day.php");
new_day($current_day);
}
if ($last_new_week != $current_week) {
require_once("includes/new_day.php");
new_week($current_week);
}
if ($last_new_month != $current_month) {
require_once("includes/new_day.php");
new_month($current_month);
}
Só que não está funcionando ainda.
Bom parceiro se vale usar data, recomendo 'esquecer' o php e resolver via myqsl.
Se liga nesse exemplo:
Vamos criar 2 tabelas, uma vai ser o usuario e a outra a curtidas apenas para a contagem.
Na tabela curtida vamos colocar a data atual sempre q ocorrer uma curtida:
CREATE TABLE pessoa(
id int(8) PRIMARY KEY AUTO_INCREMENT
,nome VARCHAR(50)
)Engine=InnoDb;
INSERT INTO pessoa(nome) VALUES ('Gabriel');
INSERT INTO pessoa(nome) VALUES ('Globettroter');
CREATE TABLE curtidas(
id int(8) PRIMARY KEY AUTO_INCREMENT
,pessoa_id int(8) NOT NULL
,dt_curtida DATE NOT NULL
,FOREIGN KEY (`pessoa_id` )
REFERENCES `pessoa` (`id` )
)Engine=InnoDb;
INSERT INTO curtidas(pessoa_id, dt_curtida) VALUES (1, '2016-01-16');
INSERT INTO curtidas(pessoa_id, dt_curtida) VALUES (1, '2016-01-16');
INSERT INTO curtidas(pessoa_id, dt_curtida) VALUES (1, '2016-01-15');
INSERT INTO curtidas(pessoa_id, dt_curtida) VALUES (1, '2016-01-15');
já populei com 4 curtidas o usuário 1, sendo 2 no dia 16, e 2 no dia 15....
sabendo que o mysql tem a função curdate() podemos utulizar data atual - 1 dia.
Ex:
select NOW() - INTERVAL 1 DAY as ontem from dual;
Ou seja vamos fazer uma contagem de curtidas na 'pessoa_id = 1' e retringir a data igual a ontem, ai só jogar no where...
select
count(*) qtd_curtidas
from curtidas
where pessoa_id = 1
and dt_curtida = (curdate() - INTERVAL 1 DAY)
----------------------------------------
+----------+
| count(*) |
+----------+
| 2 |
+----------+
1 row in set (0.00 sec)
*Obs: lembrando que executei esse script no dia 16... então esses 2 resultados são das curtidas '2016-01-15' :)
Boa dica amigo. Obrigado, vou testá-las.
Obrigado a todos!
Eu salvaria as curtidas diárias.
Faz uma verificação se já existe o registro do dia, se não existir você insere o registro do dia, se existir você só incrementa a curtida. Agora se a curtida foi hoje, ontem ou mês passado, você consegue selecionar pela data do registro.
Ou pode salvar cada curtida mas vai gerar muito registro, mas nesse caso pode salvar até quem curtiu caso tenha usuário.