你好我有以下代码序列号。和分页。 分页正在工作,但是当我转到下一页时,序列号从1开始。我在每页都限制了10行,所以我想从SN开始下一页。来自第3页的11-20,21-30。请帮帮我。
<?php include_once("../database/config.php");
$start=0;
$limit=10;
$sn=$start;
if(isset($_GET['mainmdsid']))
{
$mainmdsid=$_GET['mainmdsid'];
$start=($mainmdsid-1)*$limit;
}
else{
$mainmdsid=1;
}
$result = mysqli_query($mysqli, "SELECT *from item , mainmds , school WHERE empid=$empid AND mainmds.itmid=item.itmid AND mainmds.scid=school.scid LIMIT $start, $limit");
?>
<table align="center" id="customers">
<tr>
<th>SN.</th>
<th>Item Name</th>
<th>Quantity</th>
<th>Status</th>
<th>If unsatisfactory provide comments </th>
<th>Date</th>
<th>School Name</th>
<th>Variant</th>
<th>Thana</th>
<th>If others then please specify </th>
<th>Remove</th>
</tr>
<?php
//while($res = mysql_fetch_array($result)) { // mysql_fetch_array is deprecated, we need to use mysqli_fetch_array
while($res = mysqli_fetch_array($result)) {
$sn+=1;
$sdate = $res['sdate'];
$fmdate = strtotime($sdate);
echo "<tr>";
echo "<td>".$sn."</td>";
echo "<td>".$res['itmname']."</td>";
if (strpos($empbranch,"NFO")!==false) {
echo "<td>".$res['DNFO']."</td>";
}
else if (strpos($empbranch,"DFO")!==false) {
echo "<td>".$res['DDFO']."</td>";
}
else if (strpos($empbranch,"CO")!==false) {
echo "<td>".$res['DCO']."</td>";
}
else if (strpos($empbranch,"SHARP")!==false) {
echo "<td>".$res['DSHARP']."</td>";
}
else if (strpos($empbranch,"Other")!==false) {
echo "<td>".$res['DOther']."</td>";
}
echo "<td>".$res['istatus']."</td>";
echo "<td>".$res['usstatus']."</td>";
echo "<td>".$res['sdate']."</td>";
echo "<td>" .date('d M Y', $fmdate). "</td>";
echo "<td>".$res['ivariant']."</td>";
echo "<td>".$res['scthana']."</td>";
echo "<td>".$res['oscname']."</td>";
echo "<td><a href=\"delete.php?mainmdsid=$res[mainmdsid]\" onClick=\"return confirm('Are you sure you want to delete?')\">Delete</a></td></tr>";
}
?>
</table>
<?php
//fetch all the data from database.
$rows=mysqli_num_rows(mysqli_query($dbconfig,"SELECT *from item , mainmds , school WHERE empid=$empid AND mainmds.itmid=item.itmid AND mainmds.scid=school.scid"));
//calculate total page number for the given table in the database
$total=ceil($rows/$limit);?>
<table align="center" border="1">
<?php if($mainmdsid>1)
{
//Go to previous page to show previous 10 items. If its in page 1 then it is inactive
echo "<tr><td><a href='?mainmdsid=".($mainmdsid-1)."' class='button'>PREVIOUS</a></td>";
}
if($mainmdsid!=$total)
{
////Go to previous page to show next 10 items.
echo "<td><a href='?mainmdsid=".($mainmdsid+1)."' class='button'>NEXT</a></td>";
}
?>
<?php
//show all the page link with page number. When click on these numbers go to particular page.
for($i=1;$i<=$total;$i++)
{
if($i==$mainmdsid) { echo "<td>".$i."</td>"; }
else { echo "<td><a href='?mainmdsid=".$i."'>".$i."</a></td>"; }
}
?>
</tr>
</table>
&#13;
答案 0 :(得分:1)
在条件
之后移动$sn
初始化
$start=0;
$limit=10;
if(isset($_GET['mainmdsid']))
{
$mainmdsid=$_GET['mainmdsid'];
$start=($mainmdsid-1)*$limit;
}
else{
$mainmdsid=1;
}
$sn=$start;
答案 1 :(得分:0)
将您的代码更改为此...它将起作用
<?php include_once("../database/config.php");
$start=0;
$limit=10;
if(isset($_GET['mainmdsid']))
{
$mainmdsid=$_GET['mainmdsid'];
$start=($mainmdsid-1)*$limit; // here we are multiplying page number with limit.
}
$sn=$start;
if(isset($_GET['mainmdsid']))
{
$mainmdsid=$_GET['mainmdsid'];
$start=($mainmdsid-1)*$limit;
}
else{
$mainmdsid=1;
}
$result = mysqli_query($mysqli, "SELECT *from item , mainmds , school WHERE empid=$empid AND mainmds.itmid=item.itmid AND mainmds.scid=school.scid LIMIT $start, $limit");
?>
<table align="center" id="customers">
<tr>
<th>SN.</th>
<th>Item Name</th>
<th>Quantity</th>
<th>Status</th>
<th>If unsatisfactory provide comments </th>
<th>Date</th>
<th>School Name</th>
<th>Variant</th>
<th>Thana</th>
<th>If others then please specify </th>
<th>Remove</th>
</tr>
<?php
//while($res = mysql_fetch_array($result)) { // mysql_fetch_array is deprecated, we need to use mysqli_fetch_array
while($res = mysqli_fetch_array($result)) {
$sn+=1;
$sdate = $res['sdate'];
$fmdate = strtotime($sdate);
echo "<tr>";
echo "<td>".$sn."</td>";
echo "<td>".$res['itmname']."</td>";
if (strpos($empbranch,"NFO")!==false) {
echo "<td>".$res['DNFO']."</td>";
}
else if (strpos($empbranch,"DFO")!==false) {
echo "<td>".$res['DDFO']."</td>";
}
else if (strpos($empbranch,"CO")!==false) {
echo "<td>".$res['DCO']."</td>";
}
else if (strpos($empbranch,"SHARP")!==false) {
echo "<td>".$res['DSHARP']."</td>";
}
else if (strpos($empbranch,"Other")!==false) {
echo "<td>".$res['DOther']."</td>";
}
echo "<td>".$res['istatus']."</td>";
echo "<td>".$res['usstatus']."</td>";
echo "<td>".$res['sdate']."</td>";
echo "<td>" .date('d M Y', $fmdate). "</td>";
echo "<td>".$res['ivariant']."</td>";
echo "<td>".$res['scthana']."</td>";
echo "<td>".$res['oscname']."</td>";
echo "<td><a href=\"delete.php?mainmdsid=$res[mainmdsid]\" onClick=\"return confirm('Are you sure you want to delete?')\">Delete</a></td></tr>";
}
?>
</table>
<?php
//fetch all the data from database.
$rows=mysqli_num_rows(mysqli_query($dbconfig,"SELECT *from item , mainmds , school WHERE empid=$empid AND mainmds.itmid=item.itmid AND mainmds.scid=school.scid"));
//calculate total page number for the given table in the database
$total=ceil($rows/$limit);?>
<table align="center" border="1">
<?php if($mainmdsid>1)
{
//Go to previous page to show previous 10 items. If its in page 1 then it is inactive
echo "<tr><td><a href='?mainmdsid=".($mainmdsid-1)."' class='button'>PREVIOUS</a></td>";
}
if($mainmdsid!=$total)
{
////Go to previous page to show next 10 items.
echo "<td><a href='?mainmdsid=".($mainmdsid+1)."' class='button'>NEXT</a></td>";
}
?>
<?php
//show all the page link with page number. When click on these numbers go to particular page.
for($i=1;$i<=$total;$i++)
{
if($i==$mainmdsid) { echo "<td>".$i."</td>"; }
else { echo "<td><a href='?mainmdsid=".$i."'>".$i."</a></td>"; }
}
?>
</tr>
</table>
答案 2 :(得分:0)
单击关闭每个下一页按钮,将$start
的限制从0增加到+10。
并再次调用您的数据库查询,并将之前的按钮递减值$start
调用为-10。
并且还使用变量currentPage
并在start中将其值设置为1.
以下是您可以使用的示例代码:
$currentPage = 1;
$start = 0;
$recordPerPage= 10;
//First query your database here, after that do some work on previous and next button clicked
if(array_key_exists('next',$_POST)){
$start = (currentPage * recordPerPage) + 1;
currentPage++;
}
if(array_key_exists('previous',$_POST)){
if (currentPage == 2) {
offSet = 0;
currentPage--;
} else {
offSet = offSet - recordPerPage;
currentPage--;
}
}
这样您就可以处理当前页面,限制和偏移。记得在下一个和上一个按钮点击
上调用DB Query