marc6678 Posted August 26, 2012 Share Posted August 26, 2012 Hi Guys, Just recently used a pagination script i also found on phpfreaks for a project and i'm having trouble using it as my query pulls data from 2 tables. // connect to the database include('connect.php'); // find out how many rows are in the table $sql = "SELECT MAX(id) FROM actors"; $result = mysql_query($sql, $con) or trigger_error("SQL", E_USER_ERROR); $r = mysql_fetch_row($result); $numrows = $r[0]; // number of rows to show per page $rowsperpage = 6; // find out total pages $totalpages = ceil($numrows / $rowsperpage); // get the current page or set a default if (isset($_GET['currentpage']) && is_numeric($_GET['currentpage'])) { // cast var as int $currentpage = (int) $_GET['currentpage']; } else { // default page num $currentpage = 1; } // end if // if current page is greater than total pages... if ($currentpage > $totalpages) { // set current page to last page $currentpage = $totalpages; } // end if // if current page is less than first page... if ($currentpage < 1) { // set current page to first page $currentpage = 1; } // end if // the offset of the list, based on current page $offset = ($currentpage - 1) * $rowsperpage; // get the info from the db $sql = "select actors.*, images.* from actors, images where actors.id = images.id and images.flag = '1' LIMIT $offset, $rowsperpage"; $result2 = mysql_query($sql, $con) or trigger_error("SQL", E_USER_ERROR); // loop through results of database query, displaying them in the table while($row = mysql_fetch_assoc( $result2 )) { $ID = $row['id']; // collect the data from the second query for the photo $row = mysql_fetch_array( $result2 ); echo '<div class="person">'; if ($row['image'] == false) { echo '<img src="media/images/actors/actor.jpg"/>'; } else { echo '<img src="'.$row['image'] . '"/>'; } // echo out the contents of each row into a table echo '<p>' . '<a href="profile.php?id=' . $row['id'] .'" target="blank">' . $row['firstname'] . " " . $row['surname'] . '</a>' .'</p>' ; echo '</div>'; } /****** build the pagination links ******/ // range of num links to show $range = 3; // loop to show links to range of pages around current page for ($x = ($currentpage - $range); $x < (($currentpage + $range) + 1); $x++) { // if it's a valid page number... if (($x > 0) && ($x <= $totalpages)) { // if we're on current page... if ($x == $currentpage) { // 'highlight' it but don't make a link echo " [<b>$x</b>] "; // if not current page... } else { // make it a link echo " <a href='{$_SERVER['PHP_SELF']}?currentpage=$x'>$x</a> "; } // end else } // end if } // end for /****** end build pagination links ******/ The query works and has the desired effect when ran in NetBeans which i why i think its a problem with how i have implemented it in the pagination script. The script only shows one record and not all 4 records which should be shown? any ideas? Thanks in advance, Marc Link to comment https://forums.phpfreaks.com/topic/267603-pagination-using-joins/ Share on other sites More sharing options...
Christian F. Posted August 26, 2012 Share Posted August 26, 2012 I suspect that the following bit is the source of your troubles: while ($row = mysql_fetch_assoc ($result2)) { $ID = $row['id']; // collect the data from the second query for the photo $row = mysql_fetch_array ($result2); Link to comment https://forums.phpfreaks.com/topic/267603-pagination-using-joins/#findComment-1372619 Share on other sites More sharing options...
marc6678 Posted August 26, 2012 Author Share Posted August 26, 2012 Thanks very much mate. That has fixed the issue. Shows how a fresh pair of eyes can solve even the most stupid problem, been at it for last couple of hours, how embarrasing Thanks again, Marc Link to comment https://forums.phpfreaks.com/topic/267603-pagination-using-joins/#findComment-1372622 Share on other sites More sharing options...
Christian F. Posted August 26, 2012 Share Posted August 26, 2012 You're welcome, and I'm glad I could help. Also, don't worry about it; We've all done similar stuff at some point, and will most likely do them again. Link to comment https://forums.phpfreaks.com/topic/267603-pagination-using-joins/#findComment-1372626 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.