Postingan lainnya
Buku Ini Koding!
Baru!
Buku ini akan jadi teman perjalanan kamu belajar sampai dapat kerjaan di dunia programming!
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;