使用PHP和MySQL分页?
我有两个文件。有showReport.php和paging.php。代码很好,没有错误,但显示的结果不正确。你能帮我准备期末考试吗?因为我试着去改变它,但还是不起作用。请忽略变量名或表名,因为我使用的是印尼语 showReport.php使用PHP和MySQL分页?,php,mysql,pagination,Php,Mysql,Pagination,我有两个文件。有showReport.php和paging.php。代码很好,没有错误,但显示的结果不正确。你能帮我准备期末考试吗?因为我试着去改变它,但还是不起作用。请忽略变量名或表名,因为我使用的是印尼语 showReport.php <?php $query = mysql_query("select * from barang"); $item_per_page = 2; // tambahan paging
<?php
$query = mysql_query("select * from barang");
$item_per_page = 2; // tambahan
paging( $query,$item_per_page );
$limitt = ($page - 1) * $item_per_page;
$query_ = mysql_query("SELECT * FROM barang ORDER BY id_transaksi DESC LIMIT $limitt, $item_per_page"); // tmbh
$sql_ = mysql_query($query_);
$i = 1;
while ($data = mysql_fetch_array($query)) {
?>
<tr class="<?php if ($i % 2 == 0) { echo "odd"; } else { echo "even"; } ?>">
<td><?php echo $i; ?></td>
<td>
<?php
echo $data['tanggal'];
//previlege admin
if ($_SESSION['role'] == 'operator') {
?>
<div class="row-actions">
<a href="edit_barang.php?uid=<?php echo $data['id_transaksi'];?>">Update</a>
| <a href="delete_barang.php?uid=<?php echo $data['id_transaksi'];?>" onClick="return confirm('Delete this report?')" class="delete">Delete</a>
</div>
<?php } ?>
</td>
<td><?php echo $data['barang_in']; ?></td>
<td><?php echo $data['bijih_out']; ?></td>
<td><?php echo $data['htm_out']; ?></td>
<td><?php echo $data['pth_out']; ?></td>
<td><?php echo $data['bijih']; ?></td>
<td><?php echo $data['kantong_htm']; ?></td>
<td><?php echo $data['kantong_pth']; ?></td>
<td><?php echo $data['note']; ?></td>
</tr>
<?php
$i++;
}
?>
<?php
function paging($query,$item_per_page){
$page = isset($_GET['page']) ? $_GET['page'] : 1 ;
if( ( $page < 1) && (empty( $page ) ) ){
$page=1;
}
$sql = mysql_query( $query_);
$amount_data = mysql_num_rows($query);
$amount_page = ceil( $amount_data/$item_per_page );
if( $page>$amount_page ){
$page=$amount_page;
}
$lanjut = $page + 1;
$sebelum = $page - 1;
?>
<style type="text/css">
.tengah {
text-align: center;
}
</style>
<?php echo $page;?> dari <?php echo $amount_page;?><br />
<a href="?page=1"></a><a href="?page=<?php echo $sebelum; ?>">sebelumnya</a>;
||
<a href="?page=<?php echo $lanjut;?>">selanjutnya</a><a href="?page=<?php echo $jumlah_hal;?>"></a>
Ke Halaman: <form action="" method="get"><input type="text" name="page"><input type="submit" value="Go"></form>
<?php
}
?>
|
paging.php
<?php
$query = mysql_query("select * from barang");
$item_per_page = 2; // tambahan
paging( $query,$item_per_page );
$limitt = ($page - 1) * $item_per_page;
$query_ = mysql_query("SELECT * FROM barang ORDER BY id_transaksi DESC LIMIT $limitt, $item_per_page"); // tmbh
$sql_ = mysql_query($query_);
$i = 1;
while ($data = mysql_fetch_array($query)) {
?>
<tr class="<?php if ($i % 2 == 0) { echo "odd"; } else { echo "even"; } ?>">
<td><?php echo $i; ?></td>
<td>
<?php
echo $data['tanggal'];
//previlege admin
if ($_SESSION['role'] == 'operator') {
?>
<div class="row-actions">
<a href="edit_barang.php?uid=<?php echo $data['id_transaksi'];?>">Update</a>
| <a href="delete_barang.php?uid=<?php echo $data['id_transaksi'];?>" onClick="return confirm('Delete this report?')" class="delete">Delete</a>
</div>
<?php } ?>
</td>
<td><?php echo $data['barang_in']; ?></td>
<td><?php echo $data['bijih_out']; ?></td>
<td><?php echo $data['htm_out']; ?></td>
<td><?php echo $data['pth_out']; ?></td>
<td><?php echo $data['bijih']; ?></td>
<td><?php echo $data['kantong_htm']; ?></td>
<td><?php echo $data['kantong_pth']; ?></td>
<td><?php echo $data['note']; ?></td>
</tr>
<?php
$i++;
}
?>
<?php
function paging($query,$item_per_page){
$page = isset($_GET['page']) ? $_GET['page'] : 1 ;
if( ( $page < 1) && (empty( $page ) ) ){
$page=1;
}
$sql = mysql_query( $query_);
$amount_data = mysql_num_rows($query);
$amount_page = ceil( $amount_data/$item_per_page );
if( $page>$amount_page ){
$page=$amount_page;
}
$lanjut = $page + 1;
$sebelum = $page - 1;
?>
<style type="text/css">
.tengah {
text-align: center;
}
</style>
<?php echo $page;?> dari <?php echo $amount_page;?><br />
<a href="?page=1"></a><a href="?page=<?php echo $sebelum; ?>">sebelumnya</a>;
||
<a href="?page=<?php echo $lanjut;?>">selanjutnya</a><a href="?page=<?php echo $jumlah_hal;?>"></a>
Ke Halaman: <form action="" method="get"><input type="text" name="page"><input type="submit" value="Go"></form>
<?php
}
?>
天加先生{
文本对齐:居中;
}
达里
;
||
科哈拉曼:
页数是正确的,但它仍然在一页中显示所有数据。例如,我有4个数据,我只想为每个页面显示2个数据。所以页数是2(对),但为什么我的数据不显示每页2个数据呢?提前谢谢请填写:
echo$query代码>
之后:
sql=mysql\u查询($query\u)代码>
在showReport.php中
检查查询是否按预期方式创建。同样在showReport.php中,我看到您正在使用变量“$page”,而我没有看到它首先被赋予了一个值。两个页面是否都导入另一个页面?用于限制显示的数据量
<?php
$sqlCount = "select count(id_transaksi) from barang";
$rsCount = mysql_fetch_array(mysql_query($sqlCount));
$banyakData = $rsCount[0];
$page = isset($_GET['page']) ? $_GET['page'] : 1;
$limit = 2;
$start_from = $limit * ($page - 1);
$sql_limit = "select * from barang ORDER BY id_transaksi limit $start_from, $limit";
$result = mysql_query($sql_limit); ?>
用于制作页数/页码
<?php
$numberofPages = ceil($amountData / $limit);
echo 'Pages: ';
for($i = 1; $i <= $numberofPages; $i++){
if($page != $i){
echo '[<a href="showReport.php?page='.$i.'">'.$i.'</a>] ';
}else{
echo "[$i] ";
}
}
?>
根据我的问题,paging.php不再使用。希望能帮助像我一样遇到问题的人,干杯 希望这能解决你的问题。。分页查询似乎不会返回任何内容,也不会使用全局变量或引用传递参数来更新传递参数的值。不确定$limit在进入查询时的值是多少。请访问[使用php和mysql分页][1]<我在这里回答。[1] :访问:[分页][1]此处。我已经回答了这个问题。[1] :yaaap,在showReport.php中有include('paging.php)代码>我已经尝试过了,但是数据仍然显示了所有的内容。嗯……echo命令应该显示您正在使用的查询。然后,您可以直接在MySQL数据库中尝试查询,以验证它是否提供了正确的数据。但是如何使数据仅显示每页2个数据?该查询是正确的,但它混淆了为什么数据不会只显示2个数据,除了showReport.php中刚刚设置的页面项2之外,您的while将遍历通过该查询找到的所有记录。如果查询返回4条记录,将显示4条记录,而您只想显示2条。检查查询是否只返回2条记录而不是4条记录。