이전 글과 다음 글을 PHP로 구현하는 방법에 대한 자세한 설명

墨辰丷
풀어 주다: 2023-03-28 22:18:01
원래의
3226명이 탐색했습니다.

이 글은 주로 이전 글과 다음 글을 PHP에서 구현하는 방법을 소개하며, 이전 글과 다음 글을 예제 형식으로 얻기 위해 PHP의 SQL 연산과 관련된 쿼리 기술을 요약하고 분석합니다. 참고하시면 됩니다

php 구현 이전 글다음 글 주로 SQL을 사용하여 현재 ID를 기준으로 판단한 후 현재 ID 이전의 데이터나 ID 이후의 데이터를 필터링하는 방법을 살펴보겠습니다. 세부 사항.

웹사이트 기사의 이전 기사와 다음 기사에 대한 SQL 문의 작성 방법을 구현합니다.

현재 글의 ID는 $article_id이고, 현재 글의 해당 카테고리 ID는 $cat_id라면 이전 글은 다음과 같습니다.

코드 복사 코드는 다음과 같습니다.

SELECT max(article_id) FROM Article WHERE Article_id < ; $article_id AND cat_id=$cat_id;

이 SQL 문을 실행한 후 $max_id를 얻은 다음

코드를 복사합니다 코드는 다음과 같습니다.

SELECT 기사 ID, 제목 FROM 기사 WHERE 기사 ID = $max_id;

간소화하여 하위 쿼리로 변환:

코드 복사 코드는 다음과 같습니다.

SELECT 기사_ID, 제목 FROM 기사 WHERE 기사_ID = (SELECT max (article_id) FROM 기사 WHERE 기사 ID < $article_id AND cat_id=$cat_id);


다음 기사는 코드는 다음과 같습니다.

코드를 복사하세요코드는 다음과 같습니다.

SELECT min (article_id) FROM 기사 WHERE 기사 ID > $article_id AND cat_id=$cat_id;


이 SQL 문을 실행한 후 $min_id를 가져오고 다음을 수행합니다.

코드 복사코드는 다음과 같습니다.

SELECT 기사 ID, 제목 FROM 기사 WHERE 기사_ID = $min_id;

간소화하고 하위 쿼리로 변환:

코드 복사코드는 다음과 같습니다.

SELECT 기사_ID, 제목 FROM 기사 WHERE 기사_ID = (SELECT min(article_id) FROM Article WHERE Article_id > $article_id AND cat_id=$cat_id);


마지막으로 많은 친구들이 다음 문장을 사용하기를 좋아합니다

이전 장의 코드는 다음과 같습니다.

select id from table where id10 limit 0,1;
로그인 후 복사

확실히 문제가 없습니다.

SQL 문 최적화:

Union All을 사용하여 하나의 문으로 3행의 데이터를 가져올 수 있지만 전제는 세 쿼리의 필드가 다음과 같아야 한다는 것입니다. 이 쿼리 결과의 첫 번째 줄은 이전 기사, 두 번째 줄은 현재 기사, 세 번째 줄은 다음 기사입니다.

코드 복사 다음과 같이:

(id < 10 order by id asc 제한 1인 테이블에서 id 선택) Union all(id = 10인 테이블에서 id 선택) Union all(id < 10 id desc로 order by id < 10인 테이블에서 id 선택) 제한 1);


이제 이전 기사를 다음 기사에 구현하기 위해 cms phpcms의 몇 가지 예를 살펴보겠습니다.

현재 검색된 기사 ID 가져오기:

$id = isset($_GET[&#39;id&#39;]) > 0 ? intval($_GET[&#39;id&#39;]) : "";
로그인 후 복사

다음 기사:

$query = mysql_query("SELECT id,title FROM article WHERE id>&#39;$id&#39; ORDER BY id ASC LIMIT 1");
$next = mysql_fetch_array($query);
로그인 후 복사

이전 글:

$query = mysql_query("SELECT id,title FROM article WHERE id <&#39;$id&#39; ORDER BY id DESC LIMIT 1");
$prev = mysql_fetch_array($query);
로그인 후 복사

요약: 위 내용은 이 글의 전체 내용입니다. 모든 분들의 공부에 도움이 되었으면 좋겠습니다. Related Related Residentations :

PHP 로그인의 예제를 생성합니다. 비정상 IP 감지 기능


PHP는 도둑 프로그램 예제


PHP Export CSV 파일을 구현합니다.

위 내용은 이전 글과 다음 글을 PHP로 구현하는 방법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!