Avatar billede dennism Nybegynder
04. februar 2003 - 17:53 Der er 18 kommentarer og
2 løsninger

MySQl/PHP

Jeg har dette tabel:

mysql_query("CREATE TABLE brugere (
id INT(11) DEFAULT '0' NOT NULL AUTO_INCREMENT PRIMARY KEY,
status VARCHAR(40) DEFAULT '0' NOT NULL,
brugernavn VARCHAR(40),
password VARCHAR(40),
email VARCHAR(40),
point INT(11) DEFAULT '0' NOT NULL,
oprets_dato TIMESTAMP(14),
logind_dato TIMESTAMP(14)
);");

Når jeg indsætter en række i tabellen, blir' "oprets_dato" f.eks. "20030204174108", og "logind_dato" blir' "00000000000000". Hvordan kan det være at det kun er den første der får indsat noget?..

Iøvrigt, når jeg så opdaterer nogle felter i min tabel, så bliver "oprets_dato" automatisk ændret til en ny data/klokkesæt!.. Hvordan kan få den til at stoppe med det?
Avatar billede htm Nybegynder
04. februar 2003 - 17:55 #1
Det er svært at hjælpe uden en kode til hvor du opdaterer databasen...

Din tabel er der jo ikke noget galt med!
Avatar billede moefelt Nybegynder
04. februar 2003 - 17:56 #2
vi er nødt til at se den del der skal sætte noget ind
Avatar billede dennism Nybegynder
04. februar 2003 - 18:26 #3
Helt iorden :)
Det gør jeg på følgende måde:

$mysql = mysql_query("INSERT INTO brugere (brugernavn, email, password) values ('$_POST[brugernavn]', '$_POST[email]', '$_POST[password]')");
Avatar billede moefelt Nybegynder
04. februar 2003 - 18:27 #4
du sætter jo ikke data felterne til noget!
Avatar billede moefelt Nybegynder
04. februar 2003 - 18:28 #5
oprets_dato kan du lave sådan:

$mysql = mysql_query("INSERT INTO brugere (brugernavn, email, password, oprets_dato) values ('$_POST[brugernavn]', '$_POST[email]', '$_POST[password]', now())");
Avatar billede moefelt Nybegynder
04. februar 2003 - 18:29 #6
logind_dato skal jo så updateres hver gang brugeren logger på
Avatar billede erikjacobsen Ekspert
04. februar 2003 - 19:21 #7
Du kan reelt kun have een TIMESTAMP i en tabel. Den bliver
opdateret ved hver ændring ('20030204...' er korrekt) af tuplen.

Skal du håndtere andre tidspunkter, så skal du bruge DATETIME
og selv sætte tidspunkt ind.
Avatar billede dennism Nybegynder
04. februar 2003 - 19:22 #8
Oki.. Men hvordan laver jeg så sådan, at den ikke selv opdateret feltet?
Avatar billede erikjacobsen Ekspert
04. februar 2003 - 19:28 #9
Første TIMESTAMP opdateres automatisk. Du skal bare bruge
en DATETIME (eller 2...)
Avatar billede dennism Nybegynder
04. februar 2003 - 19:29 #10
Du mener altså at jeg skal bruge følgende istedet:

oprets_dato DATETIME,
logind_dato DATETIME,

Og så manualt sætte inddholdet i kolonen via now() ?
Avatar billede erikjacobsen Ekspert
04. februar 2003 - 19:37 #11
Ja. Så bestemmer du hvad der skal stå.
I en TIMESTAMP sætter mysql selv værdier ind
ved hver opdatering. Om du kan bruge det kan
jeg så ikke lige gennemskue
Avatar billede dennism Nybegynder
04. februar 2003 - 21:24 #12
Når jeg bruger DATETIME blir' formatet f.eks.:
2003-02-04 21:22:17

Kan jeg ik lave det i:
20030204212217

??
Avatar billede erikjacobsen Ekspert
04. februar 2003 - 21:37 #13
Øh jo, men hvorfor lige det format?

Ved udtræk laver du en

  $tid = ereg_replace('[: -]','',$tid);

med et andet navn end $tid, sikkert.
Avatar billede dennism Nybegynder
04. februar 2003 - 21:39 #14
erikjacobsen >>

Kan man godt sortere formatet "2003-02-04 21:22:17" optimalt?
Avatar billede erikjacobsen Ekspert
04. februar 2003 - 21:43 #15
Ja, det er fuldstændig li'så godt
Avatar billede dennism Nybegynder
04. februar 2003 - 21:46 #16
Det er noget skidt at du ik vil tage imod point, du Erik! :D
Det er sku altid dig der kommer med det bedste svar (i hvert falde i PHP kategorien)... Jeg synes på en måde at jeg skylder dig noget, når nu du ik fået nogen point!... :(

Hvad skal jeg gøre ved mine point, i dette spm.? Det er dine, så du bestemmer :D
Avatar billede erikjacobsen Ekspert
04. februar 2003 - 21:50 #17
Jeg er ligeglad. Jeg skal nok tage mod point igen
når jeg engang slipper for PRO-abonnementet.
Hmm - til sommer kan du slå min græsplæne *g*
Avatar billede dennism Nybegynder
04. februar 2003 - 22:17 #18
Hehe... Det er så en aftale :D

HVad skal jeg gøre ved DINE point i denne omgang?
Avatar billede erikjacobsen Ekspert
04. februar 2003 - 22:20 #19
Ha, du ved ikke hvor stor min græsplæne er. Det er ikke just
et rækkehus jeg bor i ... ;)

Min point? Jeg er ligeglad!
Avatar billede dennism Nybegynder
04. februar 2003 - 22:32 #20
Oki... Så deler jeg DINE point med moefelt!...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester