이 글에서는 PHP 무한 분류 드롭다운 목록 메뉴 구현 방법을 이전 글 [PHP 무한 분류 (1) 데이터 테이블 설계 방법]의 예시를 바탕으로 자세히 설명하겠습니다.
PHP 무제한 분류는 실제로 분류 기술입니다. 구현 원리를 숙지하면 모든 기술은 매우 간단하며 PHP 무한 분류의 원리는 재귀의 원리입니다.
재귀에 대한 관련 지식 포인트는 [PHP에서 재귀 정렬을 구현하는 방법은 무엇입니까? 】이 기사는 이미 소개되었으므로 더 알고 싶은 친구들은 참고할 수 있습니다.
이전 기사에서 언급했듯이 PHP 무한 분류는 데이터베이스와 결합하여 구현되어야 하며 이 데이터베이스에는 id와 pid 두 필드가 있어야 합니다. (pid는 상위 id를 나타냄)
이제 간단한 데이터 테이블 모드를 통해 PHP 무한 분류 구현 방법을 소개하겠습니다.
간단한 분류 데이터 테이블 정보는 다음과 같습니다.
PHP 무한 분류 구현 드롭다운 목록의 코드 예시는 다음과 같습니다.
<?php $host = "127.0.0.1"; $user = "root"; $password = "root"; $dbName = "php"; $link = mysqli_connect($host, $user, $password, $dbName); function getList($pid = 0, &$result = array(), $spac = 0) { global $link; $spac = $spac + 2;//标题前空格重复的次数 //根据父id查找数据 $sql = "select * from sort WHERE pid=$pid"; //发送sql语句 $res = mysqli_query($link, $sql); //判断$row里的值是否为空然后再循环 while ($row = mysqli_fetch_assoc($res)) { //str_repeat 重复括号里的字符串,后面跟的是次数 $row['title'] = str_repeat(' ', $spac) . '|--' . $row['title']; //把数组赋给 $result $result[] = $row; //递归调用,自己调用自己 这个括号里的参数和上面getList($pid=0...)是一样的$row['id']==$pid=0; getList($row['id'], $result, $spac); } return $result;//把结果返回出去 } $rs = getList();//使用方法 echo "<pre class="brush:php;toolbar:false">"; //print_r($rs);//打印方法结果 echo "<select>"; foreach ($rs as $k => $v) { echo "<option value =>{$v['title']}</option>"; } echo "</select>";
이 코드의 최종 효과는 다음과 같습니다.
위 코드에서는 getList 메소드를 정의하고 기본 $pid, 참조된 배열 매개변수 &$result 및 공백 문자 수 $spac인 세 가지 선택적 매개변수를 전달하도록 설정했습니다. 그런 다음 데이터베이스에 연결하는 $link 변수를 전역 변수로 설정하여 주로 이 방법에서 정상적으로 사용할 수 있도록 합니다.
그런 다음 위 그림의 효과를 얻기 위한 주요 아이디어는 예제의 배열을 순회하는 것입니다. 상위 pid가 최상위 레벨 0과 동일할 때 배열 이름을 추출하고 다시 편집하고 접두사를 추가합니다. 다시 넣은 다음 재귀 알고리즘을 사용하여 스스로 반복합니다. 다음 번에 다음 수준의 pid가 있으면 계속 호출하여 위의 드롭 효과를 간단히 얻을 수 있습니다. -다운리스트!
이 글은 PHP 무한 분류 드롭다운 목록의 구체적인 구현 방법에 관한 것입니다.
PHP에 대해 더 알고 싶다면 PHP 중국어 웹사이트PHP 비디오 튜토리얼을 따라가세요. 누구나 참고하고 배울 수 있습니다!
위 내용은 PHP 무한분류에서 드롭다운 목록 구현 방법(2)(그림, 텍스트+동영상)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!