Last replied date and time not same.

PHP programming forum. Ask questions or help people concerning PHP code. Don't understand a function? Need help implementing a class? Don't understand a class? Here is where to ask. Remember to do your homework!

Moderator: General Moderators

Post Reply
Php Beginner
Forum Commoner
Posts: 28
Joined: Fri Nov 04, 2011 9:04 am

Last replied date and time not same.

Post by Php Beginner »

Hi there,

I am currently doing a simple forum board but encountering a problem.
The 'Last replied time and date' in my forum index page is not updated to the last replied message time and date inside that particular topic.

Here's the code for the post reply

Code: Select all

<?php

include "connect.php"; //connection string

print "<link rel='stylesheet' href='style.css' type='text/css'>";

print "<table class='maintables'>";

print "<tr class='headline'><td>Reply</td></tr>";

print "<tr class='maintables'><td>";

if(isset($_POST['submit']))

{

   $name=$_POST['name'];

   $yourpost=$_POST['yourpost'];

   $subject=(isset($_POST['subject']))?$_POST['subject']:null;;

   
   $id=$_POST['id'];

   if(strlen($name)<1)

   {

      print "You did not type in a name."; //no name entered

   }

   else if(strlen($yourpost)<1)

   {

      print "You did not type in a post."; //no post entered

   }

   else

   {
      date_default_timezone_set('Asia/Brunei');
      $thedate=date("U"); //get unix timestamp

      $displaytime=date("F j, Y, h:i a");

      //we now strip HTML injections

      $subject=strip_tags($subject);

      $name=strip_tags($name);

      $yourpost=strip_tags($yourpost); 

      $insertpost="INSERT INTO elec_forum(author,title,post,showtime,realtime,lastposter, parentid) values('$name','$subject','$yourpost','$displaytime','$thedate','$name','$id')";

      mysql_query($insertpost) or die("Could not insert post"); //insert post

      $updatepost="Update elec_forum set numreplies=numreplies+'1', lastposter='$name', lastrepliedto='$thedate' where postid='$id'";

      mysql_query($updatepost) or die("Could not update post");
      print "Message updated, go back to <A href='elec_message.php?id=$id'>Message</a>.";

   }



}

else

{

   $id=$_GET['id'];

   print "<form action='elec_reply.php' method='post'>";

   print "<input type='hidden' name='id' value='$id'>";

   print "Your name:<br>";

   print "<input type='text' name='name' size='20'><br>";

   print "Your message:<br>";

   print "<textarea name='yourpost' rows='5' cols='40'></textarea><br>";

   print "<input type='submit' name='submit' value='submit'></form>";



}

print "</td></tr></table>";

?>
Code for index page:

Code: Select all

<p ><h3 align="center">Department of Electronic Engineering</h3>
<?php 

include "connect.php"; //mysql db connection here

print "<link rel='stylesheet' href='style.css' type='text/css'>";

print "<A href='elec_post.php'>New Topic</a><br>";

print "<table class='maintable'>";

print "<tr class='headline'><td width=50%>Discussion Topic</td><td width=20%>Author</td><td>Replies</td><td>Last replied time</td></tr>";

$getthreads="SELECT * from elec_forum where parentid='0' order by lastrepliedto DESC";

$getthreads2=mysql_query($getthreads) or die("Could not get threads");


while($getthreads3=mysql_fetch_array($getthreads2))

{

  $getthreads3['title']=strip_tags($getthreads3['title']);

  $getthreads3['author']=strip_tags($getthreads3['author']);
 
  print "<tr class='mainrow'><td><a href='elec_message.php?id=$getthreads3[postid]'>$getthreads3[title]</a></td><td>$getthreads3[author]</td><td>$getthreads3[numreplies]</td><td>
$getthreads3[showtime]<br>Last post by <b>$getthreads3[lastposter]</b></td></tr>";

}

print "</table>";



?>  

<a href="forum.php?"><img src="image/button_back1.gif" border="0" align="right"/></a>
The line of code in 'post reply' code

Code: Select all

$updatepost="Update elec_forum set numreplies=numreplies+'1', lastposter='$name', lastrepliedto='$thedate' where postid='$id'";
give the correct 'last replied time and date'

Line of code in index page-line 28

Code: Select all

$getthreads3[showtime]
give the time and date of the topic author. How to correct this so that I can know the last poster replied time and date in the index page?
User avatar
califdon
Jack of Zircons
Posts: 4484
Joined: Thu Nov 09, 2006 8:30 pm
Location: California, USA

Re: Last replied date and time not same.

Post by califdon »

What datatype is your `realtime` field in the table? You are trying to assign it a string value, with single quotes around it. Are you getting any error message?
Php Beginner
Forum Commoner
Posts: 28
Joined: Fri Nov 04, 2011 9:04 am

Re: Last replied date and time not same.

Post by Php Beginner »

califdon wrote:What datatype is your `realtime` field in the table? You are trying to assign it a string value, with single quotes around it. Are you getting any error message?
Data type use for 'realtime' is "bigint' with the length of 20. I did not get any error message, just the time of the last poster posted his/her message could not be updated in the index page. The update of the last poster name is working fine, just the problem of the time.
User avatar
califdon
Jack of Zircons
Posts: 4484
Joined: Thu Nov 09, 2006 8:30 pm
Location: California, USA

Re: Last replied date and time not same.

Post by califdon »

Php Beginner wrote:
califdon wrote:What datatype is your `realtime` field in the table? You are trying to assign it a string value, with single quotes around it. Are you getting any error message?
Data type use for 'realtime' is "bigint' with the length of 20. I did not get any error message, just the time of the last poster posted his/her message could not be updated in the index page. The update of the last poster name is working fine, just the problem of the time.
Exactly! A "bigint" is an integer and cannot store a string value. You put single quotes around the value in your INSERT statement, so it cannot store it. You must remove the single quotes around the variable $thedate, like this:

Code: Select all

      $insertpost="INSERT INTO elec_forum(author, title, post, showtime, realtime, lastposter, parentid) values('$name', '$subject', '$yourpost', '$displaytime', $thedate, '$name', '$id')";
That should do it.
Post Reply