亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

Klasifikasi senarai juntai bawah klasifikasi infinite PHP (Bahagian 1)

Skema pelaksanaan

遞歸.png

Klasifikasi tahap tak terhingga senarai juntai

<?php
include ("conn.php");
function getList($pid=0,&$result=array(),$space=0){
    $space=$space+2;
    $sql="SELECT*FROM deepcate WHERE pid = $pid";
    $res = mysql_query($sql);
    while ($row = mysql_fetch_assoc($res)){
        $row['catename']=str_repeat('&nbsp;',$space).'|--|'.$row['catename'];
        $result[]=$row;
        getList($row['id'],$result,$space);
    }
    return $result;
}
$rs=getList();
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['catename']}</option>";
    }
    return $str.='</select>';
}
echo displayCate(0,2);
?>

Contohnya ialah pengelasan tahap tak terhingga Di bawah kami akan menerangkan kod dalam bahagian.

Penjelasan kod:

<?php
include ("conn.php");
function getList($pid=0,&$result=array(),$space=0){
   $space=$space+2;
   $sql="SELECT*FROM deepcate WHERE pid = $pid";
   $res = mysql_query($sql);
   while ($row = mysql_fetch_assoc($res)){
       $row['catename']=str_repeat('&nbsp;',$space).'|--|'.$row['catename'];
       $result[]=$row;
       getList($row['id'],$result,$space);
   }
   return $result;
}
$rs=getList();
?>
function getList($pid=0){
}
?>

Mula-mula takrifkan fungsi, dengan pid sebagai ID kelas induk, ditakrifkan sebagai 0.

$sql="SELECT*FROM deepcate WHERE pid = $pid";

Gunakan pernyataan sql untuk menanyakan subkelas permukaan pemilihan pid.

$res = mysql_query($sql);
//執(zhí)行sql語句
    $result=array();
   while ($row = mysql_fetch_assoc($res)){
       $result[]=$row;
      }
   return $result;

Masukkan hasil ke dalam tatasusunan dan kembalikan kepada hasil.

Rekursi ialah teknik untuk fungsi memanggil dirinya sendiri apabila menanyakan subkelas, kita perlu memanggil getList($row['id']);

ID bagi. subkelas mestilah Sebagai ID peringkat seterusnya, kita perlu membawa masuk $row['id'])

Kod pada masa ini ialah

<?php
function getList($pid=0){
$sql="SELECT*FROM deepcate WHERE pid = $pid";
$res = mysql_query($sql);
  $result=array();
   while ($row = mysql_fetch_assoc($res)){       $result[]=$row;      }   return $result;
}
?>

Operasi rekursif perlu mengembalikan tatasusunan, kami menggunakan Kaedah rujukan, buat perubahan pada kod

<?php
include ("conn.php");
function getList($pid=0,&$result=array()){
   $sql="SELECT*FROM deepcate WHERE pid = $pid";
   $res = mysql_query($sql);
   while ($row = mysql_fetch_assoc($res)){
       $result[]=$row;
       getList($row['id'],$result);
   }
   return $result;
}
?>

Seterusnya, cantikkan gaya klasifikasi

<?php
include ("conn.php");
function getList($pid=0,&$result=array(),$space=0){
   $space=$space+2;
   $sql="SELECT*FROM deepcate WHERE pid = $pid";
   $res = mysql_query($sql);
   while ($row = mysql_fetch_assoc($res)){
       $row['catename']=str_repeat('&nbsp;',$space).'|--|'.$row['catename'];
       $result[]=$row;
       getList($row['id'],$result,$space);
   }
   return $result;
}
$rs=getList();
print_r($rs);
?>

Cetaknya untuk pemerhatian.


Isi utama bab ini

  1. Pelaksanaan rekursif klasifikasi tahap tak terhingga ialah menggunakan rekursi untuk mencari nod induk dan menjana salasilah keluarga.

  2. Subkelas dan kelas induk.

Meneruskan pembelajaran
||
<?php include ("conn.php"); function getList($pid=0,&$result=array(),$space=0){ $space=$space+2; $sql="SELECT*FROM deepcate WHERE pid = $pid"; $res = mysql_query($sql); while ($row = mysql_fetch_assoc($res)){ $row['catename']=str_repeat(' ',$space).'|--|'.$row['catename']; $result[]=$row; getList($row['id'],$result,$space); } return $result; } $rs=getList(); print_r($rs); ?>