如何 給 文章 新增 標籤 以及 如何 讓 js 中的資料 跟隨 form 表單 一起提交到 後臺
阿新 • • 發佈:2018-12-25
設計思路
檔案和,標籤的關係,多對多的關係。
需要一個標籤表,和,文章標籤中間表。
文章和,標籤的關係,多對多的關係。
一個標籤對應多篇文章,一篇文章對應多個標籤 。
標籤,增刪改查,可以在後臺管理。
這個文章標籤中間表,是如果1篇文章有幾個標籤,就有幾條資料,只是對應同一個文章id
參考網址
http://www.17sucai.com/pins/29482.html
我是 這樣 實現的
// 標籤庫 的展示 <div class="clear"></div> <!-- <div class="af-outer af-required"> --> <div class="wrap"> <div class="label-selected"> <a href="javascript:;" class="layui-btn layui-btn-sm show-labelitem" style="float: right; margin: 4px; display: block;line-height: 30px;">展開標籤庫 </a> <a href="javascript:;" class="layui-btn layui-btn-sm hide-labelitem" style="float: right; margin: 4px; display: none;line-height: 30px;">收起標籤庫 </a> <!-- 在這獲取的值 使用者點選的 標籤 id --> <input type="hidden" name="biaoqian_id"> </div> <div class="layui-col-md12" id="labelItem"> <!-- 標籤庫 --> <div class="label-item"> <a href="javascript:;" class="replacelable" style="position: absolute;right:1rem;bottom:.75rem;color: #1994dc" onselectstart="return false">換一批</a> {foreach $biaoqian as $v} <li class="biaoqian" data="{$v['id']}"><span>{$v['biaoqian_name']}</span></li> {/foreach} </div> </div> </div> // 表單 提交按鈕 <div class="af-outer af-required"> <div class="af-inner"> <input type="submit" id="button" name="button" class="btn btn-welcome btn-large" value="釋出" /> </div> </div>
js
<script type="text/javascript">
$(function(){
// 要改成表單提交的時候獲取
$("#button").click(function(){
// 這樣就可以得到標籤id,傳遞給 input框 並跟隨表單 一起提交到後臺
console.log($("input[name='biaoqian_id']").val());
})
})
</script>
控制器中
獲取到使用者點選的標籤 id 只要 存進 標籤關聯中間表 就可以了
注意,多個標籤id 的時候,要 遍歷迴圈新增
程式碼如下
// 如果標籤為空,不插入標籤表 if($data['biaoqian_id']) { // $arr 最後一個下標是空的 $arr = explode(',',$data['biaoqian_id']); $result = array_pop($arr); // 這是那個空的下標,去掉 foreach($arr as $v) { $biaoqian['biaoqian_id'] = $v; $biaoqian['art_id'] = $art_id; $biao = DB::name('biaoqian_link')->insert($biaoqian); } }