Style de lien de navigation de classification infinie PHP
Schéma d'implémentation
Style de lien de navigation?:
<?php include('conn.php'); function getCatePath($cid, &$result = array()) { $sql = "SELECT * FROM deepcate WHERE id=$cid"; $rs = mysql_query($sql); $row = mysql_fetch_assoc($rs); if ($row) { $result[] = $row; getCatePath($row['pid'], $result); } krsort($result); //krsort對數組按鍵名逆向 return $result; } ?>
Explication du code?:
Identique au style déroulant, créez la fonction getCatePath , Exécutez l'instruction SQL pour interroger l'identifiant et payez la valeur obtenue à $rs. Utilisez mysql_fetch_assoc pour obtenir le tableau et appelez son propre getCatePath pour interroger le pid et son propre identifiant.
Renvoyer $result, trier le tableau en utilisant la méthode inverse.
Continuez ensuite à embellir et à encapsuler.
<?php include('conn.php'); function getCatePath($cid, &$result = array()) { $sql = "SELECT * FROM deepcate WHERE id=$cid"; $rs = mysql_query($sql); $row = mysql_fetch_assoc($rs); if ($row) { $result[] = $row; getCatePath($row['pid'], $result); } krsort($result); //krsort對數組按鍵名逆向 return $result; } function displayCatePath($cid,$url='cate.php?cid=') { $res = getCatePath($cid); $str = ''; foreach ($res as $key => $val) { $str.= "<a href={$url}{$val['id']}>{$val['catename']}</a>>"; } return $str; } echo displayCatePath(10); ?>
De cette fa?on, le style LINK de classification infinie est complété.
Difficultés de ce chapitre
1. Le style de lien part du n?ud parent et recherche vers le bas ses n?uds descendants pour former une forme d'arborescence. Le pid est égal à l'identifiant du n?ud précédent.