PHP开发分类技术之下拉菜单式...ANMELDUNG

PHP开发分类技术之下拉菜单式分类(三)

我们通过自定义一个函数displayCate,来给循环出来的getList增加

<selsct>样式来输出下拉菜单,类似如下:

|-- 服饰

    |-- 男装

    |-- 女装

|-- 食品

    |-- 主食

        |-- 大米

    |-- 副食

通过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('&nbsp;',$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);

?>
nächsten Abschnitt
<?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); ?>
einreichenCode zurücksetzen
KapitelKursunterlagen