이 글은 주로 이전 글과 다음 글을 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 d18ddf8ed6a764f5b2771dc96818c6a1 $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['id']) > 0 ? intval($_GET['id']) : "";
다음 기사:
$query = mysql_query("SELECT id,title FROM article WHERE id>'$id' ORDER BY id ASC LIMIT 1"); $next = mysql_fetch_array($query);
이전 글:
$query = mysql_query("SELECT id,title FROM article WHERE id <'$id' ORDER BY id DESC LIMIT 1"); $prev = mysql_fetch_array($query);
요약: 위 내용은 이 글의 전체 내용입니다. 모든 분들의 공부에 도움이 되었으면 좋겠습니다. Related Related Residentations :
PHP 로그인의 예제를 생성합니다. 비정상 IP 감지 기능 PHP는 도둑 프로그램 예제위 내용은 이전 글과 다음 글을 PHP로 구현하는 방법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!