php 코드
<코드><?php //"db_connect.php"를 포함합니다; $db = new MySQLi("localhost", "root", "password", "pagination"); $db->set_charset('utf8mb4'); header('콘텐츠 유형: 애플리케이션/json;charset=utf-8'); $total = 0; //테이블 데이터의 총 행 수 $per_page = 6; // 페이지당 줄 수 $current_page = 1; // 현재 표시되는 페이지는 무엇입니까? $total_pages = 0; //총 페이지 수 // 현재 페이지 번호를 가져옵니다. if (!empty($_GET['current_page'])) { $current_page = $_GET['현재_페이지']; } // 테이블 데이터의 총 행 수를 가져옵니다. $query1 = '사용자로부터 개수(*) 선택'; $row1 = $db->query($query1); if ($row1 && $rowd = $row1->fetch_row()) { $total = $rowd[0]; } // 총 페이지 수를 구합니다. $total_pages = ceil($total / $per_page); // 페이징 $pre = ($current_page - 1) * $per_page; $query2 = "사용자 제한 $pre,$per_page에서 * 선택"; $rows = $db->query($query2); $arr = []; if($행) { $arr = $rows->fetch_all(MYSQLI_ASSOC); } $페이지 매김 = [ '총계' => $총계, '페이지당' => $페이지당, '현재_페이지' => $현재_페이지, '총_페이지' => ]; array_push($arr, $페이지 매김); echo json_encode($arr, true);
우체부 스크린샷:
js 코드:
window.onload = 함수 () {
getData(1);
}
function addURLParam(url, 이름, 값) {
url += (url.indexOf("?") == -1 ? "?" : "&");
url += encodeURIComponent(이름) + "=" + encodeURIComponent(값);
반환 URL;
}
함수 getData(페이지) {
var data = document.getElementById("data");
var xhr = 새로운 XMLHttpRequest();
xhr.onreadystatechange = 함수() {
if (xhr.readyState == 4 && xhr.status == 200) {
var jsonText = xhr.responseText;
console.log(JSON.parse(jsonText));
}
}
var url = "paginate.php";
url = addURLParam(url, "current_page", "페이지");
xhr.open("get", url, true);
xhr.send();
}
크롬 콘솔 앞의 데이터베이스에 콘텐츠가 없습니다.
해야지
$query2 = "사용자 제한 $pre,$per_page에서 * 선택";
$rows = $db->query($query2);
$arr = [];
if($행) {
$arr = $rows->fetch_all(MYSQLI_ASSOC);
}
여기에는 if ($rows)를 추가하기 전에 오류가 발생하기 때문에 sql에 문제가 있습니다. 그러나 php 버전이 7.0.8인데 왜 정상적으로 실행되는지 매우 놀랐습니다. class="img-wrap ">
js가 addURLParam()에 매개변수를 올바르게 전달하지 못하는 문제입니다
으아아아가
로 변경되었습니다. 으아아아질문을 올린 후 이런 버그를 발견했다는게 정말 부끄럽습니다. 질문을 한 번 수정하고 수정했는데, 학교에 정전이 되고 컴퓨터도 전원이 나가서 테스트를 할 수 없었습니다. . . . . .
하지만 중요한 점은 addURLParam 메소드를 마지막에 추가했다는 점입니다. 으아아아
addURLParam()은 js 고급 프로그래밍의 메서드입니다.