English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
이 PHP의 간단한 이전 페이지와 다음 페이지 기능 구현 예제를 설명합니다. 여러분께 공유하고 참고하기 위해 다음과 같이 작성했습니다:
사고 방식 정리:
지금 많은 사람들이 ID 증가를 사용합니다1와 감소1이전 기사와 다음 기사를 구현했지만, 문서 ID가 끊어질까봐 걱정하지 마세요. 따라서 이전 ID와 다음 ID가 얼마인지 알면 됩니다.
이 문제를 어떻게 해결하죠, 매우 간단합니다!
예제:
이 기사의 ID가200
<a href="?action=up&id=200">이전 기사</a> <a href="?action=down&id=200">다음 기사</a>
이전 기사를 구현하려면 action=up 페이지에 함수를 작성해야 합니다
$id= $_GET['id']; //이전 기사: $sql = select * from article where id < '.$id.' order by id desc limit 0,1'; $rs = mysql_query($sql); $row = mysql_fetch_array ($rs); //다음 글: $sql = select * from article where id < '${id}' order by id asc limit 0,1'; $rs = mysql_query($sql); $row = mysql_fetch_array ($rs);
원리는 현재 ID보다 작은(where id < '${id}' 이전 글)와 현재 ID보다 큰(where id > '${id}' 다음 글)를1개(limit 0,1)데이터를, 내림차순(desc,이전 글)과 오름차순(asc,다음 글)으로 표시합니다. 한 가지 글만 가져올 때는 내림차순이나 오름차순을 생략할 수 있습니다.
구현 코드: 필요한 매개변수를 전달해야 합니다
전면에서 이전 글, 다음 글 부분 호출:
<?php echo GetPreNext(pre,news,$_REQUEST[catid],$_REQUEST[id]);?> //이전 글과 다음 글을 표시 function GetPreNext($gtype,$table,$catid,$id){ $preR = mysql_fetch_array(mysql_query("select * from ".${table}" where catid=".${catid}" and id<${id} order by id desc limit 0,1");//id가 입력된 id보다 작은 가장 가까운 일 $nextR = mysql_fetch_array(mysql_query("select * from ".${table}" where catid=".${catid}" and id>${id} order by id asc limit 0,1");//id가 입력된 id보다 큰 가장 가까운 일 $next = (is_array($nextR) ? " where id=${nextR['id']} " : ' where' 1>2 '); $pre = (is_array($preR) ? " where id=${preR['id']} " : ' where' 1>2 '); $query = "Select" * from ".${table}" "; $nextRow = mysql_query($query.$next); $preRow = mysql_query($query.$pre); if($PreNext=mysql_fetch_array($preRow)) { echo $PreNext['pre'] = "이전글: <a href='newsshow.php63;id=".$preR['id']."&&catid=".$catid."'>".$PreNext['title']."</a> "; } else { echo $PreNext['pre'] = "이전글: 없음 "; } if($PreNext=mysql_fetch_array($nextRow)) { echo $PreNext['next'] = "다음글: <a href='newsshow.php63;id=".$nextR['id']."&&catid=".$catid."'>".$PreNext['title']."</a> "; } else { echo $PreNext['next'] = "다음글: 없음 "; } }
코드는 테스트되어 사용 가능합니다
PHP 관련 내용에 대해 더 알고 싶은 독자는 이 사이트의 특집을 확인할 수 있습니다: 《PHP 일반 데이터베이스 작업 기술 요약》、《PHP 배열(Array) 작업 기술 모든 것》、《PHP 정렬 알고리즘 요약》、《PHP 일반 순회 알고리즘 및 기술 요약》、《PHP 데이터 구조 및 알고리즘 가이드》、《PHP 프로그램 설계 알고리즘 요약》、《PHP 수학 연산 기술 요약》、《PHP 정규 표현식 사용 설명서 요약》、《PHP 연산 및 연산자 사용 설명서 요약》 및 《PHP 문자열(string) 사용 설명서 요약》
이 문서에서 설명된 내용이 모두 여러분의 PHP 프로그램 설계에 도움이 되길 바랍니다.
성명: 이 문서의 내용은 인터넷에서 수집되었으며, 저작권은 원저자에게 있으며, 인터넷 사용자가 자발적으로 기여하고 업로드한 내용입니다. 이 사이트는 소유권을 가지지 않으며, 인공 편집을 하지 않았으며, 관련 법적 책임을 부담하지 않습니다. 저작권 문제가 의심되는 내용을 발견하면, notice#w로 이메일을 보내 주세요.3codebox.com에 신고할 때, #을 @으로 변경하고, 관련 증거를 제공하십시오. 실제로 확인되면, 이 사이트는 즉시 의심스러운 저작권 내용을 삭제합니다.