ホームページ php教程 php手册 PHP アドバンスト: 無制限の分類を実現する (3)

PHP アドバンスト: 無制限の分類を実現する (3)

Jun 21, 2016 am 09:10 AM
lt quot route type

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 "

";

echo "< td>Category:$type";
echo " カテゴリを作成します: ";

echo "gt;";
$cat =$cat+1;
echo "";
echo "";
echo "" ;
echo "";echo "";
echo "
";
終わり; /* end createtype */

//显示分类************************************** **********
if ($func=='showtype'):

echo "";

//分別状態判断
if ($uid!=0) {
$result=mysql_query("select * from type where id=$uid");
$type=mysql_result($result,0,"type");
} else {
$type='父分类';
}

echo "" ;

echo "";

$result=mysql_query("select * from type where uid=$uid");
$num=mysql_numrows($result);

if (!empty($num)) {
for ($i=0;$i
$id=mysql_result($result,$i,"id");
$type=mysql_result($result,$i,"type");

echo "";
}
}

echo "
创建分类
$type
";
echo "$type";
echo "
";
終わり; /* showtype の終了 */
....
....

?>



このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Go での Type キーワードの用途は何ですか? Go での Type キーワードの用途は何ですか? Sep 06, 2023 am 09:58 AM

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

Ubuntu のモバイル ハードディスク エラーの解決: ファイル システム タイプ exfat が不明です Ubuntu のモバイル ハードディスク エラーの解決: ファイル システム タイプ exfat が不明です Jan 05, 2024 pm 01:18 PM

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提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 Jun 13, 2016 am 10:23 AM

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

CentOS デュアル ネットワーク カードの内部および外部ネットワーク構成ルート ネットワーク カード エイリアスの詳細な説明 CentOS デュアル ネットワーク カードの内部および外部ネットワーク構成ルート ネットワーク カード エイリアスの詳細な説明 Jan 07, 2024 am 11:10 AM

デュアルネットワークカード構成: ホストオンリーモードの仮想マシン設定にネットワークカードを追加し、再起動後、/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系コマンド Linux系コマンド Mar 20, 2024 pm 05:06 PM

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

DeepSeekアカウントを登録するときに必要な情報は何ですか? DeepSeekアカウントを登録するときに必要な情報は何ですか? Mar 12, 2025 pm 02:33 PM

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

Microsoft は、Copilot を使用して Windows 11 23H2 ビルドをリリース プレビュー チャネルに展開しています Microsoft は、Copilot を使用して Windows 11 23H2 ビルドをリリース プレビュー チャネルに展開しています Sep 28, 2023 pm 07:17 PM

誰もが今日の Windows 1123H2 リリースを楽しみにしています。実際、Microsoft は、正式リリース段階に最も近いチャネルであるリリース プレビューのアップデートを開始したところです。ビルド 22631 として知られる Microsoft によると、ブランドを変更した新しいチャット アプリ、Phone Links、および Play Together ウィジェットを展開しており、これらは過去数か月間他の社内チャネルでテストされてきました。 「この新しい更新プログラムは、Windows 11 バージョン 22H2 と同じサービス ブランチとコード ベースを持ち、Windows の Copilot (プレビュー) を含む、新しく発表されたすべての機能と累積的になります」と Microsoft は約束しています。レドモンド関係者はさらに

「[Vue warn]: Invalid prop: type check」エラーの解決方法 「[Vue warn]: Invalid prop: type check」エラーの解決方法 Aug 26, 2023 pm 10:40 PM

「[Vuewarn]:Invalidprop:typecheck」エラーを修正する方法 Vue.js は、ユーザー インターフェイスを構築するための人気のある JavaScript フレームワークです。 Vue.js を使用してアプリケーションを開発する場合、いくつかのエラー メッセージが表示されることがあります。その 1 つは「[Vuewarn]:Invalidprop:typecheck」です。このエラーは通常、コンポーネント内の属性の不適切な使用によって発生します。

See all articles