Juninho14 0 Denunciar post Postado Janeiro 8, 2008 Bom pessoal tenho uma grande dúvida, creio que seja simples de ser resolvida, so nao sei como ehhe.. Como tem mta gente cranio aki decidi pedir uma ajudinha.. tenho uma tabela assim: nome / id / data_cadastro / suspenso / pago / data_pagamento Junior 01 26/12/2007 nao nao null É um sisteminha assim: o cara se registra e fica 15 dias de graça no site, tem ate 15 dias para pagar, senao ele é suspenso, se ele pagar tem um ano de cadastro. Alguem pode me ajudar? Compartilhar este post Link para o post Compartilhar em outros sites
Paulo André 0 Denunciar post Postado Janeiro 8, 2008 Necessariamente você tem que guardar a data neste formato? Não pode ser o padrão americano? (YYYY-MM-DD) :huh: Compartilhar este post Link para o post Compartilhar em outros sites
Juninho14 0 Denunciar post Postado Janeiro 8, 2008 pode ser qualquer tipo sim... qualquer padrão... mas eh pq eu quero mostrar tipo: faltam x dias para seu registro ser suspenso... Compartilhar este post Link para o post Compartilhar em outros sites
Paulo André 0 Denunciar post Postado Janeiro 8, 2008 Estando no padrão YYYY-MM-DD, para bloquear o acesso você poderia fazer da seguinte maneira direto na consulta: SELECT * FROM usuarios WHERE id = xx AND CURDATE() < DATE_ADD(data_cadastro, INTERVAL 15 DAY) Se retornar os dados do usuário, ainda estará no tempo limite de 15 dias, caso contrário já ultrapassou o tempo. []'s Compartilhar este post Link para o post Compartilhar em outros sites
Juninho14 0 Denunciar post Postado Janeiro 8, 2008 se eu quiser checar entao se passou um ano eu faço interval 365? e se eu quiser fazer uma contagem regressiva? como faço? Compartilhar este post Link para o post Compartilhar em outros sites
Paulo André 0 Denunciar post Postado Janeiro 8, 2008 se eu quiser checar entao se passou um ano eu faço interval 365? "INTERVAL 1 YEAR" também. e se eu quiser fazer uma contagem regressiva? como faço? Para mostrar a quantidade de dias que o usuário ainda tem você tem que fazer o cálculo no PHP. Recebe a data de cadastro; Obtém a data de término; Subtrai um pelo outro e obtém os dias. Sugiro converter antes para o formato timestamp. []'s Compartilhar este post Link para o post Compartilhar em outros sites
Juninho14 0 Denunciar post Postado Janeiro 8, 2008 sem querer pedir demais, pode me dar um exemplo de como fazer isso, por favor? []s Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Janeiro 8, 2008 Dá para usar DATE_SUB() também. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif http://dev.mysql.com/doc/refman/5.1/en/dat...nction_date-sub Compartilhar este post Link para o post Compartilhar em outros sites
Paulo André 0 Denunciar post Postado Janeiro 8, 2008 Só que no caso Beraldo, para fazer subtração de uma data com outra esta função não se aplicaria, ou não? :huh: Bom, se tiver alguma idéia posta aqui, ai eu aprendo também. :D Fazendo no código, com o seguinte exemplo: CODE <?php $data_cadastro = date_parse("2008-01-04"); // PHP 5+ $data_expirar = mktime(date("H"), date("i"), date("s"), $data_cadastro['month'], $data_cadastro['day'] + 15, $data_cadastro['year']); $data_atual = mktime(); $diff = $data_expirar - $data_atual; echo $diff / 86400; ?> []'s Compartilhar este post Link para o post Compartilhar em outros sites
Juninho14 0 Denunciar post Postado Janeiro 8, 2008 não entendi o exemplo acima.. Compartilhar este post Link para o post Compartilhar em outros sites
Paulo André 0 Denunciar post Postado Janeiro 8, 2008 Me desculpe mas se você não executar, ler e procurar entender o que cada linha do código faz vai ficar difícil. O que eu fiz foi exatamente os três pontos que citei na mensagem anterior (#6). Só usar um pouco a lógica de programação que você aprendeu antes de iniciar em alguma linguagem de programação, certo? http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif []'s Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Janeiro 8, 2008 De fato, Paulo, DATE_SUB() não adianta , nesse caso. Mas há DATEDIFF(). http://dev.mysql.com/doc/refman/5.1/en/dat...nction_datediff No link já há exemplos. É só executar com PHP normalmente, como qualquer outra consulta. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
Juninho14 0 Denunciar post Postado Janeiro 8, 2008 não beleza, é q nao entendi a ultima linha, meu comentário foi meio vago ehauiehuia... pq dividir por 86400? Compartilhar este post Link para o post Compartilhar em outros sites
Paulo André 0 Denunciar post Postado Janeiro 8, 2008 É verdade Beraldo, neste caso é bem mais simples. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif @ Juninho Use a sugestão do Beraldo que é mais rápido e eficaz. BTW, eu dividi por 86400 porque como a diferença retornada é em segundos, eu dividi esta diferença pela quantidade de segundos que há em 24 horas (86400) []'s Compartilhar este post Link para o post Compartilhar em outros sites
Juninho14 0 Denunciar post Postado Janeiro 8, 2008 caraca , ai vcs são dez, mto obrigado pelas dicas! show de bola, vou começar a desenvolver essa parte aqui e qualquer dúvida eu volto aki neste tópico, e quando eu deixar 100% eu volto aki tb para mostrar o result. []s Compartilhar este post Link para o post Compartilhar em outros sites