0
我试图在我的PHP Web应用程序中实现分页。我正在使用数据库的SQL服务器。分页没有发送页面编号在URL使用PHP和MS的Sql Server
在我的web应用程序中,我有一个在html表中显示的客户端列表。我有2个按钮,查看全部和禁用使用 r。
我的分页工作正常,第一次尝试(我的意思是,如果我点击“查看全部”或“禁用的用户”它显示前10个记录)。如果我点击页面2的分页链接,URL显示....com/?pagenum=2
并显示下一个11-20条记录,但如果我再次点击查看全部或禁用用户按钮,它不会再显示前10条记录,它保持相同的链接....com/?pagenum=2
。
如何删除从链接?pagenum=2
当我再次点击检视所有或显示禁用按钮。
OR
有没有办法做到无分页发送页码入网址是什么?
<input type="submit" id="view_all" class="theme-btn" value="View Current Users" name="view_all"/>
<input type="submit" class="theme-btn" value="Show Disabled Users" name="show_disabled"/>
$tsql = "SELECT COUNT(SubscriptionID) FROM Subscription";
$stmt = sqlsrv_query($conn, $tsql);
$rowsReturned = sqlsrv_fetch_array($stmt);
$numOfPages = ceil($rowsReturned[0]/$rowsPerPage);
for($i = 1; $i<=$numOfPages; $i++)
{
$pageNum = "?pageNum=$i";
print("<a href=$pageNum>$i</a> ");
}
$sql_query = "SELECT * FROM
(SELECT ROW_NUMBER() OVER(ORDER BY ClientID)
AS ID, Name FROM Client);
if(isset($_GET['pageNum']))
{
$highRowNum = $_GET['pageNum'] * $rowsPerPage;
$lowRowNum = $highRowNum - $rowsPerPage + 1;
echo "high:$highRowNum, low:$lowRowNum";
}
else
{
$lowRowNum = 1;
$highRowNum = $rowsPerPage;
}
if(isset($_POST['show_disabled']))
{
if(($emr!= 0) OR ($pas!= 0) OR ($pc!= 0))
{ $flag=0;
$sql_query = $sql_query . " WHERE Subscription.status = -1 AND (";
GOTO C;
}
}
if(isset($_POST['view_all']))
{
if(($emr!= 0) OR ($pas!= 0) OR ($pc!= 0))
{ $flag=0;
$sql_query = $sql_query . " WHERE (Subscription.status = 1 OR Subscription.status IS NULL) AND (";
GOTO C;
}
C:
$sql_query = $sql_query. "AS TEST WHERE ClientID BETWEEN ? AND ? + 1"
$params = array(&$lowRowNum, &$highRowNum);
$stmt = sqlsrv_query($conn, $sql_query, $params, array("Scrollable" => 'static'));
if($stmt === false) {die(print_r(sqlsrv_errors(), true));}
GOTO A;
}
A:
if ($stmt)
{
$rows = sqlsrv_has_rows($stmt); //echo $rows;
if ($rows === false)
echo "</br><center>There is no data for this selection.</center><br />";
else
{
$rowsReturned = sqlsrv_num_rows($stmt); if ($rowsReturned === false) echo "Error in retrieveing row count.";
else echo "rowsReturned:".$rowsReturned." " ;
echo "<table style='font-size: small; border-collapse: collapse;' id='clients'>
<th>SR NO</th>
<th>ID</th>
<th>Name</th>
echo "<tr><td>".$sr."</td><td>". $row['ID']."</td><td>". $row['Name']."</td></tr>
$sr++;
}
}
恐怕你需要显示一些(相关的)代码。没有人可以帮助你。 – Jeff
我已经添加了代码 – User27
这是一个复杂的建设,你在这里,但我认为这'$ highRowNum = $ rowsPerPage;(在'if(isset ['$ _ GET ['pagenum']))else {}')应该是'$ highRowNum = $ numOfPages * $ rowsPerPage;' – Jeff