n0TTT_ Posted October 5, 2013 at 03:20 PM Report #527727 Posted October 5, 2013 at 03:20 PM Como pegar a data quando o user regista uma conta? e depois inserir na db?
I-NOZex Posted October 5, 2013 at 06:26 PM Report #527736 Posted October 5, 2013 at 06:26 PM $data = time(); /* ... */ $sql = "INSERT INTO `utilizadores` VALUES ($user,$password,$data); mysql_query($sql); B2R » Beat2Revolution v3.0b | Regista e divulga-nos beat2revolution.net
HappyHippyHippo Posted October 5, 2013 at 07:00 PM Report #527740 Posted October 5, 2013 at 07:00 PM (edited) CREATE TABLE tabela ( -- ... ts_creation TIMESTAMP DEFAULT CURRENT_TIMESTAMP ts_update TIMESTAMP -- ... ); com estes campos deixas de necessitar de criar código para esse tipo de acção. o campo ts_creation terá a data/hora de criação do registo e o campo ts_update terá sempre a data/hora da última actualização do registo na base de dados. conclusão : a solução nem sequer é PHP ... Edited October 5, 2013 at 07:01 PM by HappyHippyHippo 2 Report IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
n0TTT_ Posted October 5, 2013 at 07:21 PM Author Report #527742 Posted October 5, 2013 at 07:21 PM CREATE TABLE tabela ( -- ... ts_creation TIMESTAMP DEFAULT CURRENT_TIMESTAMP ts_update TIMESTAMP -- ... ); com estes campos deixas de necessitar de criar código para esse tipo de acção. o campo ts_creation terá a data/hora de criação do registo e o campo ts_update terá sempre a data/hora da última actualização do registo na base de dados. conclusão : a solução nem sequer é PHP ... Não deu fica a data e a hora mas com '0'
HappyHippyHippo Posted October 5, 2013 at 07:30 PM Report #527744 Posted October 5, 2013 at 07:30 PM Não deu fica a data e a hora mas com '0' como não dá ? o que estás a fazer ? que código tens ? IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
n0TTT_ Posted October 5, 2013 at 07:58 PM Author Report #527746 Posted October 5, 2013 at 07:58 PM inseri as dua rows a minha tabela de members e quando se regista a data é renchida com zeros em vez de exemplo : 2013-10-05 20:30
HappyHippyHippo Posted October 5, 2013 at 10:42 PM Report #527756 Posted October 5, 2013 at 10:42 PM a "data" ou o novo campo ? IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
n0TTT_ Posted October 5, 2013 at 10:53 PM Author Report #527758 Posted October 5, 2013 at 10:53 PM O campo na database
HappyHippyHippo Posted October 5, 2013 at 11:14 PM Report #527759 Posted October 5, 2013 at 11:14 PM epa ... falar com quem não quer falar é como não falar ... vou passar a ignorar este tópico. sem informação é impossivel fazer alguma coisa ... IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
I-NOZex Posted October 5, 2013 at 11:31 PM Report #527760 Posted October 5, 2013 at 11:31 PM @n0TTT, nao sei se entendeste, mas tu vais ter de criar na base de dados 2 campos do tipo de dados timestramp... e nao vai la ficar a data, vai ficar uma sequencia de numeros (unix timestramp) http://www.unixtimestamp.com/ B2R » Beat2Revolution v3.0b | Regista e divulga-nos beat2revolution.net
Kami was taken Posted October 6, 2013 at 12:01 AM Report #527761 Posted October 6, 2013 at 12:01 AM O que eu acho que ele quer dizer é um campo DATE... Para inserires a data de registo em que o campo na base de dados é DATE então: $data = date("Y-m-d"); $sql = mysql_query("INSERT INTO tabela (nome, email, data) VALUES('$nome', '$email', '$data')"); OU se o campo for do tipo TIMESTAMP, em vez de teres date("Y-m-d"); poes time(); é isso?
I-NOZex Posted October 6, 2013 at 10:50 AM Report #527782 Posted October 6, 2013 at 10:50 AM timestramp é a forma mais segura e flexivel, pois pode obter tanto a data como a hora... e como o happyhippo fez defacto, nem precisa de php, um campo timestramp é automatico... B2R » Beat2Revolution v3.0b | Regista e divulga-nos beat2revolution.net
Devexz Posted October 6, 2013 at 11:05 AM Report #527786 Posted October 6, 2013 at 11:05 AM (edited) CREATE TABLE tabela ( -- ... ts_creation TIMESTAMP DEFAULT CURRENT_TIMESTAMP ts_update TIMESTAMP -- ... ); com estes campos deixas de necessitar de criar código para esse tipo de acção. o campo ts_creation terá a data/hora de criação do registo e o campo ts_update terá sempre a data/hora da última actualização do registo na base de dados. conclusão : a solução nem sequer é PHP ... aprendi uma coisa nova e interessante! 🙂 Edit: Estou a tentar criar esses dois campos na minha table e dá este erro: SQL Error (1293): Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause Edited October 6, 2013 at 11:52 AM by Devexz Contador de calorias: caloriaspordia.com
I-NOZex Posted October 6, 2013 at 02:22 PM Report #527804 Posted October 6, 2013 at 02:22 PM so num campo é que tas a meter CURRENT_TIMESTRAMP como default? exprimenta definir 0 para o outro campo... B2R » Beat2Revolution v3.0b | Regista e divulga-nos beat2revolution.net
Devexz Posted October 6, 2013 at 03:09 PM Report #527812 Posted October 6, 2013 at 03:09 PM se definir o outro campo com 0 o ts_update não funciona Contador de calorias: caloriaspordia.com
I-NOZex Posted October 6, 2013 at 08:38 PM Report #527823 Posted October 6, 2013 at 08:38 PM uhm :\ ele nao parece aceitar ter 2 campos com default de CURRENT_TIME provavelmente a data de atualizaçao vai ter de ser com php... a menos que ai o @happyHippo saiba como dar a volta com o mysql... B2R » Beat2Revolution v3.0b | Regista e divulga-nos beat2revolution.net
Devexz Posted October 6, 2013 at 10:17 PM Report #527829 Posted October 6, 2013 at 10:17 PM O hippo sabe, eu é que estou a fazer alguma coisa errada Contador de calorias: caloriaspordia.com
HappyHippyHippo Posted October 7, 2013 at 08:32 AM Report #527844 Posted October 7, 2013 at 08:32 AM (edited) uhm :\ ele nao parece aceitar ter 2 campos com default de CURRENT_TIME provavelmente a data de atualizaçao vai ter de ser com php... a menos que ai o @happyHippo saiba como dar a volta com o mysql... pois ... esquecime que o MySQL tem essa estúpida limitação que somente um campo poderá ter como no create e on update o CURRENT_TIMESTAMP não faz muito sentido, mas é com o que temos de viver. sem entrar em processos a serem executados na criação de registos da tabela (solução 100% MySQL), o que é possivel é alterar o default do timestamp de criação para zero (0) e inserir "à mão": CREATE TABLE tabela ( -- ... ts_creation TIMESTAMP DEFAULT 0 ts_update TIMESTAMP -- sem nada indica "on create" e "on update" como CURRENT_TIMESTAMP -- ... ); $data = time(); $sql = "INSERT INTO `utilizadores ( -- ... ts_creation, -- ... ) VALUES ( -- ... '".date("Y-m-d H:i:s)."', -- não esquecer dos 's para indicar que é uma string -- ... );"; Edited October 7, 2013 at 08:33 AM by HappyHippyHippo 1 Report IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
I-NOZex Posted October 7, 2013 at 11:29 AM Report #527866 Posted October 7, 2013 at 11:29 AM $data = time(); $sql = "INSERT INTO `utilizadores ( -- ... ts_creation, -- ... ) VALUES ( -- ... '".date("Y-m-d H:i:s")."', -- não esquecer dos 's para indicar que é uma string -- ... );"; Corrigi o codigo 😉 (aspas) B2R » Beat2Revolution v3.0b | Regista e divulga-nos beat2revolution.net
Devexz Posted October 7, 2013 at 08:59 PM Report #527966 Posted October 7, 2013 at 08:59 PM pois ... esquecime que o MySQL tem essa estúpida limitação que somente um campo poderá ter como no create e on update o CURRENT_TIMESTAMP não faz muito sentido, mas é com o que temos de viver. sem entrar em processos a serem executados na criação de registos da tabela (solução 100% MySQL), o que é possivel é alterar o default do timestamp de criação para zero (0) e inserir "à mão": CREATE TABLE tabela ( -- ... ts_creation TIMESTAMP DEFAULT 0 ts_update TIMESTAMP -- sem nada indica "on create" e "on update" como CURRENT_TIMESTAMP -- ... ); $data = time(); $sql = "INSERT INTO `utilizadores ( -- ... ts_creation, -- ... ) VALUES ( -- ... '".date("Y-m-d H:i:s)."', -- não esquecer dos 's para indicar que é uma string -- ... );"; pois... vi também uma resposta semelhante à cerca dessa limitação no stack. mas obrigado pelo esclarecimento 😉 Contador de calorias: caloriaspordia.com
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now