Avatar billede kirsten Nybegynder
20. april 2001 - 18:53 Der er 25 kommentarer og
1 løsning

datetime!

Hey.
Jeg fatter ikke en brik af det her!
Jeg er ved at koge en gæstebog sammen men jeg kan sgu ikke få datoen til at spille...
Jeg bruger følgende kode til at indsætte i db\'n.

<html>
<BODY>
<center>
skriv i gæstebogen
<form action=\"write.php\" method=\"post\" name=\"FormName\">
  navn<br>
  <input type=\"text\" name=\"navn\"> <br>
  email<br>
  <input type=\"text\" name=\"email\"><br>
  kommentar<br>
  <textarea name=\"kommentar\" cols=\"15\" rows=\"10\"></textarea><br>
  <input type=\"hidden\" name=\"sendt\" value=\"true\">
  <input type=\"submit\">
  </form>
</center>


<?php
 
if ($sendt){


echo \"sendt\" ;
$connection = mysql_connect(\"localhost\", \"root\");


$insertSQL = \"insert into indlaeg (navn, email, kommentar, tid) values(\'$navn\', \'$email\', \'$kommentar\', \'$now()\')\";
mysql_db_query(\"gb\", $insertSQL);

mysql_close();
}
?>
</BODY>
</html>

CREATE TABLE indlaeg
  (id tinyint(4) DEFAULT \'0\' NOT NULL AUTO_INCREMENT,
  navn varchar(20),
  email varchar(20),
  kommentar varchar(20),
  tid datetime not null,
  PRIMARY KEY (id), UNIQUE id (id));

Den spytter bare 01/01 1970 kl 01:00 ud!
Avatar billede dalbjerg Nybegynder
20. april 2001 - 18:55 #1
$insertSQL = \"insert into indlaeg (navn, email, kommentar, tid) values(\'$navn\', \'$email\', \'$kommentar\', \'now()\')\";
Avatar billede mortenfn Nybegynder
20. april 2001 - 18:55 #2
$insertSQL = \"insert into indlaeg (navn, email, kommentar, tid) values(\'$navn\', \'$email\', \'$kommentar\', \'date()\')\";
Avatar billede mortenfn Nybegynder
20. april 2001 - 18:56 #3
hvis du bruger time() er det meget næmmere at have med at gøre når du skal udskrive resultatet
Avatar billede kirsten Nybegynder
20. april 2001 - 18:56 #4
slap af det gik hurtigt!
:)
Avatar billede dalbjerg Nybegynder
20. april 2001 - 18:57 #5
sådan er det på eksperten...
Avatar billede mortenfn Nybegynder
20. april 2001 - 18:57 #6
og så sætter tid til INT
Avatar billede kirsten Nybegynder
20. april 2001 - 18:58 #7
den spytter det samme ud med time.
jeg har også prøvet de andre og det er også det samme! Måske ligger fejlen i siden som viser db\'n?
<?php
    $connection = mysql_connect(\"localhost\", \"root\");
    $db = \"gb\";

    $result = mysql_db_query($db, \"SELECT * FROM indlaeg\");

    while ($row = mysql_fetch_row($result)) {
      echo \"Id: \".$row[0].\"<br>\";
      echo \"navn: \".$row[1].\"<br>\";
      echo \"email: <a href=mailto:\".$row[2].\">\".$row[2].\"</a><br>\";
      echo \"kommentar: \".$row[3].\"<br>\";
      echo date(\"d/m Y \",$row[\"4\"]).\"kl \".date(\"H:i\",$row[\"4\"]); 
      echo \"<br>\\n\";
      echo \"<br>\\n\";
    }
    mysql_free_result($result);
?>
Avatar billede mortenfn Nybegynder
20. april 2001 - 19:00 #8
echo \"Id: \".$row[\"id\"].\"<br>\";

osv
Avatar billede kirsten Nybegynder
20. april 2001 - 19:01 #9
\"og så sætter tid til INT\"
Hvor gør jeg det?
Undskyld hvis det er et dumt spm, men jeg er grøn!
Avatar billede mortenfn Nybegynder
20. april 2001 - 19:01 #10
du skal ikke bruge tal men navnet på kolonnen
Avatar billede mortenfn Nybegynder
20. april 2001 - 19:02 #11
kommentar varchar(20),
  tid INT not null,
  PRIMARY KEY (id), UNIQUE id (id));
Avatar billede mortenfn Nybegynder
20. april 2001 - 19:04 #12

    $connection = mysql_connect(\"localhost\", \"root\");
    $db = \"gb\";

    $result = mysql_db_query($db, \"SELECT * FROM indlaeg\");

    while ($row = mysql_fetch_row($result)) {
      echo \"Id: \".$row[\"id\"].\"<br>\";
      echo \"navn: \".$row[\"navn\"].\"<br>\";
      echo \"email: <a href=mailto:\".$row[\"email\"].\">\".$row[\"email\"].\"</a><br>\";
      echo \"kommentar: \".$row[3].\"<br>\";
      echo date(\"d/m Y\",$row[\"tid\"]).\"kl \".date(\"H:i\",$row[\"tid\"]); 
      echo \"<br>\\n\";
      echo \"<br>\\n\";
    }
    mysql_free_result($result);
Avatar billede mortenfn Nybegynder
20. april 2001 - 19:05 #13
echo \"<br><br>\";

kun en

prøv lige om du kloges
Avatar billede kirsten Nybegynder
20. april 2001 - 19:33 #14
Det funker stadigvæk ikke!
echo \"<br><br>\"; Jeg skal jo gøre det besværligt for mig selv! :)
Det virker heller ikke når jeg bruger feks .$row[tid]. istedet for .$row[0].
:(
Avatar billede erikjacobsen Ekspert
20. april 2001 - 19:40 #15
mortenfn: hvis du vil bruge $row[\"tid\"] skal du også sige mysql_fetch_array, ikke
mysql_fetch_row (hvor man dog kan bruge tal, hvis man ellers kan tælle).
Avatar billede bo.morville Nybegynder
20. april 2001 - 19:42 #16
$insertSQL = \"insert into indlaeg (navn, email, kommentar, tid) values(\'$navn\', \'$email\', \'$kommentar\', \'$now()\')\"; ¨

skal vel være:

$insertSQL = \"insert into indlaeg (navn, email, kommentar, tid) values(\'$navn\', \'$email\', \'$kommentar\', \'\".time().\"\')\";
Avatar billede kirsten Nybegynder
20. april 2001 - 19:45 #17
stort det virker...
:)
Er det okay hvis du få 15 point for forsøget?
Avatar billede kirsten Nybegynder
20. april 2001 - 19:45 #18
sorry det sidste var til mortenfn
Avatar billede mortenfn Nybegynder
20. april 2001 - 19:47 #19
;o)
Avatar billede kirsten Nybegynder
20. april 2001 - 19:47 #20
?
Avatar billede kirsten Nybegynder
20. april 2001 - 19:48 #21
bo.morville>> vil du have de 30 point?
Avatar billede mortenfn Nybegynder
20. april 2001 - 19:48 #22
så må du kellere give erik de sidste jeg så ikke row i forhold array - de fleste bruger array
Avatar billede kirsten Nybegynder
20. april 2001 - 19:51 #23
ja det kunne der være noget om!
Men det kræver jo folk opretter et svar.
:)
Avatar billede erikjacobsen Ekspert
20. april 2001 - 20:06 #24
gleeeeem det med point - jeg er bare en gammel langhåret lærer, der
elsker at rette på eleverne når de laver en fejl :)
Avatar billede kirsten Nybegynder
20. april 2001 - 20:16 #25
:)
okay så for morten sgu hele l_rtet!
Takker for hjælpen :)
Avatar billede bo.morville Nybegynder
20. april 2001 - 20:54 #26
Jeg deler eriks opfattelse af pointsne, så det er helt ok at du har givet dem til morten...
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
Computerworld tilbyder specialiserede kurser i database-management

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