PHP 개발 분류 기술은 재귀를 사용하여 무한 분류를 달성합니다. (1)

먼저 간단한 데이터베이스 테스트를 만들어야 합니다

<?php
$link = mysqli_connect('localhost','username','password','test');
mysqli_set_charset($link, "utf8");
if (!$link) {
  die("连接失败:".mysqli_connect_error());
}
?>

새 테이블 클래스를 만들고 3개의 필드를 설정합니다.

sort id type int.

카테고리 이름 제목 varchar 유형.

카테고리 pid int 유형.

다음과 유사한 테이블:

111.png

아이디어:

사용자 정의 함수 get_str을 정의하고, 상위 클래스 pid = 0으로 설정하고, SQL 문을 사용하여 하위 클래스를 쿼리하고, 쿼리된 하위 클래스를 $에 배치합니다. 결과 ,

while 루프를 사용하여 하위 클래스를 생성하고, 문자열을 구성하여 출력 패턴을 만들고, 사용자 정의 함수 get_str을 호출하고, 하위 클래스의 ID를 사용자 정의 함수

에 전달한 다음 계속해서 쿼리합니다. 다음 수업.

<?php
function get_str($id = 0) {
  global $str;
  global $link;    //global 关键词用于访问函数内的全局变量。
  $sql = "select id,title from class where pid= $id";
  $result = mysqli_query($link,$sql);//查询pid的子类的分类
  if($result){//如果有子类
    $str .= '<ul>';
    while ($row = mysqli_fetch_array($result)) { //循环记录集
      $str .= "<li>" . $row['id'] . "--" . $row['title'] . "</li>"; //构建字符串
      get_str($row['id']); //调用get_str(),将记录集中的id参数传入函数中,继续查询下级
    }
    $str .= '</ul>';
  }
  return $str;
}
echo get_str(0);
?>

출력은 다음과 유사합니다.

112.png

지속적인 학습
||
<?php header("content-type:text/html;charset=utf8"); $link = mysqli_connect('localhost','username','password','test'); mysqli_set_charset($link, "utf8"); if (!$link) { die("连接失败:".mysqli_connect_error()); } //递归-返回字符串格式的函数 function get_str($id = 0) { global $str; global $link; //global 关键词用于访问函数内的全局变量。 $sql = "select id,title from class where pid= $id"; $result = mysqli_query($link,$sql);//查询pid的子类的分类 if($result){//如果有子类 $str .= '<ul>'; while ($row = mysqli_fetch_array($result)) { //循环记录集 $str .= "<li>" . $row['id'] . "--" . $row['title'] . "</li>"; //构建字符串 get_str($row['id']); //调用get_str(),将记录集中的id参数传入函数中,继续查询下级 } $str .= '</ul>'; } return $str; } echo get_str(0); ?>
  • 코스 추천
  • 코스웨어 다운로드
현재 코스웨어를 다운로드할 수 없습니다. 현재 직원들이 정리하고 있습니다. 앞으로도 본 강좌에 많은 관심 부탁드립니다~