-
//connect. 比較新版本的PHP已經(jīng)不建議用mysql_函數(shù)族了.推薦用PDO. $dsn = 'mysql:dbname=test;host=127.0.0.1'; $user = 'root'; $password = ''; $pdo = new PDO($dsn, $user, $password); $pdo->exec('set names utf8'); $sql = "select * from `deepcate`"; $rs = $pdo->query($sql); $cates = $rs->fetchAll();查看全部
-
<?php header("content-type:text/html;charset=utf-8"); @mysql_connect("localhost","root",""); mysql_select_db("demo"); mysql_query("set names utf8"); $sql = " CREATE TABLE `deepcate` ( `id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, `pid` INT UNSIGNED NOT NULL, `catename` VARCHAR(30) NOT NULL, `cateorder` INT UNSIGNED NOT NULL DEFAULT '0', `createtime` INT(10) NOT NULL )"; mysql_query($sql); $sql1=" INSERT INTO `deepcate`(`id`,`pid`,`catename`,`cateorder`,`createtime`) VALUES (1,0,'新聞',0,0), (2,0,'圖片',0,0), (3,1,'國(guó)內(nèi)新聞',0,0), (4,1,'國(guó)際新聞',0,0), (5,3,'北京新聞',0,0), (6,4,'美國(guó)新聞',0,0), (7,2,'美女圖片',0,0), (8,2,'風(fēng)景圖片',0,0), (9,7,'日韓明星',0,0), (10,9,'日本AV',0,0); "; mysql_query($sql1);查看全部
-
無限級(jí)分類的兩種實(shí)現(xiàn)方法: 一、遞歸方法實(shí)現(xiàn) 二、全路徑方法實(shí)現(xiàn) 兩者的表結(jié)構(gòu)設(shè)計(jì)都是在欄目表中增加一個(gè)字段例如名字為fatherid 遞歸方法實(shí)現(xiàn)的表的fatherid用來存放父級(jí)欄目的id,查詢的時(shí)候根據(jù)遞歸實(shí)現(xiàn)查詢所有子欄目和所在欄目 全路徑方法的表的fatherid字段則是存放一個(gè)字符串,以特殊的結(jié)構(gòu)來表示欄目的深度,再用字符串的操作函數(shù)實(shí)現(xiàn)查詢所有子欄目和所在欄目(where id in) 用到的陌生函數(shù) mysql:concat(字段名,'符號(hào)',字段名1) as a 字段名和字段名1用指定符號(hào)連接 作為a php: krsort($arr); — 對(duì)數(shù)組按照鍵名逆向排序 數(shù)據(jù)表添加一個(gè)字段居然可以這么用,哈哈,精彩!查看全部
-
遞歸就是程序調(diào)用自身的編程技巧查看全部
-
什么是遞歸?程序調(diào)用自身的編程技巧稱為遞歸查看全部
-
無限極分類常見的幾種方式查看全部
-
數(shù)據(jù)表設(shè)計(jì)查看全部
-
遞歸無限分類原理。。。查看全部
-
無限級(jí)分類,遞歸,全路徑查看全部
-
select id,catename,path,concat(path,',',id) as fullpath from deepcate where 1 order by fullpath asc;查看全部
-
function getCatePath($pid, &$result = array()) { $sql = "SELECT * FROM deepcate WHERE id=$pid"; $rs = mysql_query($sql); $row = mysql_fetch_assoc($rs); if ($row) { $result[] = $row; getCatePath($row['pid'], $result); } krsort($result); //krsort對(duì)數(shù)組按鍵名逆向 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);查看全部
-
function getList($pid = 0, &$result = array(), $spac = 0) { $spac = $spac + 2; $sql = "SELECT * FROM deepcate WHERE pid=$pid"; $res = mysql_query($sql); while ($row = mysql_fetch_assoc($res)) { $row['catename'] = str_repeat(' ', $spac) . '|--' . $row['catename']; $result[] = $row; getList($row['id'], $result, $spac); } return $result; } function displayCate($pid = 0, $selected = 1) { $rs = getList($pid); $str = '<select name="cate">'; foreach ($rs as $key => $val) { $selectedstr = ''; if ($val['id'] == $selected) { $sellectedstr = 'selected'; } $str .= "<option {$selectedstr}>{$val['catename']}</option>"; } return $str .= '</select>'; } echo displaycate(0, 1);查看全部
-
這里的$row會(huì)死循環(huán)吧?查看全部
-
<?php include_once "db_inc.php"; include_once "header.php"; function myInfinite($pid=0,&$result=array(),$nb_times=0){ //將數(shù)據(jù)全部保存到$result數(shù)組,所以用引用傳值,來達(dá)到直接改變數(shù)據(jù)目的 $nb_times += 4; $sql = "select * from myclassification where pid={$pid}"; $res = mysql_query($sql); while ($row = mysql_fetch_assoc($res)) { # code... $row['classi_name'] = str_repeat(" ",$nb_times)."|---".$row['classi_name']; $result[] = $row; myInfinite($row['id'],$result,$nb_times); } return $result; } function displayClassi($id,$str=''){ //在網(wǎng)頁中輸出的是字符串,因此我們用空字符串來保存要顯示的下拉菜單 $dis_res = myInfinite(); $str .= "<select>"; //調(diào)用分類函數(shù),得到二維數(shù)組 foreach ($dis_res as $key => $value) { //遍歷 # code... if($id == $value['id']){ $str .= "<option selected=selected>".$value['classi_name']."</option>"; }else{ $str .= "<option>".$value['classi_name']."</option>"; } } $str .= "</select>"; return $str; } echo displayClassi(15);查看全部
-
無限分類實(shí)現(xiàn)方法查看全部
舉報(bào)
0/150
提交
取消