當前位置:首頁 » 數據倉庫 » 無限分類資料庫設計
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

無限分類資料庫設計

發布時間: 2022-11-17 14:03:35

⑴ php+mysql怎麼實現無限級別分類,資料庫怎麼設計一條SQL語句讀出數據然後生成數組

CREATE TABLE IF NOT EXISTS `sq_cat_id_name` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`fid` int(11) NOT NULL,
`cat_name` varchar(128) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=24 ;

INSERT INTO `sq_cat_id_name` (`id`, `fid`, `cat_name`) VALUES
(1, 0, '私有'),
(2, 0, 'no2'),
(3, 1, 'sdf'),
(4, 1, '美媚'),
(5, 1, '好吧'),
(7, 1, '美女'),
(8, 1, '帥哥'),
(9, 2, '笑笑'),
(10, 2, '美女拉拉'),
(11, 2, '好好'),
(12, 2, '小小'),
(13, 5, '好呀'),
(14, 5, '媚美'),
(15, 5, '好S呀'),
(16, 5, '妖美'),
(17, 1, '好呀'),
(18, 12, '好吧'),
(19, 13, '是呀'),
(20, 12, 'okokok'),
(21, 13, '是虹蠟虹'),
(22, 2, '就是這樣子'),
(23, 2, '是的嗎');

<?php
$link = mysql_connect( '127.0.0.1', 'root', '123456' ) or die( mysql_error() );
mysql_select_db( 'qqsq' );
mysql_set_charset( 'utf8' );

$sql = "SELECT * FROM sq_cat_id_name";

$result = mysql_query( $sql );
$ss = array();
while( $row = mysql_fetch_assoc( $result ) )
{
$ss[$row['fid']][$row['id']] = $row['cat_name'];
}
unset( $row );

mysql_close( $link );

var_mp( $ss );

echo '-------------------------------------------' . "\n";

function for_category( $ss = array(), $a2 )
{
echo "<ul>";
foreach ( $ss as $k => $v )
{
if ( isset( $a2[$k] ) && is_array( $a2[$k] ) )
{ echo "<li>$k $v";
for_category( $a2[$k], $a2 );
echo "</li>";
}
else{
echo "<li>$k $v</li>";
}
}
echo "</ul>";
}

for_category( $ss[0], $ss );

如用疑問請聯系php.xlxz.org

⑵ PHP開發學起來簡單嗎學成需要多長時間

個人覺得並不難,因為之前用asp,也看過php的語法結構,轉學php的時候並沒有覺得有太困難,只是第一次接觸的一個垃圾 php框架把我折磨的夠嗆,最要命 的是兩個小孩子還給所有代碼進行了zend加密,我在後期維護的時候很頭大,不知道在哪裡改,只能挨個文件查,可是文件又全加了密,還要一個一個文件解密。
以我個人的經歷來說,通過閱讀w3school上面的教程,就能夠掌握PHP基礎知識,然後實踐操作一下,寫點簡單的代碼,基本上也就OK了。
最麻煩的我覺得還是配置運行環境,總是搞不懂各種版本,後來索性用了一個web套件,裡面集成了apache/mysql/php等,用著方便,不過個人用過一段時間Nginx版本的,流量多的時候會出問題,後來還是用了iis,自己下載了一個php包進行配置。

⑶ 幾十萬條數據用PHP遞歸能實現無限級分類嗎

可以做樹狀結構,先查詢第一層,然後當展開第二層

的時候,用ajax去查詢下一層的信息,如果感覺慢的

話可以給表做索引,也可以做分表處理,幾十萬不是

太大的數據

⑷ 求無限分類的資料庫表結構

無限類別、無限級別的資料庫分類結構,以下三個欄位即可:

class_id int PKEY,
upclass int,
classname char(10)

其它產品表中,使用外鍵class_id關聯本表的class_id作為類別。

⑸ PHP是什麼 PHP開發可以做什麼

PHP是一種簡單易學的計算機語言,跨平台性,可以在WINDOWS和UNIX上運行,由於大量的內置函數,可以非常簡單的語句實現網路數據採集、大量數據加工、開發網站等功能。

⑹ 什麼是 無限極分類(PHP。資料庫)

那是一種關聯關系....sql 里可以叫"自連接" 假設:表 Category 有以下欄位: Id(PK),Cate_Name(varchar),Cate_Parent_Id(int) 數據: Id(編號ID) Cate_Name(類別名稱) Cate_Parent_Id(父級Id) 1 BaseCategory 0 2 News 1 3 Article 1 4 Story 3 說明: Id 為 1 的基類別(沒有父級類別) News,Article 為 基類別下的子分類 Story 為 Article 下的子分類 層次關系: 0 - 2 - 3 - 4 這樣就可以簡單實現無限分類的資料庫的設計了 使用: 給出Id 獲取到它的父類別和所有子類別 Function getParentCategory($Id){ $sql = "select * from Category where Id = (select Cate_Parent_Id from Category where Id = $Id)"; $rs = mysql_query($sql,$conn); ...... //省事期間,給出偽代碼吧 if(記錄不存在 或者 $Id = 1){ return false; //無父級或不存在 }else{ return 查詢出的父級數據數組; } } Function getChildCategory($PId){ $sql = "select * from Category where Cate_Parent_Id = $PId"; 存在則返回數據數組 否則返回false } 上面只是簡單說明下大致思路.. php,J2ee的我沒手寫過,都是通過支持ORM的MVC框架去配置出來的. asp的倒是寫過,需要的話,可以發你 只要邏輯關系整清楚了,就不難了...至於頁面展示,可以用JS或者AJAX

⑺ vb如何編寫treeview無限級資料庫

TreeView1.Nodes.Clear
SS="Select*from表orderby層數"
SetRst=Cn.Execute(SS)'查詢資料庫
IfNotRst.EOFThen
Do
TreeView1.Nodes.Add,,rst!節點,rst!節點
TreeView1.Nodes.Add,rst!父節點,rst!節點,rst!節點
Rst.MoveNext
LoopUntilRst.EOF
EndIf

⑻ 想做一個無限級的treeview如何設計資料庫

這個簡單啊,只要在你原來的表裡加個父級編號就可以了: 分類編號 父類編號 分類名稱 001 體育用品002 攝影器材003 001 運動服004 003 李寧牌005 003 耐克牌006 004 網球衫 你每次加入一個分類的時候,肯定知道它的父類是誰,如果是根類,父類為空就行了。這樣你就可以子子孫孫,無窮盡也,這不就是無限級分類么。

⑼ php如何查找會員無限分類的所有上級和所有下級

這個就要看你的資料庫是怎麼實現的。
我之前給一個人做個一個類似的會員推廣提成的模塊,就a推廣出的a-1,a-2繼續推廣,得到a-1-1,a-1-2等等。
我的資料庫設計思路如下:
用戶表中有一個son這么一個欄位,這個欄位中存放名下所有會員的id,用分號隔開。
這個欄位的維護:
比如a-1-1推廣出了一個a-1-1-1,此新用戶的id是12345,那麼給a-1-1 a-1 a這個三個用戶son欄位內均添加12345這個id,刪除一個用戶做法一樣。
有了這張表就能實現你要的效果。
查一個會員名下所有的會員,只需要讀取該會員的son欄位即可
查一個會員的上級 怎在資料庫中所搜son欄位,含有此會員id的都是他的上級會員。
當然,還有一個欄位是標記此會員的直接上級會員,這樣 一張表就能從任意會員得到整個會員推廣樹。
希望這個思路能幫到你。

⑽ php無限分類 資料庫查詢 怎麼找到符合條件的推薦人,程序怎麼寫求幫忙

functionselectReferee($rid){
//查詢該推薦人是否滿3個人
$sql="SELECT*FROMtalbe_nameWHERE`id`=".$rid;
$res=array();//$res為查詢結果
if(count($res)>=3){
foreach($resas$k=>$v){
selectReferee($v['id']);//如果該推薦人滿了3個人,則遞歸查詢下面的所有人
}
}else{
return$rid;//返回推薦人id
}
}

大概的思路就是這樣,主要是一個遞歸,你自己完善,測試一下