Jump to content

Showing next set of replys similar to facebook


merylvingien

Recommended Posts

Hi Folks, i have been at this for ages and its now depressing me as i cannot figure out why i cant get it to work.

 

I am using a re-hashed version of a facebook style wall post system where it limits the amount of replies, you click a button and gets the next set and so on until there are no more results to get.

The original script runs ok but is not really suitable for what i need

So to my script which is based loosley on the same principal.

 

Ok i have a veiwmember.php page which uses pagination to limit the amount of wall posts to 5.

I have included the various javascript files jquery and another which is needed.

 

The function used is this one:

 

<script type="text/javascript" src="jquery.livequery.js"></script>
<script type="text/javascript" src="jquery-1.2.6.min.js"></script>

<script type="text/javascript">
//more records show
	$('a.more_records').livequery("click", function(e){

		var next =  $(this).attr('id').replace('more_','');

		$.post("data.php?show_more_post="+next, {

		}, function(response){
			$('#bottomMoreButton').remove();
			$('#posting').append($(response).fadeIn('slow'));

		});

	});

</script>

 

The php code in veiwmember.php that gets the wall posts is:

 

Pagination code here
<?php 
$getwallposts= ("SELECT * FROM wallposts WHERE recipientid='$memberid' ORDER BY id DESC LIMIT $offset, $rowsperpage");
$result = mysql_query($getwallposts,$con);
while ($row2 = mysql_fetch_assoc($result)) {
$messageid= $row2['id'];
$senderid= $row2['senderid'];
$wallpost= $row2['wallpost'];
$timesent= $row2['timesent'];
$timestamp = strtotime($timesent);
$likes= $row2['likes'];
$getname= ("SELECT fname, lname, image1 FROM memocp WHERE unid='$senderid'");
$nameresult= mysql_query($getname,$con);
while ($rowws = mysql_fetch_array($nameresult)) {
$fname= $rowws['fname'];
$lname= $rowws['lname'];
$wallpostprofilethumb= "{$rowws['image1']}";
if (empty($wallpostprofilethumb)) {$wallpostprofilethumb= "noimage.png";}
}
?>
<div class="wallpost"><div class="from"><div class"profilethumb"><img src="profilethumb/<?php echo $wallpostprofilethumb; ?>"></div><a href="veiwmember.php?membid=<?php echo "$senderid"; ?>"><?php echo "$fname $lname"; ?></a></div><div class="postbody"><?php echo txt2link($wallpost) ?><div class="timesent"><?php echo date('l jS F Y @ H:i a', $timestamp); ?></div></div><div class="likes"><form action="like.php" method="post"><?php if (isset($_GET['currentpage'])) {$currentpage= $_GET['currentpage']; echo "<input name=\"currentpage\" type=\"hidden\" value=\"$currentpage\">";} ?><input name="messageid" type="hidden" value="<?php echo "$messageid"; ?>"><input name="base" type="hidden" value="<?php echo "$memberid"; ?>"><input name="like" type="image" src="ima/like.jpg"><?php echo " $likes people like this"; ?></form></div></div>
<?php include_once('data.php'); ?>



<?php }
rest of pagination

 

The pagination sort of works, but only displays one result per page when it should show 5 results plus how ever many replies, but i can sort that out later, would prefer to get the replies working first.

 

 

You will see that data.php is included which gets the replies to the wall posts.

It should limit the amount of replies shown to five, and then if there is more, it will show a link to get more.

If that link is clicked it should get the next five results and show them. However it shows the first five and the link if there are more results, but if the link is clicked, nothing happens.

 

data.php

 

require ("database.php");
$next_records = 5;
$show_more_button = 0;

if(isset($_REQUEST['show_more_post'])) // more posting paging

{

   // button has been clicked so we need to get next set of results
   $next_records = $_REQUEST['show_more_post'] + 5;

   $result = mysql_query("SELECT * FROM wallreplies2 WHERE messageid='$messageid' ORDER BY wallreplyid DESC limit ".$_REQUEST['show_more_post'].", 5");

   // see if there are any more replies to get
   $check_res = mysql_query("SELECT * FROM wallreplies2 order by wallreplyid DESC limit ".$next_records.", 5");
   $show_more_button = 0; // button in the end

   $check_result = mysql_num_rows($check_res);
   if($check_result > 0)
   {
   // if there any more results counted the button needs to be shown
   $show_more_button = 1;
   }

}
// if the button hasnt been clicked we need to get the first results
else
{	


   // lets count the number of results that exist
   $countreplies= 	mysql_query("SELECT * FROM wallreplies2 WHERE messageid='$messageid'");
   $countresult= mysql_num_rows($countreplies);


   // if there are more than 5 results
   if ($countresult > 5) 
		{
   // the button needs to be shown
   $show_more_button = 1;
		}
   else 
		{
   // if there are 5 or less replies in total, dont show the button
   $show_more_button = 0;}
   //there are only 5 or less replies to get so get the first results
   $result = mysql_query("SELECT * FROM wallreplies2 WHERE messageid='$messageid' ORDER BY wallreplyid DESC limit 0,5");

}





//$replyresult = mysql_query($result,$con);
while ($roww = mysql_fetch_array($result)) { 
$wallreplyid= $roww['wallreplyid'];
$sendid= $roww['senderid'];
$wallreply= $roww['wallreply'];
$time= $roww['timesent'];
$Timestamp = strtotime($time);
$like= $roww['likes'];
$getreplynames = ("SELECT fname, lname, image1 FROM memocp WHERE unid='$sendid'");
$nameresults = mysql_query($getreplynames,$con);
while ($roww = mysql_fetch_array($nameresults)) {
$fnames= $roww['fname'];
$lnames= $roww['lname'];
$wallreplyprofilethumb= "{$roww['image1']}";
if (empty($wallreplyprofilethumb)) {$wallreplyprofilethumb= "noimage.png";}
}
?>
<div class="wallreplies" id="record-<?php echo"$wallreplyid"; ?>">
<div class="wallreplywrap">
<div class="wallfrom">
<div class"profilethumb"><img src="profilethumb/<?php echo $wallreplyprofilethumb; ?>"></div>
<a href="veiwmember.php?membid=<?php echo "$sendid"; ?>"><?php echo"$fnames $lnames"; ?></a>
</div>
<div class="wallmessbody"><?php echo txt2link($wallreply) ?></div>
<div class="timesent"><?php echo date('l jS F Y @ H:i a', $Timestamp); ?></div>
<div class="likes"><form action="like2.php" method="post"><?php if (isset($_GET['currentpage'])) {$currentpage= $_GET['currentpage']; echo "<input name=\"currentpage\" type=\"hidden\" value=\"$currentpage\">";} ?><input name="messageid" type="hidden" value="<?php echo "$wallreplyid"; ?>"><input name="base" type="hidden" value="<?php echo "$memberid"; ?>"><input name="like" type="image" src="ima/like2.jpg"><?php echo " $like people like this"; ?></form>
</div>
</div>
</div>
<?php }
if($show_more_button == 1){
echo "<div class=\"bottomMoreButton\">
<a id=\"more_$next_records\" class=\"more_records\" href=\"javascript: void(0)\">Get more replies</a>
</div>"; }?>
<div class="wallreply">
<form action="wallreply.php" method="post">
<input name="sendrid" type="hidden" value="<?php echo "$loginuniqid"; ?>">
<input name="messageid" type="hidden" value="<?php echo "$messageid"; ?>">
<input name="base" type="hidden" value="<?php echo "$memberid"; ?>">
<?php if (isset($_GET['currentpage'])) {$currentpage= $_GET['currentpage']; echo "<input name=\"currentpage\" type=\"hidden\" value=\"$currentpage\">";} ?>
<textarea  class="newwallpostreply<?php echo $i++ ; ?>" name="wallreply" autocomplete="off" maxlength="1000" placeholder="Reply"></textarea>
<span class="wallreply-holder<?php echo $p++; ?>">
<div class="button_block">
<input type="submit" class="post" value="Post">
<input type="submit" class="cancel" value="Cancel">
</div>
</span>
</form>
</div>

 

I know its a lot of info there, but if anyone can see the problem i would be greatful.

 

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.