這篇文章主要介紹PHP怎么實現文章分類,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
1、執行速度快。2、具有很好的開放性和可擴展性。3、PHP支持多種主流與非主流的數據庫。4、面向對象編程:PHP提供了類和對象。5、版本更新速度快。6、具有豐富的功能。7、可伸縮性。8、功能全面,包括圖形處理、編碼與解碼、壓縮文件處理、xml解析等。
文章分類:同一個新聞 屬于 多個菜單項 。比如某新聞既屬于校園新聞又屬于機構設置,那么點開校園新聞菜單項可以看到這篇文章,點開機構設置也可以看到這篇文章。
兩個數據庫 type放菜單項 每個菜單項的id唯一。dynamics放文章,文章的tag可以是多個type中的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>當你點擊頁面上的修改或者新增或者修改時,input把tag中的對應的菜單項讀出來
public function edit($aid = 0){
$aid = intval($aid);
$school_dynamicsModel = D('school_dynamics');
$item = $school_dynamicsModel->where("id='$aid'")->find();
$conditions=$item['tag'];
$character_string=explode(',',$conditions);
for($cycle=0;$cycle<count($character_string);$cycle++) {
$record = D('school_type')->where("id ='$character_string[$cycle]'")->find();
$recordtag[]=$record['title'];
}
$tag=implode(',',$recordtag);
$item['tag']= $tag;
if (!$item) {
$this->error('參數錯誤!');
}
$option = M('school_type')->order('sort ASC')->select();
$option = $this->getMenu($option);
$this->assign('option', $option);
$this->assign('tag', $tag);
$this->assign('item', $item);
$this->display('form');
}
public function update(){
$id = isset($_REQUEST['id']) ? $_REQUEST['id'] : false;
$data['tag'] = $_POST['titietag'];
$tag_str = $data['tag'];
$array_tag = explode(',',$tag_str);
for ($cyclic_variable = 0; $cyclic_variable < count($array_tag); $cyclic_variable++) {
$result = D('school_type')->where("title='$array_tag[$cyclic_variable]'")->find();
$record_id[] = $result['id'];
}
$char = implode(',', $record_id);
$data['tag'] = $char;
if ($id) {
D('school_dynamics')->data($data)->where('id=' . $id)->save();
addlog('編輯內容,ID:' . $id);
$this->success('恭喜!內容編輯成功!', U('/qwadmin/homepage/index'));
} else {
$result = D('school_dynamics')->data($data)->add();
if ($result) {
addlog('新增內容,ID:' . $result['id']);
$this->success('恭喜!內容新增成功!', U('/qwadmin/homepage/index'));
} else {
$this->error('抱歉,未知錯誤!');
}
}
}網頁代碼
<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['title']}</option>
<volist name="v.children" id="vv">
<option value="{$vv.id}"
>{$vv['title']}</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==''){
originally_input = add_new;
}else{
originally_input += ',' + add_new;
}
$("#titletag").val(originally_input);
} else {
$("#titletag").val(originally_input);
}
}
</script>以上是“PHP怎么實現文章分類”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。