Dear Friends,
I hope you will be able to solve this problem of mine which i am unable to crack.
I am retrieving a set of records sorted by the field date and want them to be displayed as 50 records perpage.
The first page appears correctly in sorted order but when i click the next page the sorting goes haywire and the records are shown randomly.
The code of the same is given beolw.
Thanks
Shweta
<?php
global $var;
include("dbinfo.inc.php");
print("<p align='center'> EVENTS SORTED ON - '$key1' - '$HTTP_POST_VARS[key2]' - '$HTTP_POST_VARS[key3]' - '$HTTP_POST_VARS[key4]' - '$HTTP_POST_VARS[key5]'</p>");
print("<br> <br> <br> ");
$per_page = 50;
if (!$page)
{
$page = 1;
}
$prev_page = $page - 1;
$next_page = $page + 1;
$page_start = ($per_page * $page) - $per_page;
$sql= "SELECT FROM eventreg2004 ORDER BY '$HTTP_POST_VARS[key1]' DESC,'$HTTP_POST_VARS[key2]' DESC, '$HTTP_POST_VARS[key3]' DESC,'$HTTP_POST_VARS[key4]' DESC";
$sql2= "SELECT FROM eventreg2004 ORDER BY '$HTTP_POST_VARS[key1]' ASC,'$HTTP_POST_VARS[key2]' ASC,'$HTTP_POST_VARS[key3]' ASC,'$HTTP_POST_VARS[key4]' ASC";
if($radio1=='desc')
{
$sql_result = mysql_query($sql,$connection) or die ("Could not select data");
}
else
{
$sql_result = mysql_query($sql2,$connection) or die ("Could not select data");
}
$num_rows = mysql_num_rows($sql_result);
if ($num_rows <= $per_page)
{
$num_pages = 1;
}
else if (($num_rows % $per_page) == 0)
{
$num_pages = ($num_rows / $per_page);
}
else
{
$num_pages = ($num_rows / $per_page) + 1;
}
$num_pages = (int) $num_pages;
if (($page > $num_pages) || ($page < 0))
{
print("You have specified an invalid page number");
}
$sql= "SELECT FROM eventreg2004 ORDER BY '$HTTP_POST_VARS[key1]' DESC,'$HTTP_POST_VARS[key2]' DESC, '$HTTP_POST_VARS[key3]' DESC,'$HTTP_POST_VARS[key4]' DESC,'$HTTP_POST_VARS[key5]' DESC,'$HTTP_POST_VARS[key6]' DESC,'$HTTP_POST_VARS[key7]' DESC LIMIT $page_start, $per_page";
$sql2= "SELECT FROM eventreg2004 ORDER BY '$HTTP_POST_VARS[key1]' ASC,'$HTTP_POST_VARS[key2]' ASC,'HTTP_POST_VARS[$key3]' ASC,'$HTTP_POST_VARS[key4]' ASC,'$HTTP_POST_VARS[key5]' ASC,'$HTTP_POST_VARS[key6]' ASC,'$HTTP_POST_VARS[key7]' ASC LIMIT $page_start, $per_page";
if($radio1=='desc')
{
$sql_result = mysql_query($sql,$connection) or die ("Could not select data");
}
else
{
$sql_result = mysql_query($sql2,$connection) or die ("Could not select data");
}
if ($prev_page)
{
print("<center><font size='4'>");
print("<a href=\"$PHP_SELF?page=$prev_page\"> Prev </a>");
print("</font>");
}
for ($i = 1; $i <= $num_pages; $i++)
{
if ($i != $page)
{
print("<a href=\"$PHP_SELF?page=$i\">$i - </a>");
} else
{
print("$i - ");
}
}
if ($page != $num_pages)
{
print("<font size='4'>");
print("<a href=\"$PHP_SELF?page=$next_page\"> Next </a>");
print("</font></p>");
}
print("<table border='1' style='font-family: Times New Roman; font-size: 16px' cellpadding='0' cellspacing='0' width='900' bordercolor='#FFFFFF'");
print("<tr>");
print("<td> DATE </td>");
print("<td> ORGANISATION </td>");
print("<td> PARTNER ORGANISATION </td>");
print("<td> TITLE </td>");
print("<td> No. of PARTICIPANTS </td>");
print("<td> FORMAT </td>");
print("<td> TIME </td>");
print("<td> VENUE </td>");
print("<td> SPEAKERS </td>");
print("<td> EMAIL </td>");
print("</tr>");
while ($row = mysql_fetch_row($sql_result))
{
print("<p align='justify'>");
print("<tr style='font-family: Arial; font-size: 12px' >");
print("<td> $row[71] </td>");
print("<td> $row[0] </td>");
print("<td> $row[23], $row[24], $row[25], $row[26] </td>");
print("<td> $row[39] </td>");
print("<td> $row[75] </td>");
print("<td> $row[40] </td>");
print("<td> $row[74]</td>");
print("<td> $row[72] </td>");
print("<td> $row[73] </td>");
print("<td> $row[8]; $row[9] </td>");
$var=$row[68];
print("<td><a href='more.php?myvar=$var'>MORE...</a></td>");
print("<td><a href='verify.php?myvar=$var'>EDIT...</a></td>");
//print("<td><a href='verifyd.php?myvar=$var'>DELETE...</a></td>");
print("</tr>");
}
print("</table>");
if ($prev_page)
{
print("<center><font size='4'>");
print("<a href=\"$PHP_SELF?page=$prev_page\"> Prev </a>");
print("</font>");
}
for ($i = 1; $i <= $num_pages; $i++)
{
if ($i != $page)
{
print("<a href=\"$PHP_SELF?page=$i\">$i - </a>");
} else
{
print("$i - ");
}
}
if ($page != $num_pages)
{
print("<font size='4'>");
print("<a href=\"$PHP_SELF?page=$next_page\"> Next </a>");
print("</font></p>");
}
mysql_close($connection);
?>