無限分類 (商品搜尋)

2022-09-23 09:57:05 字數 1731 閱讀 7012

第乙個專案階段接近尾聲了,分享乙個關於無限分類自定義的**函式(說實話,當時寫出來也是懵的,現在再看更懵,o(∩_∩)o~)

//專案需求:想在首頁做個商品搜尋

//做法:寫了個下拉列表,列表項就是下表中的9個categoryname.。。我想任意選擇乙個類別都可以一次性搜尋出商品表中的該類別的商品(包括下邊的子類)。

//思想過程:最開始也想,,,,where path like .%0-1%.......之類的來著,但是後來發現分頁的時候遇到很大問題,因為當時我上傳商品沒有在有子類的id中上傳商品(當迴圈去查詢商品的時候會有空迴圈--當該類別還有子類的時候)。

越說越亂了,還是拿錶出來直接示意吧、、、

category表資料結構示意:

+----+-----+-------+--------------+

| id | pid | path | categoryname |

+----+-----+-------+--------------+

| 1 | 0 | 0 | 所有商品 1

| 2 | 1 | 0-1 | 國產商品 2

| 4 | 2 | 0-1-2 | 國產水貨 4

| 5 | 2 | 0-1-2 | 國產行貨 5

| 3 | 1 | 0-1 | 進口商品 3

| 6 | 3 | 0-1-3 | 進口水貨 6

| 7 | 3 | 0-1-3 | 進口行貨 7

| 8 | 1 | 0-1 | 測試類 8

| 9 | 1 | 0-1 | 雜貨專區 9

+----+-----+-------+--------------+

看著表就好多了,我的想法是如果我在下拉列表中選擇的是「所有商品」,那麼只要是屬於所有商品的所有子類都應該被我拿到(並且我還不希望拿到如上表中的「國有商品」、"進口商品",因為他們下面還有子類)。寫到這裡,我似乎覺得可以不用我這麼麻煩去寫**了。~~~~(>_

<?php

mysql_connect('localhost','root','admin');

mysql_select_db('dzshop');

mysql_query("set names utf8");

//測試

echo rtrim( list_typeid(1), ',' ); //輸出 4,5,6,7,8,9 ^o^ 此時可以 select * from goods where typeid in(4,5,6,7,8,9) 拿出所有商品不是問題了。

echo rtrim( list_typeid(2), ',' ); //輸出 4,5

echo rtrim( list_typeid(4), ',' ); //輸出 4

/** 函式:list_typeid

* 功能:獲取給定的類別,獲取該指定typeid(即category表的id)下的所有沒有子類的category.id(category.id==goods.typeid)

* $id:需要查詢的id

* $category_name:分類表的表名

*/function list_typeid($id,$category_name='category') a, b where a.id= and b.pid=";

$result=mysql_query($sql);

if(mysql_affected_rows()>0)

}else

return $list_id;

}作者:zdrjlamp

php中商品無限極分類

1 在商品分類模型類中加入下面 class categorymodel extends model order by c sort asc 呼叫父類方法 categories this query sql return this nolimitcategory categories,0,0,stop...

商品無限級分類 終極版

目錄 一 商品無限極分類 二 按照樹狀返回父級列表和子集列表 三 判斷兩棵樹是否相同 四 計算樹的高度 id pidpath name 0 1 0 2 0 1 3 休閒 0 1 4 潮流 0 1 5 品牌 list id 1,pid 0,path 0 1 name id 2,pid 0,path 0...

商品自動分類

現在我參與一專案需要做資料歸類,要求如下 表1 各超市商品資訊 比如 康師傅速食麵5袋裝 牌直身杯 牌紙杯 牌小包裝大公尺 表2 我們公司自定義的一套商品分類規則 紙杯 康師傅速食麵 注意這邊沒有5袋 小包裝大公尺 實際資料比較複雜 需要將表1的分類自動歸類到表2中 大家能否提供個思路,最好具體一點...