大家早上好!
我一直在做一个小项目,我以为我已经完成了。所以,我有一堆页面,但我有一个MYSQLi查询超过100k的结果,我认为不显示所有100k +结果会很好,所以我在网站上添加了分页。我遇到的问题是,每当有人对页面进行排序并点击下一页时,排序就会消失。
在我写这篇文章时,我有点想通了,但这是我的代码:
$sort = "id";
if(isset($_GET['sort'])) {
switch ($_GET['sort'] ) {
case 0:
$sort = 'id';
break;
case 1:
$sort = 'priority DESC';
break;
case 2:
$sort = 't_name';
break;
case 3:
$sort = 'loc';
break;
case 4:
$sort = 'w_req';
break;
case 5:
$sort = 'tel';
break;
case 6:
$sort = 'maint_user';
break;
}
}
// pagination
$total_results = mysqli_num_rows(mysqli_query($mysqli,"SELECT w_status FROM w_o WHERE (w_status = 'active' OR w_status = 'open') ORDER BY $sort"));
if(!isset($page_number))
$page_number = (int)$_GET['page'] <= 0 ? 1 : (int)$_GET['page']; // grab the page number
$perpage = 15; // number of elements perpage
if($page_number > ceil($total_results/$perpage))
$page_number = ceil($total_results/$perpage);
$start = ($page_number - 1) * $perpage;
$result = mysqli_query($mysqli,"SELECT * FROM w_o WHERE (w_status = 'active' OR w_status = 'open') ORDER BY $sort LIMIT $start, $perpage");
我认为我的问题是$ sort =&#34; id&#34 ;;每次我点击下一步,$ sort都会重置为=&#34; id&#34;所以我在想,也许在分页代码中包含$ sort?我感谢任何帮助。谢谢:))
这是html:
<form action="re_assign_a.php" method="post" name="view_order">
<table border="0" width="100%">
<tr>
<td align="left"><a href="<?php echo $_SERVER['PHP_SELF'] . "?page=".($page_number-1)."'";?>" class="button_s">Previous</a></td>
<td align="right"><a href="<?php echo $_SERVER['PHP_SELF'] . "?page=".($page_number+1)."'";?>" class="button_s">Next</a></td>
</tr>
</table>
<br>
<table border='2' style='width: 100%; margin: auto; border-width: 1px'>
<tr>
<th><a href="<?php echo $_SERVER['PHP_SELF'] . "?sort=0";?>" title="Click to sort by order number." class="tooltip"><span title="More">Order #</span></a></th>
<th><a href="<?php echo $_SERVER['PHP_SELF'] . "?sort=1";?>" title="Click to sort by Priority." class="tooltip"><span title="More">Priority</span></a></th>
<th><a href="<?php echo $_SERVER['PHP_SELF'] . "?sort=2";?>" title="Click to sort by Tenant Name." class="tooltip"><span title="More">Tenant Name</span></a></th>
<th><a href="<?php echo $_SERVER['PHP_SELF'] . "?sort=3";?>" title="Click to sort by Apartment/Location" class="tooltip"><span title="More">Apartment</span></a></th>
<th><a href="<?php echo $_SERVER['PHP_SELF'] . "?sort=4";?>" title="Click to sort by Work Requested" class="tooltip"><span title="More">Work Requested</span></a></th>
<th><a href="<?php echo $_SERVER['PHP_SELF'] . "?sort=5";?>" title="Click here to sort by Phone Number" class="tooltip"><span title="More">Resident Phone #</span></a></th>
<th><a href="<?php echo $_SERVER['PHP_SELF'] . "?sort=6";?>" title="Click to sort by a good date to perform work" class="tooltip"><span title="More">Assigned to</span></a></th>
<th>Check to Re-Assign</th>
</tr>
<?php
$i = 0;
while($row = mysqli_fetch_array($result))
{
$test_id = $row['id'];
echo "<tr class='table_work'>";
echo "<td align='center'><a href='one_order.php?id=$test_id'>" . $row['id'] . "</td>";
echo
"<td align='center'><a href='one_order.php?id=$test_id'>";
if ($row['priority'] == '1') { echo "<div class='priority1'> </div>"; } elseif ($row['priority'] == '2') { echo "<div class='priority2'> </div>"; } elseif ($row['priority'] == '3') { echo "<div class='priority3'> </div>"; };
echo "</a></td>
<td align='center'><a href='one_order.php?id=$test_id'>"; echo custom_echo1 ($row['t_name']); echo "</a></td>
<td align='center'><a href='one_order.php?id=$test_id'>"; echo custom_echo1 ($row['loc']); echo "</a></td>
<td align='center'><a href='one_order.php?id=$test_id'>"; echo custom_echo($row['w_req']); echo "</a></td>";
echo "<td align='center'><a href='one_order.php?id=$test_id'>"; echo custom_echo2($row['tel']); echo "</a></td>";
echo "<td align='center'><a href='one_order.php?id=$test_id'>" . $row['maint_user'] . "</a></td>";
echo "<td align='center'><input name='assign[$i]' type='checkbox' value='" . $row['id'] . "' ></td>";
++$i;
}
?>
</table><br>
<table border="0" width="100%">
<tr>
<td align="left"><a href="<?php echo $_SERVER['PHP_SELF'] . "?page=".($page_number-1)."'";?>" class="button_s">Previous</a></td>
<td align="right"><a href="<?php echo $_SERVER['PHP_SELF'] . "?page=".($page_number+1)."'";?>" class="button_s">Next</a></td>
</tr>
</table>
答案 0 :(得分:2)
您只需调整链接以转到页面以将排序顺序包含为GET参数。将GET参数存储为默认为零的变量
final SpannableString s = new SpannableString(
getString(R.string.app_name_short));
s.setSpan(
new CustomTypefaceSpan(Typeface.createFromAsset(
this.getAssets(), TypefaceUtils.TTF_ARDESTINE)), 0,
s.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
setTitle(s);
现在,当单击下一页或上一页链接时,页码和排序顺序将传递到服务器。
答案 1 :(得分:0)
您必须扩展HTML中的网址。这是一个快速的&amp;脏解!您必须正确定义代码中的变量。
下一页网址
<td align="left"><a href="<?php echo $_SERVER['PHP_SELF'] . "?page=".($page_number-1)."&sort=$sort'";?>" class="button_s">Previous</a></td>
<td align="right"><a href="<?php echo $_SERVER['PHP_SELF'] . "?page=".($page_number+1)."&sort=$sort'";?>" class="button_s">Next</a></td>
排序网址
<th><a href="<?php echo $_SERVER['PHP_SELF'] . "?sort=0&page=$page";?>" title="Click to sort by order number." class="tooltip"><span title="More">Order #</span></a></th>