首页 > 代码库 > discuzX2.5后台操作自定义数据库表

discuzX2.5后台操作自定义数据库表

转:http://xuliewei.cn/archives/3071

主要讲述如何在后台建立对某数据库表的增删查该,如有雷同纯属巧合、如有不妥欢迎指出
1.通过phpmyadmin建表

  1. CREATE TABLE IF NOT EXISTS `pre_jianyanxmlb` (
  2.   `lbid` mediumint(8) unsigned NOT NULL auto_increment,
  3.   `flbid` mediumint(8) unsigned NOT NULL default ‘0‘,
  4.   `lbname` varchar(255) NOT NULL default ‘‘,
  5.    PRIMARY KEY  (`lbid`)
  6. ) ENGINE=MyISAM  DEFAULT CHARSET=gbk AUTO_INCREMENT=28 ;

2.然后建立文件
文件列表:
./source/admincp/menu/menu_jianyannav.php
./source/language/lang_admincp_jianyannav.php
./source/admincp/admincp_jianyannav.php
./source/admincp/jianyannav/list.php
./source/admincp/jianyannav/publish.php
./template/default/jianyancp/list.htm
./template/default/jianyancp/publish.htm
3.文件源码
menu_jianyannav.php

  1. <?php
  2. $menu[‘global‘][]=array(‘menu_jianyannav_mytest‘,‘jianyannav_mytest‘);//在‘全局’global定义菜单“menu_jianyannav_mytest”
  3. ?>

lang_admincp_jianyannav.php

  1. <?php
  2. $extend_lang=array(‘menu_jianyannav_mytest‘=>‘jianyan的后台‘);//给后台菜单定义名称
  3. $GLOBALS[‘admincp_actions_normal‘][]=‘jianyannav‘;//给后台菜单定义事件文件
  4. ‘admincp_jianyannav.php’
  5. ?>

admincp_jianyannav.php

  1. <?php
  2. $Discuz=discuz_core::instance();
  3. $modarray=array(‘list‘,‘publish‘);
  4. $mod=!in_array($discuz->var[‘mod‘],$modarray)?‘list‘:$discuz->var[‘mod‘];
  5. $discuz->init();
  6. require ‘./source/admincp/jianyannav/‘.$mod.‘.php‘;
  7. ?>

list.php

  1. <?php
  2. if(!defined(‘IN_DISCUZ‘))
  3. {
  4.         exit(‘Access denied‘);
  5. }
  6. $list=array();
  7. $query=DB::query("select * from ".DB::table(‘jianyanxmlb‘)." order by flbid,lbid");
  8. while($xmlb=DB::fetch($query))
  9. {
  10.         $list[]=$xmlb;
  11. }
  12. if(submitcheck(‘submitdel‘))
  13. {
  14.         $lbid=dhtmlspecialchars(stripslashes($_POST[‘lbid‘]));
  15.         DB::query("delete from ".DB::table(‘jianyanxmlb‘)." where ".DB::field(‘lbid‘,$lbid));
  16.         cpmsg("删除成功",‘action=jianyannav&mod=list‘);
  17.         }
  18.         include_once template("jianyancp/list");
  19. ?>

list.htm

  1. <div id="ct">
  2. <h1>检验项目类别-<!--{if $_G[uid]}--><a href="http://www.mamicode.com/admin.php?action=jianyannav&mod=publish">新增类别</a><!--{/if}--></h1>
  3. <div class ="bm">
  4.         <table border=1px>
  5.                 <tr><td><b>类别ID</b></td><td><b>父类别ID</b></td><td><b>类别名称</b></td><td><b></b></td><td><b></b></td></tr>
  6.         <!--{if $list}-->
  7.         <!--{loop $list $xmlb}-->
  8.         <tr>
  9.                 <td>$xmlb[‘lbid‘]</td>
  10.                 <td>$xmlb[‘flbid‘]</td>
  11.                 <td>$xmlb[‘lbname‘]</td>
  12.                 <td>
  13.                         <form method="post" action="admin.php?action=jianyannav&mod=list">
  14.                         <input type="hidden" name="formhash" id="formhash" value="http://www.mamicode.com/{FORMHASH}">
  15.                         <input name="lbid" id="lbid" type="hidden" value=http://www.mamicode.com/$xmlb[‘lbid‘]>
  16.                         <input type="submit" name="submitdel" value="http://www.mamicode.com/删除" >
  17. </form>
  18.                         </td>
  19.                 <td>
  20.                         <form method="post" action="admin.php?action=jianyannav&mod=publish">
  21.                         <input type="hidden" name="formhash" id="formhash" value="http://www.mamicode.com/{FORMHASH}">
  22.                         <input name="lbid" id="lbid" type="hidden" value=http://www.mamicode.com/$xmlb[‘lbid‘]>
  23.                         <input type="submit" name="submitedit" value="http://www.mamicode.com/编辑" >
  24. </form>
  25.                         </td>
  26.                 </tr>
  27.         <!--{/loop}-->
  28.         <!--{else}-->
  29. <p>暂时没有相关数据</p>
  30.         <!--{/if}-->
  31. </table>
  32. </div>
  33. </div>

publish.php

  1. <?php
  2. if(!defined(‘IN_DISCUZ‘))
  3. {
  4.         exit("Access denied");
  5. }
  6. if(!$_G[‘uid‘])
  7. {
  8. //        showmessage(‘抱歉,尚未登录,不能发表‘);
  9. }
  10. if(submitcheck(‘submitedit‘))
  11. {
  12.         $lbid=dhtmlspecialchars(stripslashes($_POST[‘lbid‘]));
  13.         echo $lbid;
  14.         $xmlb=DB::fetch_all("select * from ".DB::table(‘jianyanxmlb‘)." where ".DB::field(lbid,$lbid));
  15.         echo $xmlb[0][‘lbid‘];
  16.         echo $xmlb[0][‘flbid‘];
  17.         echo $xmlb[0][‘lbname‘];
  18.         }
  19.         if(submitcheck(‘submit‘))
  20. {
  21.         $lbid=dhtmlspecialchars(stripslashes($_POST[‘lbid‘]));
  22.         $flbid = cutstr(dhtmlspecialchars(stripslashes($_POST[‘flbid‘])), 80, ‘‘); //截取150个字节的内容
  23.         $lbname = cutstr(dhtmlspecialchars(stripslashes($_POST[‘lbname‘])), 150, ‘‘); //截取150个字节的内容
  24.         if(!$lbid)
  25.         {
  26.         DB::query("insert into ".DB::table(‘jianyanxmlb‘)." (lbid,flbid,lbname) values (null,‘".$flbid."‘,‘".$lbname."‘)");
  27.   cpmsg("发表成功",‘action=jianyannav&mod=list‘);
  28. }
  29. else
  30. {
  31.         DB::query("update ".DB::table(‘jianyanxmlb‘)." set ".DB::field(flbid,$flbid)." , ".DB::field(lbname,$lbname)." where ".DB::field(lbid,$lbid));
  32.         echo "update ".DB::table(‘jianyanxmlb‘)." set ".DB::field(flbid,$flbid)." , ".DB::field(lbname,$lbname)." where ".DB::field(lbid,$lbid);
  33.   cpmsg("编辑成功",‘action=jianyannav&mod=list‘);
  34.         }
  35.         }
  36. include_once template("jianyancp/publish");
  37. ?>

publish.htm

  1. <div id="ct">
  2. <h1><a href="http://www.mamicode.com/admin.php?action=jianyannav&mod=list">检验项目类别-</a>新增类别</h1>
  3. <form method="post" action="admin.php?action=jianyannav&mod=publish">
  4. <input type="hidden" name="formhash" id="formhash" value="http://www.mamicode.com/{FORMHASH}">
  5. <input type="hidden" name="lbid" id="lbid" value=http://www.mamicode.com/$xmlb[0][‘lbid‘]>
  6. <b>父类别ID:</b><input name="flbid" id="flbid"  value=http://www.mamicode.com/$xmlb[0][‘flbid‘]>
  7. <b>类别名称:</b><input name="lbname" id="lbname"  value=http://www.mamicode.com/$xmlb[0][‘lbname‘]>
  8. <input type="submit" name="submit" value="http://www.mamicode.com/发表" style="float:left"><br>
  9. </form>
  10. </div>

discuzX2.5后台操作自定义数据库表