PHP 개발 분류 기술 드롭다운 메뉴 분류(3)
다음과 유사한 드롭다운 메뉴를 출력하기 위해 루프형 getList에
<selsct> 스타일을 추가하도록 함수 displayCate를 사용자 정의합니다.
|-- Clothing
|-- Men's Clothing
|-- 여성의류
|-- 식품
|-- 주식
|-- 쌀
|-- 비주식
출력 분류 foreach 루프를 통해 스타일을 적용하면 드롭다운 메뉴의 기본값은 첫 번째 수준 분류입니다.
<?php function displayCate($pid=0,$selected=1){ $rs=getList($pid); $str=''; $str.="<select name='cate'>"; foreach ($rs as $key=>$val){ $selectedstr=''; if ($val['id'] == $selected){ $selectedstr="selected"; } $str.="<option {$selectedstr}>{$val['title']}</option>"; } return $str.="</select>"; } echo displayCate(0,3); ?>
드롭다운 메뉴 효과 코드의 완전한 구현:
<?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 getList($pid=0,&$result=array(),$space=0){ global $link; $space=$space+2; $sql="select * from class where pid = $pid"; $res = mysqli_query($link,$sql); while ($row = mysqli_fetch_assoc($res)){ $row['title']=str_repeat(' ',$space).'|-- '.$row['title']; $result[]=$row; getList($row['id'],$result,$space); } return $result; } $rs=getList(); print_r($rs); function displayCate($pid=0,$selected=1){ $rs=getList($pid); $str=''; $str.="<select name='cate'>"; foreach ($rs as $key=>$val){ $selectedstr=''; if ($val['id'] == $selected){ $selectedstr="selected"; } $str.="<option {$selectedstr}>{$val['title']}</option>"; } return $str.="</select>"; } echo displayCate(0,3); ?>