PHP アドバンスト: 無制限の分類を実現する (3)
3. プログラム制御
-------------------------------------- --- ---------------
このステップは、無制限の分類を実装する上で最も複雑で面倒な作業です。 まず、完了する必要があるステップを見てみましょう:
1) カテゴリを作成してアップロードします
2) 情報のアップロードを作成します
4) クエリ機能を処理します
5) 編集および削除機能を処理します。
カテゴリの編集と削除には整合性の問題が含まれるため、これらの 5 つのステップのうち最も難しいのは 5 番目のステップです。
次に、php のプログラム制御を 1 つずつ説明します:
1) カテゴリのアップロードを作成します
この機能を導入する前に。 、explode( ) を紹介しましょう。この関数は文字列処理関数であり、文字列を分解するために使用されます。例:
「0:1:2:3:4」の数値を分解します
$val= '0:1: 2:3:4';
$rid=explode(":",$val);
explode() 関数によって処理された後、$val 内のすべての数値が $rid に分解されます。配列を引用したい場合は、単に Print: echo '$rid[0],$rid[1],$rid[2]..."; 以上です。explode() 関数は、分類プロセス全体を説明します。それでは、現在の分類のプログラム制御を開始しましょう
合計分類は 0 であると仮定でき、すべての分類はその子孫分類になります。データベースに保存されます:
| rout_id |
システム 0:1 | rout_char
2 | Linux| 0: 1:2 | System: Linux
これは、フォーラムのコードと非常によく似ています。カテゴリの ID を uid に入力し、親カテゴリの uid を入力します。コードを見てみましょう:
....
....
//デフォルトページ
if (empty($func)) $func=='showtype' ;
//親カテゴリのuidを設定します
if (empty($uid)) $uid=0; ******************** *****************************
if ($func=='save'):
$fields = "";
$ 値 = "";
if ($id!="") {
$fields .= ",id" ;
$values.=",$id";
if ($uid!="" ) {
$fields.= ",$uid";
if ($type!="") {
$fields .= ",type";
$values .=",'$type'"
}
if ($route_id=="") {
//親カテゴリのroute_idを取得します
if ($uid!=0) {
$result = mysqlquery(" select * from type where id=$uid");
$route_id=mysql_result($result,0," Route_id");
} else {
$routr_id='0';
}
$fields .= ",route_id ";
//独自のroute_idを作成する
$route_id="$route_id:$id";
$values .=",'$route_id'";
}
//独自のroute_charを作成します
if ($route_char! ="") {
$fields .= ",route_char"; type";
$values.=",'$route_char'";
} else {
$fields .= " ,route_char";
$route_char=$type;
$values.=",'$route_char'";
}
$fields = substr($fields,1,strlen($fields)-1);
$values = substr($values,1,strlen($values)-1);
$result( "タイプ ($fields) 値 ($values) に挿入"); /* 保存終了 */
//カテゴリアップロード********** **************************** ********
if ($func=='createtype'):
//独自の ID を取得します
$result = mysqlquery("select * from type order by
id desc");
if (!empty($num)) {
$cat = mysql_result($result,0,"id");
} else {
$cat=0;
}
// 分類のステータスを決定する
if ($uid != 0) {
$result=mysql_query(" select * from type where id=$uid");
$type=mysql_result($result,0,"type");
$route_char=mysql_result($result,0,"route_char");
} else {
$ type='親カテゴリ';
echo "
終わり; /* end createtype */
//显示分类************************************** **********
if ($func=='showtype'):
echo "
创建分类 |
$type |
"; echo "$type"; echo " |
終わり; /* showtype の終了 */
....
....
?>

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック











Go での Type キーワードの使用には、新しい型エイリアスの定義または新しい構造型の作成が含まれます。詳細な導入: 1. 型エイリアス。既存の型のエイリアスを作成するには、「type」キーワードを使用します。このエイリアスは新しい型を作成しませんが、既存の型に新しい名前を提供するだけです。型エイリアスはコードを改善できます。コードの可読性により、コードがより明確になります; 2. 構造タイプ。新しい構造タイプを作成するには、「type」キーワードを使用します。構造は、複数のフィールドを含むカスタム タイプを定義するために使用できる複合タイプです。

Ubuntu がモバイル ハードディスクをマウントするとエラーが発生します: mount:knownfilesystemtype'exfat' 処理方法は次のとおりです: Ubuntu13.10 または exfat-fuse をインストール: sudoapt-getinstallexfat-fuseUbuntu13.04 以下 sudoapt-add-repositoryppa:relan /exfatsudoapt-getupdatesudoapt-getinstallfuse- exfatCentOS Linux マウント exfat フォーマットの USB ディスク エラー解決方法 CentOS で extfa をロードする

php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code

デュアルネットワークカード構成: ホストオンリーモードの仮想マシン設定にネットワークカードを追加し、再起動後、/etc/udev/rules.d/70-persistent-net.rule に新しい MAC アドレスを生成し、ネットワークカードをコピーしますeth0 から eth1 に注意して削除してください。UUID を変更し、正しい MAC アドレスを変更して、設定ファイルを変更します: BOOTPROTO={static|none|dhcp|bootp}: 静的アドレスを使用するには、static または none を使用します。dhcp は、アドレスを取得する DHCP サーバー; IPADDR=:IP アドレス NETMASK=: サブネットマスク GATEWAY=: デフォルトゲートウェイを設定; 2 枚のネットワークカードに対して 1 つだけ設定可能

このガイドでは、Linux の「type」コマンドについて詳しく学習します。前提条件: このガイドで説明する手順を実行するには、次のコンポーネントが必要です。 適切に構成された Linux システム。テストと学習を目的とした LinuxVM の作成方法をご覧ください。コマンド ライン インターフェイスの基本的な理解 Linux の Type コマンドは、他の Linux 固有のコマンド (例: ls、chmod、shutdown、vi、grep、pwd など) とは異なります。引数として表示される Bash 関数。提供されるコマンド タイプに関する情報。 $type Bash に加えて、他のシェル (Zsh、Ksh など) も付属しています。

必要な情報:1。登録。携帯電話番号登録。登録が成功した後、通常、ニックネーム、性別、誕生日などの基本的な個人情報を入力する必要があります。

誰もが今日の Windows 1123H2 リリースを楽しみにしています。実際、Microsoft は、正式リリース段階に最も近いチャネルであるリリース プレビューのアップデートを開始したところです。ビルド 22631 として知られる Microsoft によると、ブランドを変更した新しいチャット アプリ、Phone Links、および Play Together ウィジェットを展開しており、これらは過去数か月間他の社内チャネルでテストされてきました。 「この新しい更新プログラムは、Windows 11 バージョン 22H2 と同じサービス ブランチとコード ベースを持ち、Windows の Copilot (プレビュー) を含む、新しく発表されたすべての機能と累積的になります」と Microsoft は約束しています。レドモンド関係者はさらに
![「[Vue warn]: Invalid prop: type check」エラーの解決方法](https://img.php.cn/upload/article/000/887/227/169306085649427.jpg?x-oss-process=image/resize,m_fill,h_207,w_330)
「[Vuewarn]:Invalidprop:typecheck」エラーを修正する方法 Vue.js は、ユーザー インターフェイスを構築するための人気のある JavaScript フレームワークです。 Vue.js を使用してアプリケーションを開発する場合、いくつかのエラー メッセージが表示されることがあります。その 1 つは「[Vuewarn]:Invalidprop:typecheck」です。このエラーは通常、コンポーネント内の属性の不適切な使用によって発生します。
