php教程 php手册 一个更简单的无限级分类菜单代码

一个更简单的无限级分类菜单代码

Jun 13, 2016 pm 12:33 PM
암호 새해 분류 제한 없는 ~의 메뉴

首先要感谢terry39的指点,元旦闲来无事,我就把他所讲的原理简单实现一下,这个程序的关键就在于数据表的设计很有特色,不用递归,依靠个简单SQL语句就能列出菜单,看看这个数据表怎么设计的:
数据库字段大概如下:
-----------------------------------------------------------------------------------
id              编号
fid             父分类编号
name         分类名
path          分类路径,以 id 为节点,组成类似    ,1,2,3,4, 这样的字符串
----------------------------------------------------------------------------------

可以假设有如下的数据

id      fid          name             path
----------------------------------------------------
1       0           分类1             ,1,
2       0           分类2             ,2,
3       1           分类1-1          ,1,3,
4       1           分类1-2          ,1,4,
5       2           分类2-1          ,2,5,
6       4           分类1-2-1       ,1,4,6,
----------------------------------------------------
这次偷懒,我只用一个页面,好在代码不长,全部代码用类封装的(不是必要,而是自己也想熟悉一下OO,呵呵!),来看看页面代码:

复制代码 代码如下:



/**************************************

  页面:menu.php
  作者:辉老大
  功能:定义数据库操作及生成菜单列表类

**************************************/
class menu{

       //创建构造函数,作用:数据库连接并选择相应数据库
       public function __construct(){
           $dbhost     = "localhost";
           $dbuser     = "root";
           $dbpassword = "7529639";
           $dbname     = "menu";
           mysql_connect($dbhost,$dbuser,$dbpassword) or die("error!");
           mysql_query("SET NAMES 'GBK'");
           mysql_select_db($dbname);
       }

       //执行SQL语句函数
       private function query($sql){
           return mysql_query($sql);
       }

       //取得结果集数组函数
       private function loop_query($result){
           return mysql_fetch_array($result);
       }
       //列出菜单列表函数
       public function menulist(){
           $sql="select * from list order by path";
           $result=$this->query($sql);
            while($rows=$this->loop_query($result)){
             if(substr_count($rows['path'],',')>2){
               for($i=0;$i               echo ' ';
              }
             echo $rows['name'].'
';
            }
       }

       //创建析构函数,作用:关闭数据库连接
       public function __destruct(){
           return mysql_close();
       }
   }
  $db=new menu();//生成实例
  $db->menulist();//调用方法生成菜单
?> 


본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

<gum> : Bubble Gum Simulator Infinity- 로얄 키를 얻고 사용하는 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
Nordhold : Fusion System, 설명
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora : 마녀 트리의 속삭임 - Grappling Hook 잠금 해제 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

win7 드라이버 코드 28을 해결하는 방법 win7 드라이버 코드 28을 해결하는 방법 Dec 30, 2023 pm 11:55 PM

일부 사용자는 장치를 설치할 때 오류 코드 28을 표시하는 오류가 발생했습니다. 실제로 이는 주로 드라이버 때문입니다. win7 드라이버 코드 28의 문제만 해결하면 됩니다. 수행해야 할 작업을 살펴보겠습니다. 그것. win7 드라이버 코드 28로 수행할 작업: 먼저 화면 왼쪽 하단에 있는 시작 메뉴를 클릭해야 합니다. 그런 다음 팝업 메뉴에서 "제어판" 옵션을 찾아 클릭하세요. 이 옵션은 일반적으로 메뉴 하단이나 그 근처에 있습니다. 클릭하면 시스템이 자동으로 제어판 인터페이스를 엽니다. 제어판에서는 다양한 시스템 설정 및 관리 작업을 수행할 수 있습니다. 이것이 향수 청소 수준의 첫 번째 단계입니다. 도움이 되기를 바랍니다. 그런 다음 계속해서 시스템에 들어가야 합니다.

GIGABYTE 마더보드에서 키보드 부팅 기능을 설정하는 방법(GIGABYTE 마더보드에서 키보드 부팅 모드 활성화) GIGABYTE 마더보드에서 키보드 부팅 기능을 설정하는 방법(GIGABYTE 마더보드에서 키보드 부팅 모드 활성화) Dec 31, 2023 pm 05:15 PM

Gigabyte 마더보드에서 키보드 시작을 설정하는 방법 먼저, 키보드 시작을 지원해야 한다면 PS2 키보드여야 합니다! ! 설정 단계는 다음과 같습니다. 1단계: 부팅 후 Del 또는 F2를 눌러 BIOS에 들어가고, BIOS의 고급(Advanced) 모드로 들어갑니다. 일반 마더보드는 기본적으로 마더보드의 EZ(Easy) 모드로 들어갑니다. F7을 눌러 고급 모드로 전환합니다. ROG 시리즈 마더보드는 기본적으로 BIOS로 들어갑니다. 고급 모드(간체 중국어를 사용하여 설명) 2단계: - [고급] - [고급 전원 관리(APM)]를 선택합니다. [PS2 키보드로 깨우기] 옵션 찾기 4단계: 이 옵션 기본값은 비활성화입니다. 아래로 당기면 세 가지 다른 설정 옵션이 표시됩니다. 즉, 컴퓨터를 켜려면 [스페이스바]를 누르고 그룹을 누르세요.

CS 플레이어를 위한 첫 번째 선택: 권장 컴퓨터 구성 CS 플레이어를 위한 첫 번째 선택: 권장 컴퓨터 구성 Jan 02, 2024 pm 04:26 PM

1. 프로세서 컴퓨터 구성을 선택할 때 프로세서는 가장 중요한 구성 요소 중 하나입니다. CS와 같은 게임을 플레이할 때 프로세서의 성능은 게임의 부드러움과 응답 속도에 직접적인 영향을 미칩니다. Intel Core i5 또는 i7 시리즈 프로세서는 강력한 멀티 코어 처리 기능과 높은 주파수를 갖추고 CS의 높은 요구 사항에 쉽게 대처할 수 있으므로 선택하는 것이 좋습니다. 2. 그래픽 카드 그래픽 카드는 게임 성능을 좌우하는 중요한 요소 중 하나입니다. CS 등 슈팅 게임에서는 그래픽 카드의 성능이 게임 화면의 선명도와 부드러움에 직접적인 영향을 미칩니다. NVIDIA GeForce GTX 시리즈 또는 AMD Radeon RX 시리즈 그래픽 카드를 선택하는 것이 좋습니다. 이 카드는 뛰어난 그래픽 처리 기능과 높은 프레임 속도 출력을 갖추고 있으며 더 나은 게임 경험을 제공할 수 있습니다.

블루 스크린 코드 0x0000001이 발생하는 경우 대처 방법 블루 스크린 코드 0x0000001이 발생하는 경우 대처 방법 Feb 23, 2024 am 08:09 AM

블루 스크린 코드 0x0000001로 수행할 작업 블루 스크린 오류는 컴퓨터 시스템이나 하드웨어에 문제가 있을 때 나타나는 경고 메커니즘입니다. 코드 0x0000001은 일반적으로 하드웨어 또는 드라이버 오류를 나타냅니다. 사용자가 컴퓨터를 사용하는 동안 갑자기 블루 스크린 오류가 발생하면 당황하고 당황할 수 있습니다. 다행히도 대부분의 블루 스크린 오류는 몇 가지 간단한 단계를 통해 문제를 해결하고 처리할 수 있습니다. 이 기사에서는 독자들에게 블루 스크린 오류 코드 0x0000001을 해결하는 몇 가지 방법을 소개합니다. 먼저, 블루 스크린 오류가 발생하면 다시 시작해 보세요.

컴퓨터에 블루 스크린이 자주 발생하고 코드가 매번 다릅니다. 컴퓨터에 블루 스크린이 자주 발생하고 코드가 매번 다릅니다. Jan 06, 2024 pm 10:53 PM

win10 시스템은 매우 뛰어난 지능 시스템으로 사용자에게 최고의 사용자 경험을 제공할 수 있습니다. 정상적인 상황에서는 사용자의 win10 시스템 컴퓨터에 아무런 문제가 없습니다! 그러나 우수한 컴퓨터에서는 다양한 오류가 발생하는 것은 불가피합니다. 최근 친구들은 win10 시스템에서 블루 스크린이 자주 발생한다고 보고했습니다. 오늘 편집자는 Windows 10 컴퓨터에서 자주 블루 스크린을 발생시키는 다양한 코드에 대한 솔루션을 제공합니다. 매번 다른 코드로 자주 나타나는 컴퓨터 블루 스크린에 대한 해결 방법: 다양한 오류 코드의 원인 및 해결 방법 제안 1. 0×000000116 오류의 원인: 그래픽 카드 드라이버가 호환되지 않는 것이어야 합니다. 해결책: 원래 제조업체의 드라이버를 교체하는 것이 좋습니다. 2,

마더보드의 디지털 오디오 출력 인터페이스 - SPDIF OUT 마더보드의 디지털 오디오 출력 인터페이스 - SPDIF OUT Jan 14, 2024 pm 04:42 PM

마더보드의 SPDIFOUT 연결 라인 순서 최근에 전선의 배선 순서에 문제가 발생했습니다. 온라인에서 확인해 보니 1, 2, 4가 out, +5V, ground에 해당한다는 정보도 있고, 1, 2, 4가 out, ground, +5V에 해당한다는 정보도 있습니다. 가장 좋은 방법은 마더보드 설명서를 확인하는 것입니다. 설명서를 찾을 수 없으면 멀티미터를 사용하여 측정할 수 있습니다. 먼저 접지를 찾은 다음 나머지 배선의 순서를 결정할 수 있습니다. 마더보드 VDG 배선 연결 방법 마더보드의 VDG 배선을 연결할 때 VGA 케이블의 한쪽 끝을 모니터의 VGA 인터페이스에 연결하고 다른 쪽 끝을 컴퓨터 그래픽 카드의 VGA 인터페이스에 연결해야 합니다. 마더보드의 VGA 포트에 연결하지 않도록 주의하세요. 연결되면 다음을 수행할 수 있습니다.

모든 장치에서 GE 범용 원격 코드 프로그램 모든 장치에서 GE 범용 원격 코드 프로그램 Mar 02, 2024 pm 01:58 PM

장치를 원격으로 프로그래밍해야 하는 경우 이 문서가 도움이 될 것입니다. 우리는 모든 장치 프로그래밍을 위한 최고의 GE 범용 원격 코드를 공유할 것입니다. GE 리모콘이란 무엇입니까? GEUniversalRemote는 스마트 TV, LG, Vizio, Sony, Blu-ray, DVD, DVR, Roku, AppleTV, 스트리밍 미디어 플레이어 등과 같은 여러 장치를 제어하는 ​​데 사용할 수 있는 리모컨입니다. GEUniversal 리모컨은 다양한 기능과 기능을 갖춘 다양한 모델로 제공됩니다. GEUniversalRemote는 최대 4개의 장치를 제어할 수 있습니다. 모든 장치에서 프로그래밍할 수 있는 최고의 범용 원격 코드 GE 리모컨에는 다양한 장치에서 작동할 수 있는 코드 세트가 함께 제공됩니다. 당신은 할 수있다

Copilot을 사용하여 코드를 생성하는 방법 Copilot을 사용하여 코드를 생성하는 방법 Mar 23, 2024 am 10:41 AM

프로그래머로서 저는 코딩 경험을 단순화하는 도구에 흥미를 느낍니다. 인공 지능 도구의 도움으로 데모 코드를 생성하고 요구 사항에 따라 필요한 수정 작업을 수행할 수 있습니다. Visual Studio Code에 새로 도입된 Copilot 도구를 사용하면 자연어 채팅 상호 작용을 통해 AI 생성 코드를 만들 수 있습니다. 기능을 설명함으로써 기존 코드의 의미를 더 잘 이해할 수 있습니다. Copilot을 사용하여 코드를 생성하는 방법은 무엇입니까? 시작하려면 먼저 최신 PowerPlatformTools 확장을 가져와야 합니다. 이를 위해서는 확장 페이지로 이동하여 "PowerPlatformTool"을 검색하고 설치 버튼을 클릭해야 합니다.

See all articles