Postingan lainnya
Kelas Premium!
Belajar bikin website dari nol sekarang
Gunakan kupon "lebihcepat" untuk diskon 25%!
Membuat pagination di PHP Native
Assalamualikum Wr Wb
Hai semua... disini saya akan membuat pagination di PHP Native pertama untuk struktur foldernya saya menngunakan templating/MVC, isi contennya saya simpan di dalam folder sehingga di url tertulis http://localhost/smpn/beranda?page=news dimana dalam ?page=news akan menampilkan data news sesuai di database. pada kali ini saya ingin menggunakan Pagination di halaman ?page=news berikut script yang saya tuliskan
<?php
$JumlahDataPerhalaman = 3;
$JumlahData = count($conn->query("SELECT * FROM tb_news"));
$JumlahHalaman = ceil($JumlahData / $JumlahDataPerhalaman);
$HalamanAktif = (isset($_GET["?page=espalo-news"])) ? $_GET["beranda?page=espalo-news"] : 1;
$AwalData = ($JumlahDataPerhalaman * $HalamanAktif) - $JumlahDataPerhalaman;
// query
$news = $conn->query("SELECT * FROM tb_news LIMIT $AwalData, $JumlahDataPerhalaman"); ?>
dari kode tersebut diatas halaman tidak bisa menampilkan data seperti gambar pada link di bawah [(https://drive.google.com/file/d/1Jj2ZWvo34alIax57mpDkV0rItGsRmBwB/view?usp=drive_link) ]
terdapat pesan errorsebagai berikut Uncaught TypeError: count(): Argument #1 ($value) must be of type Countable|array, mysqli_result
Wassalamualikum
1 Jawaban:
coba kek gini bro
<?php
$JumlahDataPerhalaman = 3;
// Mengubah cara menghitung jumlah data
$result = $conn->query("SELECT COUNT(*) AS jumlah FROM tb_news");
$row = $result->fetch_assoc();
$JumlahData = $row['jumlah'];
$JumlahHalaman = ceil($JumlahData / $JumlahDataPerhalaman);
// Memperbaiki pengambilan halaman aktif
$HalamanAktif = isset($_GET["page"]) ? $_GET["page"] : 1;
$AwalData = ($JumlahDataPerhalaman * $HalamanAktif) - $JumlahDataPerhalaman;
// Query
$news = $conn->query("SELECT * FROM tb_news LIMIT $AwalData, $JumlahDataPerhalaman");
?>
Tanggapan
Tidak bisa masih terdapat error seperti berikut "<b>Fatal error</b>: Uncaught TypeError: Unsupported operand types: int * string"
$HalamanAktif = isset($_GET["page"]) ? intval($_GET["page"]) : 1; $AwalData = ($JumlahDataPerhalaman * $HalamanAktif) - $JumlahDataPerhalaman;