国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

ホームページ php教程 php手冊 數(shù)日前に書いた無限分類クラス

數(shù)日前に書いた無限分類クラス

Jun 13, 2016 pm 12:34 PM
http 主要 使用 ポイント 考え 効果 無制限 自分の

これは 1 週間前に書きましたが、実際に使ってみると非常にうまく機能しています。

主なアイデアの出典: http://www.phpobject.net/b...[url=http://www.phpobject.net/blog/read.php?49][/url ]

ここでは原理は説明しません。コードを直接送信してください。

PS: このコードは直接使用できないため、他のライブラリ クラスと組み合わせる必要があります。ここでは主に分類の考え方を紹介します。

コードをコピー コードは次のとおりです:


<
/**?
--
-- 表の構(gòu)造 `daxue8_category`
--

CREATE TABLE `daxue8_category` (
`cid` smallint(6) NOT NULL auto_increment,
`pid` smallint(6) NOT NULL default '0',
`level` smallint(6) NOT NULL default '0',
`cname` char(64) NOT NULL default '',
`lft` smallint(6) NOT NULL デフォルト '0',
`rgt` smallint(6) NOT NULL デフォルト '0',
`uid` mediumint(8) NOT NULL デフォルト '0',
`username` char(32) NOT NULL default '',
`ctime` int(10) NOT NULL default '0',
`cstate` tinyint(1) NOT NULL default '0',
`gnum` mediumint(8) NOT NULL default '0',
`orderstyle` smallint(3) NOT NULL default '0',
PRIMARY KEY (`cid`)
) TYPE=MyISAM AUTO_INCREMENT =2;?

--
-- 表中のデータ `daxue8_category`
--

INSERT INTO `daxue8_category` VALUES (1, 0, 1, 'root', 1 , 2, 0, '管理員', 1163608814, 1, 0, 0);?
*/
クラスカテゴリ
{
var $module;

var $tbname; ??> 関數(shù) category()
{
$this->tbname=TB_PREX.'_category'
$this->module=new module($this->tbname); }

/**
* 子ノードの追加
* @param array $node 追加する子ノードの屬性
* @param int $pid 親ノードの ID
*/
function add($node,$pid){
//ノードが既に存在するかどうかを確認(rèn)します
if($node_exist=$this- >module->detail('where pid='.$pid.' and cname=''.$node['cname'].''')){ __FUNCTION__.'(): ノード ' 。$ node [cname ']。 '.$pnode['rgt']);
$this->module->query('update ` '.$this->tbname.'` set rgt=rgt 2 where rgt>='. $pnode['rgt']);
//新しいノードを挿入
$node['pid']= $pid; $node['lft']=$pnode['rgt'];
$node['rgt']=$pnode['rgt'] 1;
$node['level ']=$pnode['level'] 1; // レベルを 1 つ追加します
return $ this->module->add($node);
}

/**
* ノードの削除
* @param $cid 削除するノードの ID
* @param $delete_childern ノードに子ノードがある場合、強制的に削除するかどうか。設(shè)定が true でない場合、子ノードが存在する場合、削除は失敗し false を返します
* *
*/
function delete($cid,$delete_childern=false)
{
//ノード情報を取得
$node=$this->get_by_cid($cid);
if(($this->child_num($node)>0)&&(!$delete_childern)) $this-> ;error(__FUNCTION__.'(): このノードには子ノードがあります。');
//ノードとそのすべての子ノードを削除します
$this->module->delete('where lft between '.$node['lft'].' と '.$node ['rgt']);
//対応する左右のキーの値を変更します
$plus=$node['rgt']-$node['lft'] 1; ->module ->query('update `'.$this->tbname.'` set lft=lft-'.$plus.' where lft>'.$node['rgt']); > $this- >module->query('update `'.$this->tbname.'` set rgt=rgt-'.$plus.' where rgt>'.$node['rgt']) ;
return true;
}

/**
* ノードを更新します
* @param array $set update set
* @param int $cid 更新されたノードの主キー ID
*/
function update($set,$cid){
return $this->module-> ;update($ set,'where cid='.$cid); > // ノード情報を取得します'rgt'];
if(!empty($deep))$where.=' および level<'.$ node['level'] $deep;
if($deep==1){
$where.=' orderstyle desc で並べ替える' ??> return $this->module->ここで);
}

/**
* ノードとそのサブノードを選択します
* @param int $cid ノードの主キー ID
* @param int $deep 選択の深さ
*/
function get_parent($cid)
{
$node=$this->get_by_cid( $cid) ;
return $this->module->select('where lft<='.$node['lft'].' and rgt>='.$node['rgt'].' order by lft asc');
}?
/**
* 子ノードを選択します*/
function get_children($pid,$deep=0){
//獲取節(jié)點情報
$pnode=$this->get_by_cid($pid) ;?
$where='where lft>'.$pnode['lft'].'?そしてrgt if(!empty($deep))$where.=' and level<='.($pnode['level'] $deep);?
if($deep==1){
$where.=' order by orderstyle desc';?
}else{
$where.='order by lft asc';?????????????
}
return $this->module->select($where);?
}

/**
* 深層サブノードを取得します
* @param int $cid ノードの主キー ID
* @param int $deepselection Depth
*/
function get_level_children($pid,$deep){
//獲取節(jié)點情報
$pnode=$this-> get_by_cid($pid);?
$where='where lft>'.$pnode['lft'].'?そしてrgt $where.=' and level='.($pnode['level'] $deep);?
$where.=' order by orderstyle desc';?
return $this->module->select($where);?
}

/**
* ノード情報の取得
* @param $cid ノードの主キー ID
* @return array $node
*/
function get_by_cid($cid){
$node=$this->module->detail('where cid=' .$cid);?
if(!$node)$this->error(__FUNCTION__.'():獲取節(jié)點'.$cid.'失敗!');?
$node を返す;?
}
/**
* 子ノードの數(shù)を取得
* @param array $node ノード情報
* @return num
*/
function child_num($node){
return ($node['rgt']-$node['lft']-1)/2 ;?
}
/**
* 階層による分類を表示
* @param int $cid ノードの主キー ID
* @output
*/
function display($cid)
{
$nodes=$this->select($cid);?
foreach($nodes as $node){
echo str_repeat(' ',$node['level']-1).$node['cname']."n";?
}
}
/*-------private----------------------------- ------*/

function error($msg){
die('ERROR : file '.__FILE__.' function '.$msg);?
}
}
?>?

このウェブサイトの聲明
この記事の內(nèi)容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰屬します。このサイトは、それに相當(dāng)する法的責(zé)任を負(fù)いません。盜作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡(luò)ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脫衣畫像を無料で

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード寫真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

寫真から衣服を削除するオンライン AI ツール。

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中國語版

SublimeText3 中國語版

中國語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統(tǒng)合開発環(huán)境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

ユーザーがまれに発生する不具合: Samsung Watch スマートウォッチで突然白い畫面の問題が発生する ユーザーがまれに発生する不具合: Samsung Watch スマートウォッチで突然白い畫面の問題が発生する Apr 03, 2024 am 08:13 AM

スマートフォンの畫面に緑色の線が表示されるというトラブルに遭遇したことがある方もいると思いますし、見たことはなくても、関連する寫真をインターネット上で見たことがあるはずです。では、スマートウォッチの畫面が白くなってしまう狀況に遭遇したことはありますか? CNMOは4月2日、海外メディアから、Redditユーザーがサムスンウォッチシリーズのスマートウォッチの畫面が白くなっている寫真をソーシャルプラットフォームで共有したことを知った。ユーザーは、「出発時に充電していましたが、戻ってきたらこのようになっていました。再起動しようとしましたが、再起動プロセス中も畫面はまだこのままでした。」Samsung Watch スマートウォッチの畫面が白くなりました。 Reddit ユーザーはスマート ウォッチを指定していません。特定のモデルです。しかし、寫真から判斷すると、Samsung Watch5のはずです。以前、別のRedditユーザーも報告しました

foob??ar2000のダウンロード方法は? -foobar2000の使い方 foob??ar2000のダウンロード方法は? -foobar2000の使い方 Mar 18, 2024 am 10:58 AM

foob??ar2000 は、音楽リソースをいつでも聴くことができるソフトウェアです。あらゆる種類の音楽をロスレス音質(zhì)で提供します。音楽プレーヤーの強化版により、より包括的で快適な音楽體験を得ることができます。その設(shè)計コンセプトは、高度なオーディオをコンピュータ上で再生可能 デバイスを攜帯電話に移植し、より便利で効率的な音楽再生體験を提供 シンプルでわかりやすく、使いやすいインターフェースデザイン 過度な裝飾や煩雑な操作を排除したミニマルなデザインスタイルを採用また、さまざまなスキンとテーマをサポートし、自分の好みに合わせて設(shè)定をカスタマイズし、複數(shù)のオーディオ形式の再生をサポートする専用の音楽プレーヤーを作成します。過度の音量による聴覚障害を避けるために、自分の聴覚の狀態(tài)に合わせて調(diào)整してください。次は私がお手伝いさせてください

CrystalDiskmarkとはどのようなソフトウェアですか? -crystaldiskmarkの使い方は? CrystalDiskmarkとはどのようなソフトウェアですか? -crystaldiskmarkの使い方は? Mar 18, 2024 pm 02:58 PM

CrystalDiskMark は、シーケンシャルおよびランダムの読み取り/書き込み速度を迅速に測定する、ハード ドライブ用の小型 HDD ベンチマーク ツールです。次に、編集者が CrystalDiskMark と Crystaldiskmark の使用方法を紹介します。 1. CrystalDiskMark の概要 CrystalDiskMark は、機械式ハード ドライブとソリッド ステート ドライブ (SSD) の読み取りおよび書き込み速度とパフォーマンスを評価するために広く使用されているディスク パフォーマンス テスト ツールです。 ). ランダム I/O パフォーマンス。これは無料の Windows アプリケーションで、使いやすいインターフェイスとハード ドライブのパフォーマンスのさまざまな側(cè)面を評価するためのさまざまなテスト モードを提供し、ハードウェアのレビューで広く使用されています。

BTCC チュートリアル: BTCC 取引所で MetaMask ウォレットをバインドして使用する方法は? BTCC チュートリアル: BTCC 取引所で MetaMask ウォレットをバインドして使用する方法は? Apr 26, 2024 am 09:40 AM

MetaMask (中國語ではリトル フォックス ウォレットとも呼ばれます) は、無料で評判の高い暗號化ウォレット ソフトウェアです?,F(xiàn)在、BTCC は MetaMask ウォレットへのバインドをサポートしており、バインド後は MetaMask ウォレットを使用してすぐにログイン、値の保存、コインの購入などが可能になり、初回バインドで 20 USDT のトライアル ボーナスも獲得できます。 BTCCMetaMask ウォレットのチュートリアルでは、MetaMask の登録方法と使用方法、および BTCC で Little Fox ウォレットをバインドして使用する方法を詳しく紹介します。メタマスクウォレットとは何ですか? 3,000 萬人を超えるユーザーを抱える MetaMask Little Fox ウォレットは、現(xiàn)在最も人気のある暗號通貨ウォレットの 1 つです。無料で使用でき、拡張機能としてネットワーク上にインストールできます。

Baidu Netdisk アプリの使用方法 Baidu Netdisk アプリの使用方法 Mar 27, 2024 pm 06:46 PM

クラウド ストレージは今日、私たちの日常生活や仕事に欠かせない部分になっています。中國有數(shù)のクラウド ストレージ サービスの 1 つである Baidu Netdisk は、強力なストレージ機能、効率的な伝送速度、便利な操作體験により多くのユーザーの支持を得ています。また、重要なファイルのバックアップ、情報の共有、オンラインでのビデオの視聴、または音楽の聴きたい場合でも、Baidu Cloud Disk はニーズを満たすことができます。しかし、Baidu Netdisk アプリの具體的な使用方法を理解していないユーザーも多いため、このチュートリアルでは Baidu Netdisk アプリの使用方法を詳しく紹介します。まだ混亂しているユーザーは、この記事に従って詳細(xì)を?qū)Wぶことができます。 Baidu Cloud Network Disk の使用方法: 1. インストール まず、Baidu Cloud ソフトウェアをダウンロードしてインストールするときに、カスタム インストール オプションを選択してください。

九州風(fēng)神アサシン4Sラジエターレビュー 空冷「アサシンマスター」スタイル 九州風(fēng)神アサシン4Sラジエターレビュー 空冷「アサシンマスター」スタイル Mar 28, 2024 am 11:11 AM

ASSASSINといえば、プレイヤーの皆さんは必ず『アサシン クリード』に登場するマスターアサシンを思い浮かべると思いますが、彼らは熟練しただけではなく、「闇に身を捧げ、光に仕える」という信條を持っています。 - アプライアンス ブランド DeepCool の冷卻ラジエーターが互いに一致します。このたび、シリーズ最新作「ASSASSIN4S」が登場し、上級者に新たな空冷體験をもたらす『スーツの暗殺者 アドバンスト』。外観はディテールに富んでいます. Assassin 4S ラジエーターはダブルタワー構(gòu)造 + シングルファン內(nèi)蔵設(shè)計を採用しています. 外側(cè)は立方體狀のフェアリングで覆われており, 全體的な印象が強いです. ホワイトとブラックの2色が用意されています.さまざまな色に合う色。

NetEase メールボックス マスターの使用方法 NetEase メールボックス マスターの使用方法 Mar 27, 2024 pm 05:32 PM

NetEase Mailbox は、中國のネットユーザーに広く使用されている電子メール アドレスとして、その安定した効率的なサービスで常にユーザーの信頼を獲得してきました。 NetEase Mailbox Master は、攜帯電話ユーザー向けに特別に作成された電子メール ソフトウェアで、電子メールの送受信プロセスが大幅に簡素化され、電子メールの処理がより便利になります。 NetEase Mailbox Master の使い方と具體的な機能について、以下ではこのサイトの編集者が詳しく紹介しますので、お役に立てれば幸いです。まず、モバイル アプリ ストアで NetEase Mailbox Master アプリを検索してダウンロードします。 App Store または Baidu Mobile Assistant で「Ne??tEase Mailbox Master」を検索し、畫面の指示に従ってインストールします。ダウンロードとインストールが完了したら、NetEase の電子メール アカウントを開いてログインします。ログイン インターフェイスは次のとおりです。

Huntkey MX750P フルモジュール電源レビュー: 750W の集中プラチナ強度 Huntkey MX750P フルモジュール電源レビュー: 750W の集中プラチナ強度 Mar 28, 2024 pm 03:20 PM

コンパクトなサイズで究極の獨自の美しさを追求する多くのプレイヤーを魅了するITXプラットフォームは、製造プロセスの改善と技術(shù)の進歩により、インテルの第14世代CoreおよびRTX40シリーズのグラフィックスカードの両方がITXプラットフォーム上で強みを発揮することができ、ゲーマーも SFX 電源にはより高い要件があります。ゲーム愛好家である Huntkey は、高性能要件を満たす ITX プラットフォームにおいて、最大 750W の定格電力を備え、80PLUS プラチナ レベルの認(rèn)証を取得した、新しい MX シリーズ電源を発売しました。以下にこの電源の評価を示します。 Huntkey MX750P フルモジュール電源は、シンプルでファッショナブルなデザインコンセプトを採用しており、プレイヤーに合わせて選択できるブラックとホワイトの 2 つのモデルがあり、どちらもマットな表面処理が施されており、シルバーグレーとレッドのフォントで質(zhì)感が優(yōu)れています。

See all articles