La technologie de classification de développement PHP utilise la récursivité pour obtenir une classification infinie (2)
Nous continuons à utiliser la section précédente pour créer un test de base de données simple et une classe de table
pour se connecter à la table de la base de données :
<?php header("content-type:text/html;charset=utf8"); $link = mysqli_connect('localhost','yourname','password','test'); mysqli_set_charset($link, "utf8"); if (!$link) { die("连接失败:".mysqli_connect_error()); } ?>
Définir une fonction personnalisée get_array L'idée est fondamentalement la suivante. comme dans la section précédente.
Définissez la classe parent pid = 0, utilisez des instructions SQL pour interroger ses sous-classes et placez les sous-classes interrogées dans $result
Utilisez une boucle while pour récupérez les sous-classes. Appelez la fonction personnalisée get_array, transmettez l'identifiant de la sous-classe dans la fonction personnalisée,
, puis continuez à interroger le niveau suivant, et enfin affichez le tableau.
<?php header("content-type:text/html;charset=utf8"); $link = mysqli_connect('localhost','yourname','password','test'); mysqli_set_charset($link, "utf8"); if (!$link) { die("连接失败:".mysqli_connect_error()); } function get_array($id=0){ global $link; $sql = "select id,title from class where pid= $id"; $result = mysqli_query($link,$sql);;//查询子类 $arr = array(); if($result){//如果有子类 while($rows=mysqli_fetch_assoc($result)){ //循环记录集 $rows['list'] = get_array($rows['id']); //调用函数,传入参数,继续查询下级 $arr[] = $rows; //组合数组 } return $arr; } } $list = get_array(0); //调用函数 print_r($list); //输出数组 ?>