PHPで記事分類を実装する方法

醉折花枝作酒筹
リリース: 2023-03-09 13:30:02
転載
2145 人が閲覧しました

この記事では、PHP を使用して記事を分類する方法を紹介します。一定の参考値があるので、困っている友達が参考になれば幸いです。

PHPで記事分類を実装する方法

#記事カテゴリ: 同じニュースが複数のメニュー項目に属します。たとえば、特定のニュースがキャンパス ニュースと教育機関の設定の両方に属する場合、キャンパス ニュースのメニュー項目をクリックするとこの記事が表示され、教育機関の設定をクリックするとこの記事が表示されます。

2 つのデータベース タイプにメニュー項目が配置され、各メニュー項目には一意の ID があります。 Dynamics は記事を配置します。記事のタグは複数のタイプの ID

public function column($p=1){
        $school_dynamicsModel = D('school_dynamics');
        $school_typeModel =D('school_type');
        $photoModel =D('photo');
        $pid = isset($_REQUEST['pid']) ? $_REQUEST['pid'] : false;
        $p = intval($p) > 0 ? $p : 1;
        $pagesize = 20;
        $offset = $pagesize * ($p - 1);
        
        $count = $school_dynamicsModel->where("tag like '%' '$pid' '%' and is_delete = 0")->count();
        $list_school = $school_dynamicsModel->where("tag like '%' '$pid' '%' and is_delete = 0")->order('time desc ')->limit($offset . ',' . $pagesize)->select();
        $list = array();

        foreach ($list_school as $p) {
            if ($p['release_date']) {
                $p['time'] = $p['release_date'];
            }
            else {
                $p['time'] = date('Y-m-d H:i:s', $p['time']);
            }
            $list[] = $p;
        }

        
        $this->assign('list',$list);
        $this->assign('page', $page);
        $this->display();
    }
ログイン後にコピー

にすることができ、出力はページ

 <p class="items-content">
    <ul class="article">
         <volist name="list" id="val">
              <li>
                  <a href="/home/index/column_form.html?id={$val.id} ">
                      <span>{$val.title}</span><strong>{$val.time}</strong>
                   </a>
               </li>
          </volist>
      </ul>
       <p class="pages">
          {$page}
        </p>
</p>
ログイン後にコピー

でループされます。 page, input タグ内の対応するメニュー項目を読み上げます

 public function edit($aid = 0){
        $aid = intval($aid);
        $school_dynamicsModel = D(&#39;school_dynamics&#39;);
        $item = $school_dynamicsModel->where("id=&#39;$aid&#39;")->find();
        $conditions=$item[&#39;tag&#39;];
        $character_string=explode(&#39;,&#39;,$conditions);
        
        for($cycle=0;$cycle<count($character_string);$cycle++) {
	        $record = D(&#39;school_type&#39;)->where("id =&#39;$character_string[$cycle]&#39;")->find();
	        $recordtag[]=$record[&#39;title&#39;];
        }
        
        $tag=implode(&#39;,&#39;,$recordtag);
	    $item[&#39;tag&#39;]= $tag;
	    
        if (!$item) {
            $this->error(&#39;参数错误!&#39;);
        }
        
        $option = M(&#39;school_type&#39;)->order(&#39;sort ASC&#39;)->select();
        $option = $this->getMenu($option);
        $this->assign(&#39;option&#39;, $option);
	    $this->assign(&#39;tag&#39;, $tag);
        $this->assign(&#39;item&#39;, $item);
        $this->display(&#39;form&#39;);
    }

    public function update(){
    	
		    $id = isset($_REQUEST[&#39;id&#39;]) ? $_REQUEST[&#39;id&#39;] : false;
                
            $data[&#39;tag&#39;] = $_POST[&#39;titietag&#39;];

		    $tag_str = $data[&#39;tag&#39;];
		    $array_tag = explode(&#39;,&#39;,$tag_str);
			
		    for ($cyclic_variable = 0; $cyclic_variable < count($array_tag);                                       $cyclic_variable++) {
			
			   
			    $result = D(&#39;school_type&#39;)->where("title=&#39;$array_tag[$cyclic_variable]&#39;")->find();

			    $record_id[] = $result[&#39;id&#39;];
			   
		    }
		    $char = implode(&#39;,&#39;, $record_id);
	   
		    $data[&#39;tag&#39;] = $char;             

		    if ($id) {
			    D(&#39;school_dynamics&#39;)->data($data)->where(&#39;id=&#39; . $id)->save();
			    addlog(&#39;编辑内容,ID:&#39; . $id);
			    $this->success(&#39;恭喜!内容编辑成功!&#39;, U(&#39;/qwadmin/homepage/index&#39;));
		    } else {

			    $result = D(&#39;school_dynamics&#39;)->data($data)->add();
			    if ($result) {
				    addlog(&#39;新增内容,ID:&#39; . $result[&#39;id&#39;]);
				    $this->success(&#39;恭喜!内容新增成功!&#39;, U(&#39;/qwadmin/homepage/index&#39;));
			    } else {
				    $this->error(&#39;抱歉,未知错误!&#39;);
			    }
		    }
	    }
ログイン後にコピー

Web ページのコード

 
                            <div class="form-group">
                                <label class="col-sm-1 control-label no-padding-right" for="form-field-1">
                                    文章类目: </label>
                                <div class="col-sm-9">
                                    <select id="xinzen" name="xinzen" class="rcol-xs-10 col-sm-5">
 
                                        <volist name="option" id="v">
                                            <option value="{$v.id}"
 
                                            >{$v[&#39;title&#39;]}</option>
                                            <volist name="v.children" id="vv">
                                                <option value="{$vv.id}"
 
                                                >{$vv[&#39;title&#39;]}</option>
                                            </volist>
                                        </volist>
                                    </select>
 
                                    <span class="help-inline col-xs-12 col-sm-7">
                                          <span class="middle">
                                              <input type="button" value="新增" onclick="toTag()">
                                          </span>
                                   </span>
                                </div>
                            </div>
 
<script>
 function toTag() {
 
     var originally_input=$("#titletag").val();
     $("#titletag").val("");
     var add_new=$("#xinzen option:selected").text();
 
     if (originally_input.indexOf(add_new, 0) == -1) {
         if(originally_input==&#39;&#39;){
          originally_input = add_new;
     }else{
         originally_input += &#39;,&#39; + add_new;
      }
      $("#titletag").val(originally_input);
       } else {
            $("#titletag").val(originally_input);
       }
   }                               
</script>
ログイン後にコピー

推奨学習:

php ビデオ チュートリアル

以上がPHPで記事分類を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:csdn.net
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート