仿日志添加编辑删除分类

浏览
94
回复
2
收藏
0
点赞
0

1#

2019-3-31 13:48:40
331.png

没有做法,只记录代码。

编辑和删除php
  1. $classid = empty($_GET['classid'])?0:intval($_GET['classid']);
  2. $op = empty($_GET['op'])?'':$_GET['op'];

  3. if($op == "edit" || $op == "delete"){
  4.         $class = array();
  5.         if($classid) {
  6.                 $class = C::t('#插件名#table文件名')->fetch_first('表名','classid='.$classid);
  7.                 if($class['uid'] != $_G['uid']) {
  8.                         $class = null;
  9.                 }
  10.         }
  11.         if(empty($class)) showmessage('did_not_specify_the_type_of_operation');
  12. }

  13. if ($op == 'edit') {

  14.         if(submitcheck('editsubmit')) {

  15.                 $_POST['classname'] = cutstr($_POST['classname'], 40);
  16.                 $_POST['classname'] = censor($_POST['classname']);
  17.                 if(strlen($_POST['classname']) < 1) {
  18.                         showmessage('enter_the_correct_class_name');
  19.                 }
  20.                 C::t("#插件名#table文件名")->update_by_where("表名",array('classname'=>$_POST['classname']),"classid=".$classid);
  21.                 showmessage('do_success', dreferer(),array('classid'=>$classid, 'classname' => $_POST['classname']), array('showdialog' => 1, 'showmsg' => true, 'closetime' => true));
  22.         }

  23. } elseif ($op == 'delete') {
  24.         if(submitcheck('deletesubmit')) {
  25.                 C::t('#插件名#table文件名')->update_by_where("表名", array('classid'=>0),"classid=".$classid);//清除文章classid
  26.                 C::t('#插件名#table文件名')->delete_by_where('classid='.$classid,'表名');

  27.                 showmessage('do_success', dreferer());
  28.         }
  29. }
复制代码


添加编辑删除弹窗html
  1. <!--{if $_GET[op] == 'addoption'}-->
  2.         <h3 class="flb">
  3.                 <em>新建分类</em>
  4.                 <!--{if $_G[inajax]}--><span><a href="javascript:;" onclick="blogCancelAddOption('$_GET[oid]');hideWindow('$_GET[handlekey]');return false;" class="flbc" title="{lang close}">{lang close}</a></span><!--{/if}-->
  5.         </h3>
  6.         <div class="c">
  7.                 <p class="mtm mbm"><label for="newsort">分类名称: <input type="text" name="newsort" id="newsort" class="px" size="30" /></label></p>
  8.         </div>
  9.         <p class="o pns">
  10.                 <button type="button" name="btnsubmit" value="true" class="pn pnc" onclick="if(blogAddOption('newsort', '$_GET[oid]'))hideWindow('$_GET[handlekey]');"><strong>确定</strong></button>
  11.         </p>
  12.         <script type="text/javascript">
  13.                 $('newsort').focus();
  14.         </script>
  15. <!--{elseif $_GET['op'] == 'edit'}-->
  16.         <h3 class="flb">
  17.                 <em id="return_$_GET[handlekey]">修改分类</em>
  18.                 <!--{if $_G[inajax]}--><span><a href="javascript:;" onclick="hideWindow('$_GET[handlekey]');" class="flbc" title="{lang close}">{lang close}</a></span><!--{/if}-->
  19.         </h3>
  20.         <form id="classform" name="classform" method="post" autocomplete="off" action="编辑删除处理文件?op=edit&classid=$classid" {if $_G[inajax]}onsubmit="ajaxpost(this.id, 'return_$_GET[handlekey]');"{/if}>
  21.                 <input type="hidden" name="formhash" value="{FORMHASH}" />
  22.                 <input type="hidden" name="referer" value="{echo dreferer()}" />
  23.                 <input type="hidden" name="editsubmit" value="true">
  24.                 <!--{if $_G[inajax]}--><input type="hidden" name="handlekey" value="$_GET[handlekey]" /><!--{/if}-->
  25.                 <div class="c">
  26.                         <p class="mtm mbm"><label for="classname">分类名称: <input type="text" name="classname" id="classname" class="px" value="$class[classname]" size="30" /></label></p>
  27.                 </div>
  28.                 <p class="o pns">
  29.                         <button type="submit" name="editsubmit_btn" class="pn pnc" value="true"><strong>确定</strong></button>
  30.                 </p>
  31.         </form>
  32.         <script type="text/javascript">
  33.                 function succeedhandle_$_GET['handlekey'] (url, message, values) {
  34.                         $('classid'+values['classid']).innerHTML = values['classname'];
  35.                 }
  36.         </script>
  37. <!--{elseif $_GET['op'] == 'delete'}-->
  38.         <h3 class="flb">
  39.                 <em id="return_$_GET[handlekey]">删除分类</em>
  40.                 <!--{if $_G[inajax]}--><span><a href="javascript:;" onclick="hideWindow('$_GET[handlekey]');" class="flbc" title="{lang close}">{lang close}</a></span><!--{/if}-->
  41.         </h3>
  42.         <form id="classform" name="classform" method="post" autocomplete="off" action="编辑删除处理文件?op=delete&classid=$classid">
  43.                 <input type="hidden" name="referer" value="{echo dreferer()}" />
  44.                 <input type="hidden" name="formhash" value="{FORMHASH}" />
  45.                 <input type="hidden" name="deletesubmit" value="true" />
  46.                 <!--{if $_G[inajax]}--><input type="hidden" name="handlekey" value="$_GET[handlekey]" /><!--{/if}-->
  47.                 <div class="c">确定删除此分类吗</div>
  48.                 <p class="o pns">
  49.                         <button type="submit" name="deletesubmit_btn" class="pn pnc" value="true"><strong>删除</strong></button>
  50.                 </p>
  51.         </form>
  52. <!--{/if}-->
复制代码


模板html和js

  1. <div class="form-group">
  2. <label class="mr-3 mb-0">个人分类</label>
  3. <select name="class" id="class" onchange="addSort(this)">
  4. <option value="0"{if !$article['classid']} selected="selected"{/if}>------</option>
  5. <!--{loop $classlist $class}-->
  6. <option value="{$class['classid']}"{if $article['classid']==$class['classid']} selected="selected"{/if}>{$class['classname']}</option>
  7. <!--{/loop}-->
  8. <option value="addoption" style="color:red;">+新建分类</option>
  9. </select>
  10. </div>
复制代码
  1. <script>
  2. function addSort(obj) {
  3.         if (obj.value == 'addoption') {
  4.                 showWindow('addoption', '弹窗地址?&op=addoption&handlekey=addoption&oid='+obj.id);
  5.          }
  6. }
  7. function blogAddOption(sid, aid) {
  8.         var obj = $(aid);
  9.         var newOption = $(sid).value;
  10.         newOption = newOption.replace(/^\s+|\s+$/g,"");
  11.         $(sid).value = "";
  12.         if (newOption!=null && newOption!='') {
  13.                 var newOptionTag=document.createElement('option');
  14.                 newOptionTag.text=newOption;
  15.                 newOptionTag.value=newOption;
  16.                 try {
  17.                         obj.add(newOptionTag, obj.options[0]);
  18.                 } catch(ex) {
  19.                         obj.add(newOptionTag, obj.selecedIndex);
  20.                 }
  21.                 obj.value=newOption;
  22.                 return true;
  23.         } else {
  24.                 alert('分类名不能为空!');
  25.                 return false;
  26.         }
  27. }
  28. function blogCancelAddOption(aid) {
  29.         var obj = $(aid);
  30.         obj.value=obj.options[0].value;
  31. }
  32. </script>
复制代码
保存标签由提交后处理,php
  1. if(is_numeric($_POST['class'])){
  2. $classid = $_POST['class'];
  3. }else{
  4. $classins = array(
  5. 'classname'=>$_POST['class'],
  6. );
  7. $classid = C::t("#插件名#table文件名")->insert_new("表名",daddslashes($classins),true);
  8. }
复制代码

修改和删除html
  1. <!--{loop $classlist $value}-->
  2. <tr>
  3. <td>{$value['displayorder']}</td>
  4. <td><a href="" id="classid{$value['classid']}">{$value['classname']}</a></td>
  5. <td><a href="javascript:;" onclick="showWindow('classid{$value['classid']}', '弹窗文件地址?op=edit&classid={$value['classid']}', 'get', 0);">修改</a><a href="javascript:;" onclick="showWindow('classid{$value['classid']}','弹窗文件地址?op=delete&classid={$value['classid']}', 'get', 0)">删除</a></td>
  6. </tr>
  7. <!--{/loop}-->
复制代码
无刷新改变名称需要在名称容器加id="classid{$value['classid']}"。

字段:classid、classname

SIGNATURE
想的简单做的复杂
又开始更新啦

怕忘了。
一直在写代码没时间写帖子。
SIGNATURE
想的简单做的复杂

回复主题

已有 2 条回复
您需要登录后才可以回帖 登录 | 注册
高级模式

关于楼主
管理员
帖子
1483
日志
41
精华
19
精华推荐