摘要:當(dāng)你在數(shù)據(jù)庫(kù)中存儲(chǔ)了三級(jí)以上的數(shù)據(jù)樹(shù)時(shí),你想把它顯示在前端時(shí),你會(huì)怎么做,下面是我在工作項(xiàng)目時(shí)遇到的一些思路此項(xiàng)目是開(kāi)發(fā)的。注文章來(lái)源雨中笑記錄實(shí)習(xí)期遇到的問(wèn)題與心得,轉(zhuǎn)載請(qǐng)申明原文
當(dāng)你在數(shù)據(jù)庫(kù)中存儲(chǔ)了三級(jí)以上的數(shù)據(jù)樹(shù)時(shí),你想把它顯示在前端時(shí),你會(huì)怎么做,下面是我在工作項(xiàng)目時(shí)遇到的一些思路(此項(xiàng)目是thinkphp5開(kāi)發(fā)的)。
數(shù)據(jù)庫(kù):
demand_id是各分類(lèi)的ID值,parent_id是用來(lái)做樹(shù)的分類(lèi),第一級(jí)的parent_id的值是 0 ,第二級(jí)的parent_id值是其父級(jí)的demand_id值,第三級(jí)的parent_id值是其第二級(jí)父級(jí)的demand_id值,第四、第五同樣往后推...
Model:
//獲取三級(jí)分類(lèi) public function getTree() { $fields = "demand_id,demand_name,parent_id,sort,status"; $result = Db::name("demand_class")->field($fields)->where(array("parent_id" => 0, "status" => "Y"))->order("parent_id asc, sort asc")->select(); if (!$result) return false; $rs = array(); //頂級(jí)不顯示圖片 ,二級(jí)不顯示 foreach ($result as $v) { $cate_id = $v["demand_id"]; $rs[$cate_id]["cate_id"] = $v["demand_id"]; $rs[$cate_id]["cate_name"] = $v["demand_name"]; $data = $this->_son_cate($v); if ($data) { foreach ($data as $key => $val) { // if (!isset($val["child"])) // continue; //是否有字分類(lèi) //去除二級(jí)中圖片 //unset($val["url"]); $rs[$cate_id]["chilid"][] = $val; } } } foreach ($rs as $vv) { $info[] = $vv; } return $info; }
private function _son_cate($pcate_info) { $pcate_id = $pcate_info["demand_id"]; $fields = "demand_id,demand_name,parent_id,sort,status"; $result = Db::name("demand_class")->field($fields)->where(array("parent_id" => $pcate_id))->order("parent_id asc,sort asc")->select(); if (!$result) return false; foreach ($result as $v) { $cate_id = $v["demand_id"]; $rs[$cate_id]["cate_id"] = $v["demand_id"]; $rs[$cate_id]["cate_name"] = $v["demand_name"]; $data = $this->_son_cate($v); if ($data) { foreach ($data as $value) { if (!is_file(BASE_UPLOAD_PATH . "/" . ATTACH_COMMON . "/category-pic-" . $value["cate_id"] . ".jpg")) { $value["image"] = PHONE_TEMPLATES . "/" . images . "/" . "default_goods_image.gif"; } else { $value["image"] = UPLOAD_SITE_URL . "/" . ATTACH_COMMON . "/category-pic-" . $value["cate_id"] . ".jpg"; } // $value["url"] = htmlspecialchars_decode($value["gc_link"]); $rs[$cate_id]["child"][] = $value; } } } return $rs; }
Contraller:
public function edit() { //分類(lèi) $md_goods_class = Model("demand_class"); $denamd_class = $md_goods_class->getTree(); $this->assign("denamd_class", $denamd_class); return $this->fetch("demand_from"); }
前端 demand_from.html
我之前遇到的問(wèn)題:
當(dāng)我在前端看的時(shí)候發(fā)現(xiàn)cate_id 這個(gè)字段,我去它的控制器中查找,找到了它使用的demand_class數(shù)據(jù)表,然后去數(shù)據(jù)表里看發(fā)現(xiàn)表里并沒(méi)有這個(gè)字段,通過(guò)我認(rèn)真的查找我發(fā)現(xiàn)這個(gè)字段是從模型Model中定義來(lái)的。
注:文章來(lái)源雨中笑記錄實(shí)習(xí)期遇到的問(wèn)題與心得,轉(zhuǎn)載請(qǐng)申明原文
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/52965.html
摘要:當(dāng)你在數(shù)據(jù)庫(kù)中存儲(chǔ)了三級(jí)以上的數(shù)據(jù)樹(shù)時(shí),你想把它顯示在前端時(shí),你會(huì)怎么做,下面是我在工作項(xiàng)目時(shí)遇到的一些思路此項(xiàng)目是開(kāi)發(fā)的。注文章來(lái)源雨中笑記錄實(shí)習(xí)期遇到的問(wèn)題與心得,轉(zhuǎn)載請(qǐng)申明原文 當(dāng)你在數(shù)據(jù)庫(kù)中存儲(chǔ)了三級(jí)以上的數(shù)據(jù)樹(shù)時(shí),你想把它顯示在前端時(shí),你會(huì)怎么做,下面是我在工作項(xiàng)目時(shí)遇到的一些思路(此項(xiàng)目是thinkphp5開(kāi)發(fā)的)。 數(shù)據(jù)庫(kù): showImg(https://segmen...
摘要:當(dāng)你在數(shù)據(jù)庫(kù)中存儲(chǔ)了三級(jí)以上的數(shù)據(jù)樹(shù)時(shí),你想把它顯示在前端時(shí),你會(huì)怎么做,下面是我在工作項(xiàng)目時(shí)遇到的一些思路此項(xiàng)目是開(kāi)發(fā)的。注文章來(lái)源雨中笑記錄實(shí)習(xí)期遇到的問(wèn)題與心得,轉(zhuǎn)載請(qǐng)申明原文 當(dāng)你在數(shù)據(jù)庫(kù)中存儲(chǔ)了三級(jí)以上的數(shù)據(jù)樹(shù)時(shí),你想把它顯示在前端時(shí),你會(huì)怎么做,下面是我在工作項(xiàng)目時(shí)遇到的一些思路(此項(xiàng)目是thinkphp5開(kāi)發(fā)的)。 數(shù)據(jù)庫(kù): showImg(https://segmen...
摘要:而由于沒(méi)有后端的數(shù)據(jù)支持,所有的數(shù)據(jù)都在表格中展示,所以需要將表格中的數(shù)據(jù)轉(zhuǎn)為數(shù)據(jù),再通過(guò)讀取,然后用模板引擎渲染到頁(yè)面上。 showImg(https://segmentfault.com/img/bV3N8M?w=1574&h=692);如圖所示,是一個(gè)動(dòng)態(tài)的表格,內(nèi)容數(shù)量不定第一層分類(lèi)是專(zhuān)業(yè)大類(lèi)的分類(lèi),第二層分類(lèi)的國(guó)家的分類(lèi),第三層分類(lèi)是具體專(zhuān)業(yè)名的分類(lèi)(就是不同的色塊欄),甚至...
摘要:而由于沒(méi)有后端的數(shù)據(jù)支持,所有的數(shù)據(jù)都在表格中展示,所以需要將表格中的數(shù)據(jù)轉(zhuǎn)為數(shù)據(jù),再通過(guò)讀取,然后用模板引擎渲染到頁(yè)面上。 showImg(https://segmentfault.com/img/bV3N8M?w=1574&h=692);如圖所示,是一個(gè)動(dòng)態(tài)的表格,內(nèi)容數(shù)量不定第一層分類(lèi)是專(zhuān)業(yè)大類(lèi)的分類(lèi),第二層分類(lèi)的國(guó)家的分類(lèi),第三層分類(lèi)是具體專(zhuān)業(yè)名的分類(lèi)(就是不同的色塊欄),甚至...
閱讀 1384·2021-10-08 10:04
閱讀 2700·2021-09-22 15:23
閱讀 2730·2021-09-04 16:40
閱讀 1181·2019-08-29 17:29
閱讀 1500·2019-08-29 17:28
閱讀 2997·2019-08-29 14:02
閱讀 2228·2019-08-29 13:18
閱讀 850·2019-08-23 18:35