재귀적 방법 PHP는 코드 재귀적 방법을 구현하기 위해 무한 수준 분류를 구현합니다.

WBOY
풀어 주다: 2016-07-29 08:44:10
원래의
992명이 탐색했습니다.

처음에는 분류 기능도 포함된 백과사전을 만든 적이 있었는데, 이는 무한 분류가 아니라 고정된 3단계 분류를 단순 구현한 것이었습니다. , 생각해보면 구현 방법이 너무 조잡한데 사실 3단계 분류는 무한단계 분류의 특수한 경우일 뿐입니다. 잠시 생각해보니 이미 몇 가지 아이디어가 있어서 인터넷으로 확인해 보니 그런 게 너무 많더군요. 하하. 실제로 무한 드롭다운 목록 기능은 매우 간단하며 재귀 알고리즘을 사용하는 것에 지나지 않습니다.
우선 데이터베이스를 설계해야 합니다. 분류 정보를 저장할 테이블을 구축해야 합니다. 첫 번째는 기본 키(ID)이고 두 번째는 상위 분류 ID( parentid), 세 번째는 분류입니다. 가능한 효과는 다음과 같습니다.
ID PARENTID CLASSNAME
1 0 1차 수준 분류 A
2 0 1차 수준 분류 B
3 1 2차 수준 분류 A
4 1 2차 수준 분류 B
주요 아이디어: 먼저 세 번째와 네 번째 행을 살펴보세요. 상위 클래스 ID(PARENTID)의 값은 1입니다. 이는 클래스 ID=1의 하위 클래스에 속한다는 의미입니다. 상위 분류가 없으므로 상위 클래스 ID(PARENTID)의 값이 0으로 1차 분류를 나타내는 식으로 무한 분류를 달성합니다. 최종 효과는 다음과 같습니다.
├1차 분류 A
├─┴2차 분류 A
├─┴2차 분류 B
├1차 분류 B
그러면 프로그램인데, 여기서 설명언어로 PHP는 원리가 비슷하기 때문에 쉽게 다른 언어로 바꿀 수 있고, 그냥 재귀일 뿐입니다.

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


$dbhost = "localhost" / / 데이터베이스 호스트 이름
$dbuser = "root"; // 데이터베이스 사용자 이름
$dbpd = "123456"; // 데이터베이스 비밀번호
$dbname = "test"; mysql_connect($ dbhost,$dbuser,$dbpd); //호스트에 연결
mysql_select_db($dbname); //데이터베이스 선택
mysql_query("SET NAMES 'utf8'")
display_tree(" ├",0 );
function display_tree($tag,$classid) {
$result = mysql_query("
SELECT *
FROM ylmf_class
WHERE parentid = '" . $classid . "'
;"
);
while ($row = mysql_fetch_array($result)) {
// 노드 이름 들여쓰기
echo $tag.$row['classname'] . "< ;br/>";
//하위 노드의 하위 노드를 표시하려면 이 함수를 다시 호출하세요
display_tree($tag."─┴",$row['id']);
}
}
?>

이러한 재귀적 방법은 다수의 하위 열, 일부 성숙한 cms 시스템에 부담이 됩니다. 모두 쉽게 호출할 수 있도록 제작된 어레이이며, 효율성도 크게 향상시킬 수 있습니다.
이상은 재귀적 방법의 내용을 포함하여 무한 분류와 코드 재귀적 방법을 구현하기 위한 PHP의 재귀적 방법을 소개하고 있으며, PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

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