Rumah > Soal Jawab > teks badan
kod php
<?php
//include "db_connect.php";
$db = MySQLi baharu("localhost", "root", "kata laluan", "halaman muka surat");
$db->set_charset('utf8mb4');
header('Content-type: application/json;charset=utf-8');
$total = 0; //Jumlah bilangan baris data jadual
$per_page = 6; // Bilangan baris setiap halaman
$current_page = 1; // Halaman manakah yang sedang dipaparkan?
$total_pages = 0; //Jumlah bilangan halaman
// Dapatkan nombor halaman semasa
jika (!kosong($_GET['halaman_semasa'])) {
$halaman_semasa = $_GET['halaman_semasa'];
}
// Dapatkan jumlah bilangan baris data jadual
$query1 = 'pilih kiraan(*) daripada pengguna';
$row1 = $db->query($query1);
if ($row1 && $rowd = $row1->fetch_row()) {
$jumlah = $rowd[0];
}
// Dapatkan jumlah halaman
$total_pages = siling($total / $per_pages);
// paging
$pra = ($halaman_semasa - 1) * $setiap_halaman;
$query2 = "pilih * daripada had pengguna $pre,$per_page";
$rows = $db->query($query2);
$arr = [];
jika($baris) {
$arr = $rows->fetch_all(MYSQLI_ASSOC);
}
$penomboran = [
'total' => $total,
'per_page' => $per_page,
'current_page' => $current_page,
'total_pages' => $total_pages
];
array_push($arr, $penomboran);
echo json_encode($arr, true);
tangkapan skrin posmen:
kod js:
window.onload = function () {
getData(1);
}
fungsi addURLParam(url, nama, nilai) {
url += (url.indexOf("?") == -1 ? "?" : "&");
url += encodeURIComponent(name) + "=" + encodeURIComponent(value);
pulangkan url;
}
fungsi getData(halaman) {
var data = document.getElementById("data");
var xhr = XMLHttpRequest baharu();
xhr.onreadystatechange = fungsi () {
if (xhr.readyState == 4 && xhr.status == 200) {
var jsonText = xhr.responseText;
console.log(JSON.parse(jsonText));
}
}
var url = "paginate.php";
url = addURLParam(url, "halaman_semasa", "halaman");
xhr.open("dapat", url, benar);
xhr.send();
}
Tiada kandungan dalam pangkalan data di hadapan konsol chrome
Sepatutnya
$query2 = "pilih * daripada had pengguna $pre,$per_page";
$rows = $db->query($query2);
$arr = [];
jika($baris) {
$arr = $rows->fetch_all(MYSQLI_ASSOC);
}
Terdapat masalah dengan sql di sini, kerana akan ada ralat sebelum ini jika ($rows) ditambah Namun, saya sangat terkejut mengapa php boleh berjalan seperti biasa class="img-wrap ">
巴扎黑2017-05-16 13:13:56
Ini adalah masalah bahawa js tidak menghantar parameter dengan betul ke dalam addURLParam()
url = addURLParam(url, "current_page", "page");
ditukar kepada
url = addURLParam(url, "current_page", page);
Memang memalukan untuk mengatakan bahawa saya menemui pepijat ini selepas saya menyiarkan soalan itu sekali, tetapi sekolah mengalami gangguan bekalan elektrik dan komputer kehabisan kuasa, jadi saya tidak dapat mengujinya. . . . . .
Tetapi perkara penting ialah saya menambah kaedah addURLParam terakhir
xhr.open("get", "paginate.php?current_page="+page, true);
addURLParam() ialah kaedah dalam pengaturcaraan lanjutan js, katanya
Ralat yang sering berlaku semasa menggunakan permintaan GET ialah terdapat masalah dengan format rentetan pertanyaan. Nama dan nilai setiap parameter dalam rentetan pertanyaan mesti dikodkan menggunakan encodeURIComponent() sebelum diletakkan di hujung URLKawan-kawan yang tahu sebab boleh jawab point ni, saya akan search dulu~