php老师 发表于 2015-1-12 21:31:32

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

本帖主要讲述如何在后台建立对某数据库表的增删查该,如有雷同纯属巧合、如有不妥欢迎指出
1.通过phpmyadmin建表
CREATE TABLE IF NOT EXISTS `pre_jianyanxmlb` (
`lbid` mediumint(8) unsigned NOT NULL auto_increment,
`flbid` mediumint(8) unsigned NOT NULL default '0',
`lbname` varchar(255) NOT NULL default '',
   PRIMARY KEY(`lbid`)
) ENGINE=MyISAMDEFAULT 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
<?php
$menu['global'][]=array('menu_jianyannav_mytest','jianyannav_mytest');//在‘全局’global定义菜单“menu_jianyannav_mytest”
?>lang_admincp_jianyannav.php
<?php
$extend_lang=array('menu_jianyannav_mytest'=>'jianyan的后台');//给后台菜单定义名称
$GLOBALS['admincp_actions_normal'][]='jianyannav';//给后台菜单定义事件文件
‘admincp_jianyannav.php’
?>admincp_jianyannav.php
<?php
$discuz=discuz_core::instance();
$modarray=array('list','publish');
$mod=!in_array($discuz->var['mod'],$modarray)?'list':$discuz->var['mod'];
$discuz->init();
require './source/admincp/jianyannav/'.$mod.'.php';
?>
list.php
<?php
if(!defined('IN_DISCUZ'))
{
      exit('Access denied');
}
$list=array();
$query=DB::query("select * from ".DB::table('jianyanxmlb')." order by flbid,lbid");
while($xmlb=DB::fetch($query))
{      
      $list[]=$xmlb;
}
if(submitcheck('submitdel'))
{
      $lbid=dhtmlspecialchars(stripslashes($_POST['lbid']));
      DB::query("delete from ".DB::table('jianyanxmlb')." where ".DB::field('lbid',$lbid));
      cpmsg("删除成功",'action=jianyannav&mod=list');
      }

      include_once template("jianyancp/list");
?>list.htm
<div id="ct" class="wp cl">
<h1 class="mt">检验项目类别-<!--{if $_G}--><a href="admin.php?action=jianyannav&mod=publish">新增类别</a><!--{/if}--></h1>
<div class ="bm">
      <table border=1px>
                <tr><td><b>类别ID</b></td><td><b>父类别ID</b></td><td><b>类别名称</b></td><td><b></b></td><td><b></b></td></tr>
      <!--{if $list}-->
      <!--{loop $list $xmlb}-->
      <tr>
                <td>$xmlb['lbid']</td>
                <td>$xmlb['flbid']</td>
                <td>$xmlb['lbname']</td>
                <td>
                        <form method="post" action="admin.php?action=jianyannav&mod=list">
                        <input type="hidden" name="formhash" id="formhash" value="{FORMHASH}">      
                        <input name="lbid" id="lbid" type="hidden" value=$xmlb['lbid']>
                        <input type="submit" name="submitdel" value="删除" >
</form>
                        </td>
                <td>
                        <form method="post" action="admin.php?action=jianyannav&mod=publish">
                        <input type="hidden" name="formhash" id="formhash" value="{FORMHASH}">      
                        <input name="lbid" id="lbid" type="hidden" value=$xmlb['lbid']>
                        <input type="submit" name="submitedit" value="编辑" >
</form>
                        </td>
               
                </tr>
               
      <!--{/loop}-->
      <!--{else}-->
<p>暂时没有相关数据</p>
      <!--{/if}-->
</table>
</div>
</div>
publish.php
<?php
if(!defined('IN_DISCUZ'))
{
      exit("Access denied");
}
if(!$_G['uid'])
{
//      showmessage('抱歉,尚未登录,不能发表');
}
if(submitcheck('submitedit'))
{
      $lbid=dhtmlspecialchars(stripslashes($_POST['lbid']));
      echo $lbid;
      $xmlb=DB::fetch_all("select * from ".DB::table('jianyanxmlb')." where ".DB::field(lbid,$lbid));
      echo $xmlb['lbid'];
      echo $xmlb['flbid'];
      echo $xmlb['lbname'];
      }
      if(submitcheck('submit'))
{      
      $lbid=dhtmlspecialchars(stripslashes($_POST['lbid']));
      $flbid = cutstr(dhtmlspecialchars(stripslashes($_POST['flbid'])), 80, ''); //截取150个字节的内容
      $lbname = cutstr(dhtmlspecialchars(stripslashes($_POST['lbname'])), 150, ''); //截取150个字节的内容
      if(!$lbid)
      {
      DB::query("insert into ".DB::table('jianyanxmlb')." (lbid,flbid,lbname) values (null,'".$flbid."','".$lbname."')");
cpmsg("发表成功",'action=jianyannav&mod=list');
}
else
{
      DB::query("update ".DB::table('jianyanxmlb')." set ".DB::field(flbid,$flbid)." , ".DB::field(lbname,$lbname)." where ".DB::field(lbid,$lbid));
      echo "update ".DB::table('jianyanxmlb')." set ".DB::field(flbid,$flbid)." , ".DB::field(lbname,$lbname)." where ".DB::field(lbid,$lbid);
cpmsg("编辑成功",'action=jianyannav&mod=list');
      }
      
      }
include_once template("jianyancp/publish");

?>publish.htm

<div id="ct" class="wp cl">
<h1 class="mt"><a href="admin.php?action=jianyannav&mod=list">检验项目类别-</a>新增类别</h1>
<form method="post" action="admin.php?action=jianyannav&mod=publish">
<input type="hidden" name="formhash" id="formhash" value="{FORMHASH}">      
<input type="hidden" name="lbid" id="lbid" value=$xmlb['lbid']>      
<b>父类别ID:</b><input name="flbid" id="flbid"value=$xmlb['flbid']><br>
<b>类别名称:</b><input name="lbname" id="lbname"value=$xmlb['lbname']><br>

<input type="submit" name="submit" value="发表" style="float:left"><br>
</form>

</div>
新人发帖、多多指教
页: [1]
查看完整版本: discuzX2.5后台操作自定义数据库表