kvnirvana Posted November 18, 2010 Share Posted November 18, 2010 Can't seem to get the pagination to work. The problem is that if there are more than 2 comments a link to the next results appears. But if I click on the 'next' link it says ”no comments”. I know I have to pass some values, but don't know how to do it and which values to pass? This is the full code <?php //connect to your database $dbhost = ''; $dbuser = ''; $dbpass = ''; $conn = mysql_connect($dbhost, $dbuser, $dbpass) or die ('Error connecting to mysql'); $dbname = ''; mysql_select_db($dbname); echo "<tr> <td> </td></tr><br> "; $records_per_page = 2; //query comments for this page of this article $inf = "SELECT * FROM `comments` WHERE page = '".stripslashes($_SERVER['REQUEST_URI'])."' ORDER BY time desc"; //-run the query against the mysql query function $info = mysql_query($inf); if(!$info) die(mysql_error()); //-count results $info_rows = mysql_num_rows($info); $num_pages = ceil($info_rows/$records_per_page); //Determine the page to display $current_page = (isset($_GET['pg']))?$_GET['pg']:1; if($current_page<1 || $current_page>$num_pages) { $current_page = 1; } //Define the limit start position for the current page of records (for current filter) $limitstart = (($current_page-1)*$records_per_page); $inf1 = "SELECT * FROM `comments` WHERE page = '".stripslashes($_SERVER['REQUEST_URI'])."' ORDER BY time desc LIMIT $limitstart, $records_per_page"; $result1=mysql_query($inf1); if($info_rows > 0) { echo '<p align="center"><strong>Comments '.$_GET['behandler'].' '.$_GET['navn'].'</strong></p><br><br>'; while($info2 = mysql_fetch_object($result1)) { echo '<tr>'; echo '<td><p>Subject:'.stripslashes($info2->subject).' written by: '.stripslashes($info2->username).'</td> <td><div align="right"> '.date('h:i:s a', $info2->time).' on '.$info2->date.'</p></div></td>'; echo '</tr><tr>'; echo '<td colspan="2"> '.stripslashes($info2->comment).'<hr align="left" width="70%" noshade><a href="anmeldkomment.php?user_id='.stripslashes($info2->user_id).'"></a> </td>'; echo '</tr>'; }//end while } else echo '<p>No comments '.$_GET['behandler'].' '.$_GET['navn'].'</p><br>'; if(isset($_POST['submit'])) { if(!addslashes($_POST['username'])) die('<u>ERROR:<p></u> no name given.</p>'); if(!addslashes($_POST['subject'])) die('<u>ERROR:<p></u> no subject given.</p>'); if(!addslashes($_POST['comment'])) die('<u>ERROR:<p></u> no comments given!</p>'); //try to prevent multiple posts and flooding... $c = "SELECT * from `comments` WHERE ip = '".$_SERVER['REMOTE_ADDR']."'"; $c2 = mysql_query($c); while($c3 = mysql_fetch_object($c2)) { $difference = time() - $c3->time; } //end while $adresse = mysql_real_escape_string($_GET['adresse']); $navn = mysql_real_escape_string($_GET['navn']); $userID = mysql_real_escape_string($_POST['user_id']); $page = mysql_real_escape_string($_POST['page']); $date = mysql_real_escape_string($_POST['date']); $time = mysql_real_escape_string($_POST['time']); $username = mysql_real_escape_string($_POST['username']); $remtAddr = mysql_real_escape_string($_SERVER['REMOTE_ADDR']); $subject = mysql_real_escape_string($_POST['subject']); $comment = mysql_real_escape_string($_POST['comment']);//add comment $q = "INSERT INTO `comments` (adresse, navn, user_id, page, date, time, username, ip, subject, comment) VALUES ('{$adresse}','{$navn}','{$userID}','{$page}', '{$date}', '{$_POST['time']}', '{$username}', '{$remtAddr}', '{$subject}', '{$comment}')"; $q2 = mysql_query($q); if(!$q2) die(mysql_error()); //refresh page so they can see new comment header('Location: http://' . $_SERVER['HTTP_HOST'] . $_POST['page'] . "#comments"); } ?> <tr><td> <br> <?php // end else if($num_pages>1) { $thisroot = $_SERVER['PHP_SELF']; echo "<strong>Sider:</strong> "; //Create link to navigate to last page if($current_page > 1) { echo "<a href='javascript:void()' onclick='window.location.href=\"{$thisroot}?pg=" . ($current_page-1) ."&behandler=". $_GET['behandler'] . "&navn=". $_GET['navn'] . "\"; parent.scrollTo(0,0); return false'><< Forrige</a> \n"; } //Create individual page links for($page=1; $page<=$num_pages; $page++) { echo ($page!= $current_page) ? "<a href='javascript:void()' onclick='window.location.href=\"{$thisroot}?pg={$page}&behandler=$_GET[behandler]&navn=$_GET[navn]\"; parent.scrollTo(0,0); return false'>$page</a>" : $page; echo " "; } //Create link to next page if($current_page < $num_pages) { echo "<a href='javascript:void()' onclick='window.location.href=\"{$thisroot}?pg=" . ($current_page+1) ."&behandler=". $_GET['behandler'] . "&navn=". $_GET['navn'] . "\"; parent.scrollTo(0,0); return false'> Næste >></a>"; } } ///////////////// ?> appriciate any help :=) Link to comment https://forums.phpfreaks.com/topic/219089-pagination-problem/ Share on other sites More sharing options...
princeofpersia Posted November 18, 2010 Share Posted November 18, 2010 watch this (link below), you need to be more sepcific when u ask a question, http://www.youtube.com/watch?v=wC0uc_TkdR0 I hope it helps Link to comment https://forums.phpfreaks.com/topic/219089-pagination-problem/#findComment-1136209 Share on other sites More sharing options...
kvnirvana Posted November 18, 2010 Author Share Posted November 18, 2010 Watched the clip, but that didn't help me with the problem. I really tried to solve this problem, but can't understand why I can't get it to work. Wish I could be more specific, but that's difficult when I don't know what's causing the problem :-( The problem is this. If there are more than 2 results ther will be a link to see the next results. If I click to see the next results, I get the message "No comments", even though I know there are more comments. Link to comment https://forums.phpfreaks.com/topic/219089-pagination-problem/#findComment-1136342 Share on other sites More sharing options...
kvnirvana Posted November 22, 2010 Author Share Posted November 22, 2010 Anyone? Link to comment https://forums.phpfreaks.com/topic/219089-pagination-problem/#findComment-1138027 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.