-
-
//データベースにはmysql PDOを使用していますが、全体の考え方は同じです - $conn=mysql_connect('localhost','root','123') ;
- if(mysql_errno()){
- printf('接続に失敗しました'.mysql_error());
- }
- mysql_select_db('edeng');
- mysql_set_charset('utf8');
- /*
- *再帰関数
- *@ param id fid=$id のすべてのサブクラスをクエリするには、データベース内の最上位カテゴリの fid を 0 に設定しているため、$id のデフォルト値は 0 に設定されます
- */
- function get_array($id=0) {
- $sql="select id,fid,cname from e_cat where fid= $id";
- $result=mysql_query($sql);
- $arr=array();
- if($result && mysql_affected_rows()){
- while($rows=mysql_fetch_assoc($result)){
$rows['child']=get_array($rows['id']);
- $arr[] = $rows ;
- }
- return $arr;
- }
- }
- echo '
';
- $result = get_array();
- print_r($result);
< ;/P>
関数は最初に fid 0 を持つすべてのクラスをクエリします
while ループを通じて 1 つずつ逆調査が実行され、fid が ID であるサブクラスが検索されます。現在のクラスの
-
コードをコピー
|