Hi,
I have a script which creates a member list, but I am having some problems.
The script works until you click on '2' for second page OR 'next 25'
When this happens, the list just lists the ID's in order and not the second page list of what has been selected from the form.
Do I have to send it through a GET command?
Here's the code :
<?php
/* PAGINATION */
$limit = 25;
// Sets how many results shown per page
$sql_total_rows = mysql_query("SELECT * FROM cms_users");
$totalrows = mysql_num_rows($sql_total_rows);
$page = $_GET['page'];
if(empty($page)){ // Checks if the $page variable is empty (not set)
$page = 1; // If it is empty, we're on page 1
}
$limitvalue = $page * $limit - ($limit);
if(($_POST['mode'] == 'join_date') && ($_POST['order'] == 'ASC')){
$result = mysql_query("SELECT * FROM cms_users ORDER BY reg_date LIMIT $limitvalue, $limit");
}
elseif(($_POST['mode'] == 'join_date') && ($_POST['order'] == 'DESC')){
$result = mysql_query("SELECT * FROM cms_users ORDER BY reg_date DESC LIMIT $limitvalue, $limit");
}
elseif(($_POST['mode'] == 'username') && ($_POST['order'] == 'ASC')){
$result = mysql_query("SELECT * FROM cms_users ORDER BY username LIMIT $limitvalue, $limit");
}
elseif(($_POST['mode'] == 'username') && ($_POST['order'] == 'DESC')){
$result = mysql_query("SELECT * FROM cms_users ORDER BY username DESC LIMIT $limitvalue, $limit");
}
elseif(($_POST['mode'] == 'points') && ($_POST['order'] == 'ASC')){
$result = mysql_query("SELECT * FROM cms_users ORDER BY user_points LIMIT $limitvalue, $limit");
}
elseif(($_POST['mode'] == 'points') && ($_POST['order'] == 'DESC')){
$result = mysql_query("SELECT * FROM cms_users ORDER BY user_points DESC LIMIT $limitvalue, $limit");
}
elseif(($_POST['mode'] == 'profile_views') && ($_POST['order'] == 'ASC')){
$result = mysql_query("SELECT * FROM cms_users ORDER BY profile_views LIMIT $limitvalue, $limit");
}
elseif(($_POST['mode'] == 'profile_views') && ($_POST['order'] == 'DESC')){
$result = mysql_query("SELECT * FROM cms_users ORDER BY profile_views DESC LIMIT $limitvalue, $limit");
}
else{
$result = mysql_query("SELECT * FROM cms_users ORDER BY user_id LIMIT $limitvalue, $limit");
}
if(mysql_num_rows($result) == 0){
echo("Nothing to Display!");
}
/* Output our information! */
$color1 = "#DADADA";
$color2 = "#CCCCCC";
$row_count = 0;
while ($row = mysql_fetch_assoc($result)) {
$row_color = ($row_count % 2) ? $color1 : $color2;
echo '<tr><td class=\"row1\" bgcolor="' . $row_color . '" align=\"center\"><span class=\"gen\">' . $row['user_id'] . '</span></td>
<td class=\"row1\" bgcolor="' . $row_color . '" align=\"center\"><a href="/profile.php?user_id=' .$row['user_id'] . '">' . $row['username'] . '</a></td>';
$show_email = $row['show_email'];
if ($show_email == 1){
echo '<td class=\"row1\" bgcolor="' . $row_color . '" align=\"center\" valign=\"middle\"><a href="mailto:' . $row['email'] . '"><img src="/images/icon_email.gif" width="59" height="18" border = "0"></a></td>';
}
else{
echo '<td class=\"row1\" bgcolor="' . $row_color . '" align=\"center\" valign=\"middle\"></td>';
}
echo '
<td class=\"row1\" bgcolor="' . $row_color . '" align=\"center\" valign=\"middle\">' . $row['location'] . '</td>
<td class=\"row1\" bgcolor="' . $row_color . '" align=\"center\" valign=\"middle\">' . $row['reg_date'] . '</td>
<td class=\"row1\" bgcolor="' . $row_color . '" align=\"center\" valign=\"middle\">' . $row['user_points'] . '</td>
<td class=\"row1\" bgcolor="' . $row_color . '" align=\"center\" valign=\"middle\">' . $row['profile_views'] . '</td>';
$row_count ++;
}
?>
<br /><br />
<?php
/* Pagination Links */
if($page != 1){
$pageprev = $page - 1;
echo("<a href=\"/memberlist.php?page=$pageprev\">PREVIOUS".$limit."</a> ");
}else{
echo("PREVIOUS".$limit." ");
}
$numofpages = ceil($totalrows / $limit);
for($i = 1; $i <= $numofpages; $i++){
if($i == $page){
echo($i." ");
}else{
echo("<a href=\"$PHP_SELF?page=$i\">$i</a> ");
}
}
if(($totalrows - ($limit * $page)) > 0){
$pagenext = $page + 1;
echo(" <a href=\"/memberlist.php?page=$pagenext\">NEXT".$limit."</a> ");
}else{
echo(" NEXT".$limit." ");
}
mysql_free_result($result);
?>
If someone can point me in the correct direction or can easily fix my code, that would be great!
Thanks
Edit : If you need to see this in practice, let me know and I'll supply the link.