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 "
创建分类 |
$type |
"; echo "$type"; echo " |