Разбиение страниц на PHP и MySQL?

У меня есть 2 файла. Есть showReport.php и paging.php. Коды в порядке, никаких ошибок, но они показывают неправильные результаты. Можете ли вы помочь мне на выпускных экзаменах? Потому что я пытался изменить его, но все равно не работает. Пожалуйста, игнорируйте имя переменной или имя таблицы, потому что я использую индонезийский язык.

showReport.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++; } ?> 

paging.php

 <?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 данных для каждой страницы? заранее спасибо

Solutions Collecting From Web of "Разбиение страниц на PHP и MySQL?"

Пожалуйста, поставьте:

echo $query;

после:

$sql_ = mysql_query($query_);

в 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 больше не используется. Надежда может помочь любому, кто получает проблемы, как я раньше, приветствует! 😉