오늘은 제가 PHP에서 무한분류 방법을 어떻게 배우고 정교하게 공부했는지 공유하겠습니다. PHP를 배우고 있는 친구들이 참고하면 좋을 것 같습니다.
PHP에는 대략 세 가지 무제한 분류 방법이 있습니다.
1. 데이터베이스는 상위 클래스 ID를 설정하여 고유하게 색인화한 다음 재귀 함수 호출을 사용하여 무제한 분류를 달성합니다.
2. 데이터베이스 설계; 특정 형식으로 정렬된 다음 mysql을 사용하여 핵심 함수인 concat를 쿼리합니다. 프로그램 구현은 비교적 간단합니다.
3. 세 번째 유형은 정렬에 알고리즘과 데이터 구조가 사용되는 것 같습니다.
오늘은 두 번째 방법을 위주로 공유하겠습니다. 처음에 정보가 많이 나와서 정말 이해하기 어려웠습니다. 하지만 마침내 그 사실을 알게 되었기 때문에 이 글이 모든 분들께 도움이 되기를 바라는 마음으로 에세이를 작성하게 되었습니다.
1. 데이터베이스 디자인:
코드는 다음과 같습니다.
-- -- Table structure for table `category` -- CREATE TABLE IF NOT EXISTS `category` ( `id` int(11) NOT NULL AUTO_INCREMENT, `catpath` varchar(255) DEFAULT NULL, `name` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=11 ; -- -- Dumping data for table `category` -- INSERT INTO `category` (`id`, `catpath`, `name`) VALUES (1, '0', '网站首页'), (2, '0-1', 'Linux OS'), (3, '0-1', 'Apache服务器'), (4, '0-1', 'MySQL数据库'), (5, '0-1', 'PHP脚本语言'), (6, '0-1-2', 'Linux 系统教程'), (7, '0-1-2', 'Linux 网络技术'), (8, '0-1-2', 'Linux 安全基础'), (9, '0-1-2-7', 'Linux LAMP'), (10, '0-1-3-10', 'apache Server');
여기서 catpath의 - 링크 기호는 고정되어 있지 않으므로,,;
2. PHP 코드 구현:
코드는 다음과 같습니다:
$conn = mysql_connect ( 'localhost', 'root', '' ); mysql_select_db ( 'test', $conn ); mysql_query ( 'set names UTF8' ); $sql = "select id,concat(catpath,'-',id) as abspath,name from category order by abspath"; $query = mysql_query ( $sql ); while ( $row = mysql_fetch_array ( $query ) ) { /** * 第一种展示方法 */ /*$space = str_repeat ( ' ', count ( explode ( '-', $row ['abspath'] ) ) - 1 ); echo $space . $row ['name'] . '<br>';*/ /** * 第二种展示方法 */ $space = str_repeat ( ' ', count ( explode ( '-', $row ['abspath'] ) ) - 1 ); $option .= '<option value="' . $row ['id'] . '">' . $space . $row ['name'] . '</option>'; } echo '<select name="opt">' . $option . '</select>';
위 렌더링:
여기서 주목해야 할 몇 가지 핵심 사항이 있습니다:
1. concat 함수가 사용됩니다. 데이터베이스 쿼리 필드에서 아무것도 이해하지 못하는 경우 Google에 검색할 수 있습니다.
2. 두 번째 장소는 주로 PHP에서 str_repeat를 사용하여 교묘하게 공백을 설정합니다.
오류가 있으면 chenghuiyong1987@gmail.com으로 이메일을 보내거나 메시지를 남겨주세요
위 내용은 PHP에서 무한 분류를 구현하는 세 가지 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!