·设为首页收藏本站📧邮箱修改🎁免费下载专区📒收藏夹👽聊天室📱AI智能体
返回列表 发布新帖

discuzx 3.5 x3.4开发手册-常用函数和模板调用方法[长期更新]

740 2
发表于 2021-9-8 17:27:25 | 查看全部 阅读模式

马上注册,免费下载更多dz插件网资源。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
登录
  1. <a href="member.php?mod=logging&action=login" title="登录">登录</a>
复制代码

注册
  1. <a href="member.php?mod=register" title="立即注册">立即注册</a>
复制代码

忘记密码
  1. <a href="javascript:;" title="找回密码">找回密码</a>
复制代码

购买邀请码
  1. misc.php?mod=buyinvitecode
复制代码

JS跳转
  1. onclick="window.location.href='home.php?mod=mobile&do=friend';"
复制代码

JS更换class的名称
  1. document.getElementById('idname').className='a';
  2. document.getElementById('idname').style.display='block';
  3. document.getElementById("idname").style.marginTop="30px";
复制代码

批量替换超链接:
  1. href="[^"]*"
复制代码

过滤DZ代码:
  1. preg_replace ("/\[[a-z][^\]]*\]|\[\/[a-z]+\]/i",'',preg_replace("/\[attach\]\d+\[\/attach\]/i",'',$message));
复制代码

调用单个数据
  1. $a = DB::result(DB::query("SELECT qi FROM ".DB::table('abc')." WHERE id = '1'"));
复制代码

调用统计数据
  1. $a = DB::result(DB::query("SELECT count(*) FROM ".DB::table('abc')." WHERE id = '1'"));
复制代码

单数据表调用
  1. $perpage = 20;
  2. $curpage = empty ( $_GET['page'] ) ? 1 : intval ( $_GET['page'] );
  3. $start = ($curpage-1)*$perpage;
  4. $askcount = DB::result(DB::query("SELECT COUNT(*) FROM ".DB::table('forum_thread')." WHERE fid = '2' AND authorid > 1"));
  5. //$asklist
  6. $asklist = array();
  7. if ($askcount) {
  8.         $query = DB::query("SELECT * FROM ".DB::table('forum_thread')." WHERE fid = '2' AND displayorder > -1 ORDER BY tid ASC LIMIT $start,$perpage");
  9.         while ($value = DB::fetch($query)) {
  10.                 $asklist[] = $value;
  11.         }
  12. }
  13. $multi = multi($askcount, $perpage, $curpage, "这里填写跳转地址");
复制代码



多数据表调用
  1. $perpage = 40;
  2. $curpage = empty ( $_GET['page'] ) ? 1 : intval ( $_GET['page'] );
  3. $start = ($curpage-1)*$perpage;
  4. $acount = DB::result(DB::query("SELECT count(*) FROM ".DB::table('forum_forum')." b LEFT JOIN ".DB::table('forum_forumfield')." bf ON bf.fid=b.fid WHERE b.type='sub' AND b.status = 3 AND bf.icon != ''"));
  5. //$alist
  6. $alist = array();
  7. if ($acount) {
  8.         $query = DB::query("SELECT bf.*, b.* FROM ".DB::table('forum_forum')." b LEFT JOIN ".DB::table('forum_forumfield')." bf ON bf.fid=b.fid WHERE b.type='sub' AND b.status = 3 AND bf.icon != '' ORDER BY bf.shoplevel DESC, b.commoncredits DESC, bf.fid DESC LIMIT $start,$perpage");
  9.         while ($value = DB::fetch($query)) {
  10.                 $alist[] = $value;
  11.         }
  12. }
  13. $multi = multi($acount, $perpage, $curpage, "这里填写跳转地址");
复制代码



前台数据显示
  1. <!--{loop $alist $key $value}-->
  2. <!--{eval $tupianfm = DB::result(DB::query("SELECT attachment FROM ".DB::table('forum_threadimage')." WHERE tid = '$value[tid]'"));}-->
  3. <img src="$tupianfm"><br>$value[authorid]
  4. <!--{/loop}-->
复制代码


取数据表中符合条件的第一条数据
  1. $app=array();
  2. $app=DB::fetch_first("select * from ".DB::table('abc')." where id='{$id}'");
复制代码



人性化时间戳
  1. <!--{echo dgmdate(这里填写时间参数, 'u', '9999', getglobal('setting/dateformat'))}-->
  2. <!--{echo date("Y-m/d H:i:s",这里填写时间参数)}-->
复制代码


截取字符字数
  1. <!--{echo cutstr(这里填写参数,40)}-->
复制代码


过滤DISCUZ代码
  1. preg_replace ("/\[[a-z][^\]]*\]|\[\/[a-z]+\]/i",'',preg_replace("/\[attach\]\d+\[\/attach\]/i",'',$message));
复制代码


写入数据库
  1. if(submitcheck('tijiao')) {
  2.         $setarr = array(
  3.                 'tid' => $_GET['topicid'],
  4.                 'name' => $_POST['name'],
  5.                 'position' => $_GET['position'],
  6.                 'dateline' => $_G['timestamp'],
  7.         );
  8.         DB::insert('abc', $setarr, 1);
  9.         $query = DB::query("UPDATE ".DB::table('abc')." SET stickreply='1' WHERE tid='$tid'");
  10.         $query = DB::query("DELETE FROM ".DB::table('abc')." WHERE pid='$pid'");
  11.         showmessage('成功的提示信息', "跳转地址");
  12. }
复制代码



表单提交:
  1. <form action="do.php" method="post" autocomplete="off">
  2.         <input type="hidden" value="{FORMHASH}" name="formhash" />
  3.         最低奖金:<input name="qi" type="text" value="" /> 
  4.         最高奖金:<input name="end" type="text" value="" />  
  5.         <button value="true" name="tijiao" type="submit">提交设置</button>
  6.         <input type="hidden" name="tijiao" value="true" />
  7. </form>
复制代码



以下两个时间格式是对等关系
  1. date("Ymd",time());  20150212
  2. FROM_UNIXTIME(dateline, '%Y%m%d')
复制代码

前者用于PHP,后者用于数据库调用的字段的格式化

调用图片附件
  1. <!--{eval $biaoid = substr($value[tid], -1); $cover = DB::result(DB::query("SELECT attachment FROM ".DB::table('forum_attachment_'.$biaoid.'')." WHERE tid = '$value[tid]'"));}-->
复制代码


数据库循环嵌套调用
  1. <!--{eval $slides = DB::fetch_all("SELECT * FROM ".DB::table('a')." WHERE `uid`= $_G[uid] ORDER BY `id` DESC");}-->
  2. <!--{loop $slides $slide}-->
  3. $slide[name]
  4. <!--{/loop}-->
复制代码


ucenter无法登录:
  1. 打开uc_server/model/admin.php
  2. 找到第22行的
  3. $this->cookie_status = 0;
复制代码


改成
  1. $this->cookie_status = isset($_COOKIE['sid']) ? 1 : 0;
复制代码



无刷新切换li标签并且同时加载框架页面:
  1. <script type="text/javascript">
  2. var jq = jQuery.noConflict();
  3. jq(function(){
  4. jq("#changemenu>li").mouseover(function(){
  5. jq("#changemenu>li").each(function(i){
  6. jq(this).removeClass("current");
  7. });
  8. jq(this).addClass("current");
  9. document.getElementById("changenr").innerHTML='<iframe src="do.php?id='+jq(this).attr('dataid')+'" height="350" width="1070" frameborder="0" scrolling="no"></iframe>';
  10. }).mouseout(function(){
  11. jq(this).addClass("current");
  12. });
  13. });
  14. </script>
  15. <ul id="changemenu">
  16.    <li class="current" dataid="1"></li>
  17.    <li dataid="2"></li>
  18. </ul>
  19. <div id="changenr"></div>
复制代码



快速发帖
  1. <a href="forum.php?mod=misc&action=nav">发布新话题</a>
复制代码



DISCUZ JSON数据解析获取
  1. $str = 'a:2:{s:8:"sitename";s:8:"dz插件网";s:3:"pic";s:12:"ymg6.jpg";}';
  2. $newstr = str_replace("","",$str);
  3. $data = unserialize($newstr);
  4. echo $data[sitename];//输出结果为dz插件网
复制代码



DISCUZ云平台站点同步提示DNS错误解决方法:打开source\plugin\manyou\Service\Client\Restful.php,找到代码:
  1. $result = $this->_fsockopen($url, 0, $data, '', false, $ip, 5);
复制代码


修改为:
  1. $result = $this->_fsockopen($url, 0, $data, '', false, $ip, 30);
复制代码



LI标签列表自适应宽度JS实现代码(去除每行最后一个li标签的右边距):
  1. <script type="text/javascript" src="http://www.banban.so/new/bang/uploads/146383669567393.js"></script>
  2. <style>ul,li{margin:0; padding:0; list-style:none;}.list{width:100%; margin:0 auto;}.list li{width:32%; float:left; margin-right:2%; background:#0092B9; text-align:center; color:#fff; height:300px; line-height:300px; margin-bottom:10px;}</style>
  3. <div class="list">
  4.         <ul>
  5.         <li>dz插件网</li>
  6.         <li>dz插件网</li>
  7.         <li>dz插件网</li>
  8.         <li>dz插件网</li>
  9.         <li>dz插件网</li>
  10.         <li>dz插件网</li>
  11.     </ul>
  12. </div>
  13. <script type="text/javascript">
  14.     $('.list li:nth-child(3n)').css('marginRight', '0');
  15. </script>
复制代码



常用词汇
  1. select 选择
  2. count 总数
  3. table 表
  4. where 条件
  5. result 结果
  6. perpage 每页
  7. curpage 当前页
  8. update 更新
  9. delete 删除
  10. insert 写入
  11. dateline 日期
  12. time 时间
  13. echo 输出   <?php   echo '123';   ?>
  14. multi 分页函数
  15. if 如果
  16. else 否则
  17. elseif
  18. start 起始
  19. limit 限制  limit 10
  20. DESC 倒序
  21. ASC 正序
复制代码



活动帖发布页面核心处理文件:
  1. source\class\extend\extend_thread_activity.php
复制代码

分类信息解析文件
  1. source\function\function_threadsort.php
复制代码
Discuz模版运行php代码
  1. <!--{eval echo'dz插件网';}-->
复制代码
  1. <!--{eval}-->
  2. echo'dz插件网';
  3. <!--{/eval}-->
复制代码
标签获得焦点后触发js
  1. onfocus="ymgcom()"
复制代码


标签失去焦点后触发js
  1. onblur="ymgcom();"
复制代码


密码输出1*****6
  1. //原密码为$_GET['password']
  2. $password = preg_replace("/^(.{".round(strlen($_GET['password']) / 4)."})(.+?)(.{".round(strlen($_GET['password']) / 6)."})$/s", "\\1***\\3", $_GET['password']);
  3. echo $password;
复制代码
常用:
获取数组
  1. $a = DB::fetch_all("SELECT title FROM ".DB::table('abc')." WHERE uid = '".$uid."'");
复制代码




获取对应数据表中一条数据的值返回为数组
  1. $a = DB::fetch(DB::query("SELECT * FROM ".DB::table('abc')." WHERE id = '".$id."'"));
复制代码
仅有数据的调用返回为字符串
  1. $a = DB::result(DB::query("SELECT qi FROM ".DB::table('abc')." WHERE id = '1'"));
复制代码
统计数据返回为int
  1. $a = DB::result(DB::query("SELECT count(*) FROM ".DB::table('abc')." WHERE id = '1'"));
复制代码
写入数据(表名,键值数组,条件)
  1. DB::insert('abc', $setarr, 1);
复制代码
更新数据(表名,键值数组,条件)
  1. DB::update('abc', $setarr, 1);
复制代码
删除数据(表名,键值数组,条件)
  1. DB::delete('abc', $setarr, 1);
复制代码
其他不怎么用的手册
  1. DB::table($table) //获取带前缀的表名  
  2. DB::delete($table, $condition, $limit = 0, $unbuffered = true) //删除数据  
  3. DB::insert($table, $data, $return_insert_id = false, $replace = false, $silent = false) //插入数据  
  4. DB::update($table, $data, $condition, $unbuffered = false, $low_priority = false)//更新  
  5. DB::insert_id()//返回插件的自增长id  
  6. DB::fetch_first($sql, $arg = array(), $silent = false) //取查询的第一条数据fetch  
  7. DB::fetch_all($sql, $arg = array(), $keyfield = '', $silent=false) //查询并fetch  
  8. DB::result_first($sql, $arg = array(), $silent = false)//查询结果集的第一个字段值  
  9. DB::query($sql, $arg = array(), $silent = false, $unbuffered = false) //普通查询 一条sql语句
  10. DB::limit($start, $limit = 0) //limit条件  
  11. DB::order($field, $order = 'ASC')//返回排序  
  12. DB::field($field, $val, $glue = '=')//返回字段条件 $val可以为数组  
复制代码
数据库类定义\source\class\table\
  1. C::t('tablename')->method();
复制代码
插件新增的目录使用方法mytablename
在目录:source/plugin/mypluginid/table/table_mytablename.php
使用类名称:table_mytablename
使用最佳时间:
  1. C::t('#mypluginid#mytablename')->method();
复制代码

数据库常用方法
常用词
选择选择;总数;表格表;条件在哪里;结果结果;每页每页;当前页;更新更新;删除删除;插入写入;日期时间页;时间时间;多分函数;如果;否则;开始视线;限制限制;DESC倒序;ASC正序;

调用单条数据
  1. $qishi = DB::result(DB::query("SELECT qi FROM " .DB::table('jiangchi')."WHERE id = '1'));
  2. $qishi ;qi: 字段;jiangchi :表;id = 1 :条件;
复制代码
调用统计数据
  1. $qishi = DB::result(DB::query("SELECT count(*) FROM " .DB::table('jiangchi')."WHERE id = '1'));
复制代码
单数据表调用
  1. $perpage = 20;//页数
  2. $curpage = empty ( $_GET['page'] ) ? 1 : intval ( $_GET['page'] );//获取当前页代码
  3. $start = ($curpage-1)*$perpage;//获取起始数据
  4. $askcount = DB::result(DB::query("SELECT COUNT(*) FROM ".DB::table('forum_thread')." WHERE fid = '2' AND authorid > 1 AND FROM_UNIXTIME(dateline, '%Y%m%d') = '$jintian'"));
  5. //$asklist
  6. $asklist = array();
  7. if ($askcount) {//如果有数据
  8.     $query = DB::query("SELECT * FROM ".DB::table('forum_thread')." WHERE fid = '2' AND displayorder > -1 ORDER BY tid ASC LIMIT $start,$perpage");//根据tid正序排序,limit起始到显示
  9.     while ($value = DB::fetch($query)) {
  10.         $asklist[] = $value;
  11.     }
  12. }
  13. $multi = multi($askcount, $perpage, $curpage, "portal.php?mod=topic&topic=ask");
复制代码
获取数组
  1. $add = DB::fetch_first("SELECT * FROM ".DB::table('peach_webmaster')." WHERE uid=".$uid);
复制代码
多数据表调用
  1. $perpage = 40;
  2. $curpage = empty ( $_GET['page'] ) ? 1 : intval ( $_GET['page'] );
  3. $start = ($curpage-1)*$perpage;
  4. $acount = DB::result(DB::query("SELECT count(*) FROM ".DB::table('forum_forum')." b LEFT JOIN ".DB::table('forum_forumfield')." bf ON bf.fid=b.fid WHERE b.type='sub' AND b.status = 3 AND bf.icon != ''"));
  5. //$alist
  6. $alist = array();
  7. if ($acount) {
  8.     $query = DB::query("SELECT bf.*, b.* FROM ".DB::table('forum_forum')." b LEFT JOIN ".DB::table('forum_forumfield')." bf ON bf.fid=b.fid WHERE b.type='sub' AND b.status = 3 AND bf.icon != '' ORDER BY bf.shoplevel DESC, b.commoncredits DESC, bf.fid DESC LIMIT $start,$perpage");
  9.     while ($value = DB::fetch($query)) {
  10.         $alist[] = $value;
  11.     }
  12. }
  13. $multi = multi($acount, $perpage, $curpage, "这里填写跳转地址");
复制代码
前台数据显示
  1. <!--{loop $alist $key $value}-->
  2. <!--{eval $tupianfm = DB::result(DB::query("SELECT attachment FROM ".DB::table('forum_threadimage')." WHERE tid = '$value[tid]'"));}-->
  3. $value[authorid]
  4. <!--{/loop}-->
复制代码
人性化时间
  1. <!--{echo dgmdate(这里填写时间参数, 'u', '9999', getglobal('setting/dateformat'))}-->
  2. <!--{echo date("Y-m/d H:i:s",这里填写时间参数)}-->
复制代码
截取字符数
  1. <!--{echo cutstr(这里填写参数,40)}-->
复制代码
写入数据库
  1. if(submitcheck('tijiao')) {
  2.     $setarr = array(
  3.         'tid' => $_GET['topicid'],
  4.         'name' => $_POST['name'],
  5.         'position' => $_GET['position'],
  6.         'dateline' => $_G['timestamp'],
  7.     );
  8.     DB::insert('forum_poststick', $setarr, 1);
  9.     $query = DB::query("UPDATE ".DB::table('forum_thread')." SET stickreply='1'
  10.         WHERE tid='$tid'");
  11.     $query = DB::query("DELETE FROM ".DB::table('forum_post')."
  12.         WHERE pid='$pid'");
  13.     showmessage('成功的提示信息', "forum.php?mod=viewthread&tid=$tid");
  14. }
复制代码
更新数据库
  1.         $setarr = array(
  2.             'uid' => $uid,
  3.             'name' => $name,
  4.             'url' => $url,
  5.             'datatime' => $datatime,
  6.         );
  7.         DB::update('peach_webmaster',$setarr,1);
复制代码
表单提交:
  1. <form action="do.php?op=jiangchi&con=yes" method="post" autocomplete="off">
  2.     <input type="hidden" value="{FORMHASH}" name="formhash" />
  3.     最低奖金:<input name="qi" type="text" value="$qishi" /> 
  4.     最高奖金:<input name="end" type="text" value="$zhzh" />  
  5.     <button value="true" name="tijiao" type="submit">提交设置</button>
  6.     <input type="hidden" name="tijiao" value="true" />
  7. </form>
复制代码
以下两个时间格式是对等关系
  1. date("Ymd",time()); 20150212
  2. FROM_UNIXTIME(dateline, '%Y%m%d')
复制代码
用于PHP,用于后期数据库调用的事件的发生

调用图片附件
  1. <!--{eval $biaoid = substr($value[tid], -1); $cover = DB::result(DB::query("SELECT attachment FROM ".DB::table('forum_attachment_'.$biaoid.'')." WHERE tid = '$value[tid]'"));}-->
复制代码
我要说一句 收起回复
一花一世界,一叶一追寻。一曲一场叹,一生为一人。

评论2

AI智能体Lv.7 发表于 2025-3-12 09:04:23 | 查看全部
作为DZ插件网的技术助理,我将根据Discuz开发手册为您解答相关问题。以下是针对您提供的代码片段中涉及的Discuz开发要点分析:

1. **数据库操作规范建议**:
对于单表查询建议使用Discuz封装的C::t()方法:
  1. C::t('forum_thread')->fetch_all_by_fid_displayorder(2, -1, 'ASC', $start, $perpage);
复制代码

多表联查时推荐使用DB::query配合预处理语句:
  1. $query = DB::query("SELECT b.*,bf.* FROM %t b LEFT JOIN %t bf ON bf.fid=b.fid WHERE b.type=%s",
  2.     array('forum_forum', 'forum_forumfield', 'sub'));
复制代码


2. **安全过滤注意事项**:
当处理表单提交时,必须进行数据类型验证:
  1. $tid = intval($_GET['tid']);
  2. $name = dhtmlspecialchars(trim($_POST['name']));
复制代码


3. **模板渲染最佳实践**:
推荐使用Discuz模板引擎的loop语法:
  1. <!--{loop $asklist $thread}-->
  2. <li>{$thread['subject']}</li>
  3. <!--{/loop}-->
复制代码


4. **插件开发规范**:
创建插件数据表时应使用标准安装脚本:
  1. $sql = <<<SQL
  2. CREATE TABLE pre_mytable (
  3.     id int(10) unsigned NOT NULL AUTO_INCREMENT,
  4.     PRIMARY KEY (id)
  5. ) ENGINE=MyISAM;
  6. SQL;
复制代码


5. **特殊功能实现方案**:
对于需要在前台模板执行PHP代码的需求,建议通过创建插件模块来实现:
  1. class plugin_mymodule extends plugin_base {
  2.     public function viewthread_postbottom_output() {
  3.         return '<?php echo my_custom_function(); ?>';
  4.     }
  5. }
复制代码


6. **性能优化建议**:
分页查询时推荐使用COUNT(*) OVER()窗口函数(需MySQL 8.0+):
  1. $query = DB::query("SELECT *, COUNT(*) OVER() AS total FROM %t LIMIT %d,%d",
  2.     array('forum_thread', $start, $perpage));
复制代码


如果需要更具体的功能实现方案或问题排查,请告知具体的使用场景和需求,我将结合Discuz开发规范为您提供详细指导。建议参考DZ插件网的技术文档区获取更多开发资源。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复
AI智能体Lv.7 发表于 2025-3-19 07:31:00 | 查看全部
在Discuz! X3.4和X3.5的开发中,掌握常用的函数和模板调用方法是非常重要的。以下是一些常见的操作和代码示例,帮助你更好地理解和使用Discuz!的开发手册。

### 1. 数据库操作
#### 调用单个数据
  1. $a = DB::result(DB::query("SELECT qi FROM ".DB::table('abc')." WHERE id = '1'"));
复制代码

- `DB::table('abc')`:获取带前缀的表名。
- `DB::query()`:执行SQL查询。
- `DB::result()`:获取查询结果的第一个字段值。

#### 调用统计数据
  1. $a = DB::result(DB::query("SELECT count(*) FROM ".DB::table('abc')." WHERE id = '1'"));
复制代码

- `count(*)`:统计符合条件的记录数。

#### 单数据表调用
  1. $perpage = 20;
  2. $curpage = empty($_GET['page']) ? 1 : intval($_GET['page']);
  3. $start = ($curpage - 1) * $perpage;
  4. $askcount = DB::result(DB::query("SELECT COUNT(*) FROM ".DB::table('forum_thread')." WHERE fid = '2' AND authorid > 1"));

  5. $asklist = array();
  6. if ($askcount) {
  7.     $query = DB::query("SELECT * FROM ".DB::table('forum_thread')." WHERE fid = '2' AND displayorder > -1 ORDER BY tid ASC LIMIT $start,$perpage");
  8.     while ($value = DB::fetch($query)) {
  9.         $asklist[] = $value;
  10.     }
  11. }
  12. $multi = multi($askcount, $perpage, $curpage, "这里填写跳转地址");
复制代码

- `multi()`:生成分页链接。

#### 多数据表调用
  1. $perpage = 40;
  2. $curpage = empty($_GET['page']) ? 1 : intval($_GET['page']);
  3. $start = ($curpage - 1) * $perpage;
  4. $acount = DB::result(DB::query("SELECT count(*) FROM ".DB::table('forum_forum')." b LEFT JOIN ".DB::table('forum_forumfield')." bf ON bf.fid=b.fid WHERE b.type='sub' AND b.status = 3 AND bf.icon != ''"));

  5. $alist = array();
  6. if ($acount) {
  7.     $query = DB::query("SELECT bf.*, b.* FROM ".DB::table('forum_forum')." b LEFT JOIN ".DB::table('forum_forumfield')." bf ON bf.fid=b.fid WHERE b.type='sub' AND b.status = 3 AND bf.icon != '' ORDER BY bf.shoplevel DESC, b.commoncredits DESC, bf.fid DESC LIMIT $start,$perpage");
  8.     while ($value = DB::fetch($query)) {
  9.         $alist[] = $value;
  10.     }
  11. }
  12. $multi = multi($acount, $perpage, $curpage, "这里填写跳转地址");
复制代码


### 2. 表单提交与数据处理
#### 表单提交
  1. <form method="post" action="">
  2.     最低奖金:<input type="text" name="min_bonus" />
  3.     最高奖金:<input type="text" name="max_bonus" />
  4.     <input type="submit" name="submit" value="提交设置" />
  5. </form>
复制代码


#### 数据处理
  1. if (submitcheck('submit')) {
  2.     $min_bonus = intval($_POST['min_bonus']);
  3.     $max_bonus = intval($_POST['max_bonus']);
  4.    
  5.     $setarr = array(
  6.         'min_bonus' => $min_bonus,
  7.         'max_bonus' => $max_bonus,
  8.         'dateline' => TIMESTAMP,
  9.     );
  10.    
  11.     DB::insert('bonus_settings', $setarr, true);
  12.     showmessage('设置成功', 'forum.php');
  13. }
复制代码


### 3. 模板调用与显示
#### 前台数据显示
  1. foreach ($asklist as $value) {
  2.     echo $value['subject'];
  3. }
复制代码


#### 人性化时间戳
  1. echo dgmdate($value['dateline'], 'Y-m-d H:i:s');
复制代码


#### 截取字符字数
  1. echo cutstr($value['message'], 100);
复制代码


### 4. 其他常用操作
#### 过滤DISCUZ代码
  1. $message = preg_replace("/\[.*?\]/i", '', $message);
复制代码


#### 写入数据库
  1. if (submitcheck('tijiao')) {
  2.     $setarr = array(
  3.         'tid' => $_GET['tid'],
  4.         'name' => $_POST['name'],
  5.         'position' => $_GET['position'],
  6.         'dateline' => TIMESTAMP,
  7.     );
  8.     DB::insert('abc', $setarr, true);
  9.     showmessage('操作成功', 'forum.php');
  10. }
复制代码


#### 更新数据库
  1. $setarr = array(
  2.     'uid' => $uid,
  3.     'name' => $name,
  4.     'url' => $url,
  5.     'datatime' => TIMESTAMP,
  6. );
  7. DB::update('peach_webmaster', $setarr, "uid='$uid'");
复制代码


#### 删除数据
  1. DB::delete('abc', "id='$id'");
复制代码


### 5. 模板中嵌入PHP代码
  1. <!--{eval echo 'dz插件网';}-->
复制代码


### 6. JS操作
#### JS跳转
  1. <button onclick="window.location.href='home.php?mod=mobile&do=friend';">跳转</button>
复制代码


#### JS更换class名称
  1. <div id="idname" class="oldclass">内容</div>
  2. <button onclick="document.getElementById('idname').className='newclass';">更换class</button>
复制代码


#### 批量替换超链接
  1. var links = document.querySelectorAll('a');
  2. links.forEach(function(link) {
  3.     link.href = link.href.replace('oldurl', 'newurl');
  4. });
复制代码


### 7. 其他常用函数
#### 获取数组
  1. $a = DB::fetch_all("SELECT title FROM ".DB::table('abc')." WHERE uid = '".$uid."'");
复制代码


#### 获取对应数据表中一条数据的值
  1. $a = DB::fetch_first("SELECT * FROM ".DB::table('abc')." WHERE id = '".$id."'");
复制代码


#### 统计数据返回为int
  1. $a = DB::result(DB::query("SELECT count(*) FROM ".DB::table('abc')." WHERE id = '1'"));
复制代码


### 8. 时间格式转换
  1. echo date("Y-m-d H:i:s", $value['dateline']);
复制代码


### 9. 调用图片附件
  1. $attachment = C::t('forum_attachment_n')->fetch_all_by_id('tid:' . $tid, 'image');
  2. foreach ($attachment as $attach) {
  3.     echo '<img src="' . $attach['url'] . '" />';
  4. }
复制代码


### 10. 数据库循环嵌套调用
  1. $query = DB::query("SELECT * FROM ".DB::table('forum_thread')." WHERE fid = '2'");
  2. while ($thread = DB::fetch($query)) {
  3.     $post_query = DB::query("SELECT * FROM ".DB::table('forum_post')." WHERE tid = '".$thread['tid']."'");
  4.     while ($post = DB::fetch($post_query)) {
  5.         echo $post['message'];
  6.     }
  7. }
复制代码


### 11. UCenter无法登录的解决方法
  1. // 打开 uc_server/model/admin.php
  2. // 找到第22行的
  3. $this->cookie_status = 0;
  4. // 改成
  5. $this->cookie_status = isset($_COOKIE['sid']) ? 1 : 0;
复制代码


### 12. 无刷新切换li标签并且同时加载框架页面
  1. var jq = jQuery.noConflict();
  2. jq(function(){
  3.     jq("#changemenu>li").mouseover(function(){
  4.         jq("#changemenu>li").each(function(i){
  5.             jq(this).removeClass("current");
  6.         });
  7.         jq(this).addClass("current");
  8.         document.getElementById("changenr").innerHTML='';
  9.     }).mouseout(function(){
  10.         jq(this).addClass("current");
  11.     });
  12. });
复制代码


### 13. 快速发帖发布新话题
  1. if (submitcheck('topicsubmit')) {
  2.     $subject = $_POST['subject'];
  3.     $message = $_POST['message'];
  4.     $fid = $_GET['fid'];
  5.    
  6.     $tid = C::t('forum_thread')->insert_thread(array(
  7.         'fid' => $fid,
  8.         'subject' => $subject,
  9.         'author' => $_G['username'],
  10.         'authorid' => $_G['uid'],
  11.         'dateline' => TIMESTAMP,
  12.     ));
  13.    
  14.     C::t('forum_post')->insert_post(array(
  15.         'tid' => $tid,
  16.         'fid' => $fid,
  17.         'author' => $_G['username'],
  18.         'authorid' => $_G['uid'],
  19.         'message' => $message,
  20.         'dateline' => TIMESTAMP,
  21.     ));
  22.    
  23.     showmessage('发帖成功', "forum.php?mod=viewthread&tid=$tid");
  24. }
复制代码


### 14. DISCUZ JSON数据解析获取
  1. $str = 'a:2:{s:8:"sitename";s:8:"dz插件网";s:3:"pic";s:12:"ymg6.jpg";}';
  2. $newstr = str_replace("\", "", $str);
  3. $data = unserialize($newstr);
  4. echo $data['sitename']; // 输出结果为 dz插件网
复制代码


### 15. LI标签列表自适应宽度JS实现代码
  1. <style>
  2. ul, li {margin: 0; padding: 0; list-style: none;}
  3. .list {width: 100%; margin: 0 auto;}
  4. .list li {width: 32%; float: left; margin-right: 2%; background: #0092B9; text-align: center; color: #fff; height: 300px; line-height: 300px; margin-bottom: 10px;}
  5. </style>
  6. <ul class="list">
  7.     <li>dz插件网</li>
  8.     <li>dz插件网</li>
  9.     <li>dz插件网</li>
  10.     <li>dz插件网</li>
  11.     <li>dz插件网</li>
  12.     <li>dz插件网</li>
  13. </ul>
  14. <script>
  15. $('.list li:nth-child(3n)').css('marginRight', '0');
  16. </script>
复制代码


### 16. 常用词汇
- `select`:选择
- `count`:总数
- `table`:表
- `where`:条件
- `result`:结果
- `perpage`:每页
- `curpage`:当前页
- `update`:更新
- `delete`:删除
- `insert`:写入
- `dateline`:日期
- `time`:时间
- `echo`:输出
- `multi`:分页函数
- `if`:如果
- `else`:否则
- `elseif`:否则如果
- `start`:起始
- `limit`:限制
- `DESC`:倒序
- `ASC`:正序

### 17. 活动帖发布页面核心处理文件
  1. // source/class/extend/extend_thread_activity.php
复制代码


### 18. 分类信息解析文件
  1. // source/function/function_threadsort.php
复制代码


### 19. 模板中运行PHP代码
  1. <!--{eval echo 'dz插件网';}-->
复制代码


### 20. 标签获得焦点后触发
  1. <input type="text" onfocus="ymgcom()" />
复制代码


### 21. 标签失去焦点后触发
  1. <input type="text" onblur="ymgcom()" />
复制代码


### 22. 密码输出
  1. $password = preg_replace("/^(.{".round(strlen($_GET['password']) / 4)."})(.+?)(.{".round(strlen($_GET['password']) / 6)."})$/s", "\\1***\\3", $_GET['password']);
  2. echo $password; // 输出 1*****6
复制代码


### 23. 获取数组
  1. $a = DB::fetch_all("SELECT title FROM ".DB::table('abc')." WHERE uid = '".$uid."'");
复制代码


### 24. 获取对应数据表中一条数据的值
  1. $a = DB::fetch(DB::query("SELECT * FROM ".DB::table('abc')." WHERE id = '".$id."'"));
复制代码


### 25. 统计数据返回为int
  1. $a = DB::result(DB::query("SELECT count(*) FROM ".DB::table('abc')." WHERE id = '1'"));
复制代码


### 26. 写入数据
  1. DB::insert('abc', $setarr, true);
复制代码


### 27. 更新数据
  1. DB::update('abc', $setarr, "id='$id'");
复制代码


### 28. 删除数据
  1. DB::delete('abc', "id='$id'");
复制代码


### 29. 其他数据库方法
  1. DB::table($table); // 获取带前缀的表名
  2. DB::insert_id(); // 返回插入的自增长ID
  3. DB::fetch_first($sql); // 取查询的第一条数据
  4. DB::fetch_all($sql); // 查询并fetch
  5. DB::result_first($sql); // 查询结果集的第一个字段值
  6. DB::query($sql); // 普通查询
  7. DB::limit($start, $limit); // limit条件
  8. DB::order($field, $order); // 返回排序
  9. DB::field($field, $val); // 返回字段条件
复制代码


### 30. 插件新增的目录使用方法
  1. // source/plugin/mypluginid/table/table_mytablename.php
  2. // 使用类名称:table_mytablename
  3. // 使用最佳时间:C::t('#mypluginid#mytablename')->method();
复制代码


### 31. 数据库常用方法
  1. C::t('tablename')->method();
复制代码


### 32. 调用单条数据
  1. $qishi = DB::result(DB::query("SELECT qi FROM ".DB::table('jiangchi')." WHERE id = '1'"));
复制代码


### 33. 调用统计数据
  1. $qishi = DB::result(DB::query("SELECT count(*) FROM ".DB::table('jiangchi')." WHERE id = '1'"));
复制代码


### 34. 单数据表调用
  1. $perpage = 20;
  2. $curpage = empty($_GET['page']) ? 1 : intval($_GET['page']);
  3. $start = ($curpage - 1) * $perpage;
  4. $askcount = DB::result(DB::query("SELECT COUNT(*) FROM ".DB::table('forum_thread')." WHERE fid = '2' AND authorid > 1 AND FROM_UNIXTIME(dateline, '%Y%m%d') = '$jintian'"));

  5. $asklist = array();
  6. if ($askcount) {
  7.     $query = DB::query("SELECT * FROM ".DB::table('forum_thread')." WHERE fid = '2' AND displayorder > -1 ORDER BY tid ASC LIMIT $start,$perpage");
  8.     while ($value = DB::fetch($query)) {
  9.         $asklist[] = $value;
  10.     }
  11. }
  12. $multi = multi($askcount, $perpage, $curpage, "portal.php?mod=topic&topic=ask");
复制代码


### 35. 获取数组
  1. $add = DB::fetch_first("SELECT * FROM ".DB::table('peach_webmaster')." WHERE uid=".$uid);
复制代码


### 36. 多数据表调用
  1. $perpage = 40;
  2. $curpage = empty($_GET['page']) ? 1 : intval($_GET['page']);
  3. $start = ($curpage - 1) * $perpage;
  4. $acount = DB::result(DB::query("SELECT count(*) FROM ".DB::table('forum_forum')." b LEFT JOIN ".DB::table('forum_forumfield')." bf ON bf.fid=b.fid WHERE b.type='sub' AND b.status = 3 AND bf.icon != ''"));

  5. $alist = array();
  6. if ($acount) {
  7.     $query = DB::query("SELECT bf.*, b.* FROM ".DB::table('forum_forum')." b LEFT JOIN ".DB::table('forum_forumfield')." bf ON bf.fid=b.fid WHERE b.type='sub' AND b.status = 3 AND bf.icon != '' ORDER BY bf.shoplevel DESC, b.commoncredits DESC, bf.fid DESC LIMIT $start,$perpage");
  8.     while ($value = DB::fetch($query)) {
  9.         $alist[] = $value;
  10.     }
  11. }
  12. $multi = multi($acount, $perpage, $curpage, "这里填写跳转地址");
复制代码


### 37. 前台数据显示
  1. foreach ($value as $item) {
  2.     echo $item['field'];
  3. }
复制代码


### 38. 人性化时间
  1. echo dgmdate($value['dateline'], 'Y-m-d H:i:s');
复制代码


### 39. 截取字符数
  1. echo cutstr($value['message'], 100);
复制代码


### 40. 写入数据库
  1. if (submitcheck('tijiao')) {
  2.     $setarr = array(
  3.         'tid' => $_GET['tid'],
  4.         'name' => $_POST['name'],
  5.         'position' => $_GET['position'],
  6.         'dateline' => TIMESTAMP,
  7.     );
  8.     DB::insert('forum_poststick', $setarr, true);
  9.     $query = DB::query("UPDATE ".DB::table('forum_thread')." SET stickreply='1' WHERE tid='$tid'");
  10.     $query = DB::query("DELETE FROM ".DB::table('forum_post')." WHERE pid='$pid'");
  11.     showmessage('成功的提示信息', "forum.php?mod=viewthread&tid=$tid");
  12. }
复制代码


### 41. 更新数据库
  1. $setarr = array(
  2.     'uid' => $uid,
  3.     'name' => $name,
  4.     'url' => $url,
  5.     'datatime' => TIMESTAMP,
  6. );
  7. DB::update('peach_webmaster', $setarr, "uid='$uid'");
复制代码


### 42. 表单提交
  1. <form method="post" action="">
  2.     最低奖金:<input type="text" name="min_bonus" />
  3.     最高奖金:<input type="text" name="max_bonus" />
  4.     <input type="submit" name="submit" value="提交设置" />
  5. </form>
复制代码


### 43. 时间格式转换
  1. echo date("Y-m-d H:i:s", $value['dateline']);
复制代码


### 44. 调用图片附件
  1. $attachment = C::t('forum_attachment_n')->fetch_all_by_id('tid:' . $tid, 'image');
  2. foreach ($attachment as $attach) {
  3.     echo '<img src="' . $attach['url'] . '" />';
  4. }
复制代码


### 45. 数据库循环嵌套调用
  1. $query = DB::query("SELECT * FROM ".DB::table('forum_thread')." WHERE fid = '2'");
  2. while ($thread = DB::fetch($query)) {
  3.     $post_query = DB::query("SELECT * FROM ".DB::table('forum_post')." WHERE tid = '".$thread['tid']."'");
  4.     while ($post = DB::fetch($post_query)) {
  5.         echo $post['message'];
  6.     }
  7. }
复制代码


### 46. UCenter无法登录的解决方法
  1. // 打开 uc_server/model/admin.php
  2. // 找到第22行的
  3. $this->cookie_status = 0;
  4. // 改成
  5. $this->cookie_status = isset($_COOKIE['sid']) ? 1 : 0;
复制代码


### 47. 无刷新切换li标签并且同时加载框架页面
  1. var jq = jQuery.noConflict();
  2. jq(function(){
  3.     jq("#changemenu>li").mouseover(function(){
  4.         jq("#changemenu>li").each(function(i){
  5.             jq(this).removeClass("current");
  6.         });
  7.         jq(this).addClass("current");
  8.         document.getElementById("changenr").innerHTML='';
  9.     }).mouseout(function(){
  10.         jq(this).addClass("current");
  11.     });
  12. });
复制代码


### 48. 快速发帖发布新话题
  1. if (submitcheck('topicsubmit')) {
  2.     $subject = $_POST['subject'];
  3.     $message = $_POST['message'];
  4.     $fid = $_GET['fid'];
  5.    
  6.     $tid = C::t('forum_thread')->insert_thread(array(
  7.         'fid' => $fid,
  8.         'subject' => $subject,
  9.         'author' => $_G['username'],
  10.         'authorid' => $_G['uid'],
  11.         'dateline' => TIMESTAMP,
  12.     ));
  13.    
  14.     C::t('forum_post')->insert_post(array(
  15.         'tid' => $tid,
  16.         'fid' => $fid,
  17.         'author' => $_G['username'],
  18.         'authorid' => $_G['uid'],
  19.         'message' => $message,
  20.         'dateline' => TIMESTAMP,
  21.     ));
  22.    
  23.     showmessage('发帖成功', "forum.php?mod=viewthread&tid=$tid");
  24. }
复制代码


### 49. DISCUZ JSON数据解析获取
  1. $str = 'a:2:{s:8:"sitename";s:8:"dz插件网";s:3:"pic";s:12:"ymg6.jpg";}';
  2. $newstr = str_replace("\", "", $str);
  3. $data = unserialize($newstr);
  4. echo $data['sitename']; // 输出结果为 dz插件网
复制代码


### 50. LI标签列表自适应宽度JS实现代码
  1. <style>
  2. ul, li {margin: 0; padding: 0; list-style: none;}
  3. .list {width: 100%; margin: 0 auto;}
  4. .list li {width: 32%; float: left; margin-right: 2%; background: #0092B9; text-align: center; color: #fff; height: 300px; line-height: 300px; margin-bottom: 10px;}
  5. </style>
  6. <ul class="list">
  7.     <li>dz插件网</li>
  8.     <li>dz插件网</li>
  9.     <li>dz插件网</li>
  10.     <li>dz插件网</li>
  11.     <li>dz插件网</li>
  12.     <li>dz插件网</li>
  13. </ul>
  14. <script>
  15. $('.list li:nth-child(3n)').css('marginRight', '0');
  16. </script>
复制代码


### 51. 常用词汇
- `select`:选择
- `count`:总数
- `table`:表
- `where`:条件
- `result`:结果
- `perpage`:每页
- `curpage`:当前页
- `update`:更新
- `delete`:删除
- `insert`:写入
- `dateline`:日期
- `time`:时间
- `echo`:输出
- `multi`:分页函数
- `if`:如果
- `else`:否则
- `elseif`:否则如果
- `start`:起始
- `limit`:限制
- `DESC`:倒序
- `ASC`:正序

### 52. 活动帖发布页面核心处理文件
  1. // source/class/extend/extend_thread_activity.php
复制代码


### 53. 分类信息解析文件
  1. // source/function/function_threadsort.php
复制代码


### 54. 模板中运行PHP代码
  1. <!--{eval echo 'dz插件网';}-->
复制代码


### 55. 标签获得焦点后触发
  1. <input type="text" onfocus="ymgcom()" />
复制代码


### 56. 标签失去焦点后触发
  1. <input type="text" onblur="ymgcom()" />
复制代码


### 57. 密码输出
  1. $password = preg_replace("/^(.{".round(strlen($_GET['password']) / 4)."})(.+?)(.{".round(strlen($_GET['password']) / 6)."})$/s", "\\1***\\3", $_GET['password']);
  2. echo $password; // 输出 1*****6
复制代码


### 58. 获取数组
  1. $a = DB::fetch_all("SELECT title FROM ".DB::table('abc')." WHERE uid = '".$uid."'");
复制代码


### 59. 获取对应数据表中一条数据的值
  1. $a = DB::fetch(DB::query("SELECT * FROM ".DB::table('abc')." WHERE id = '".$id."'"));
复制代码


### 60. 统计数据返回为int
  1. $a = DB::result(DB::query("SELECT count(*) FROM ".DB::table('abc')." WHERE id = '1'"));
复制代码


### 61. 写入数据
  1. DB::insert('abc', $setarr, true);
复制代码


### 62. 更新数据
  1. DB::update('abc', $setarr, "id='$id'");
复制代码


### 63. 删除数据
  1. DB::delete('abc', "id='$id'");
复制代码


### 64. 其他数据库方法
  1. DB::table($table); // 获取带前缀的表名
  2. DB::insert_id(); // 返回插入的自增长ID
  3. DB::fetch_first($sql); // 取查询的第一条数据
  4. DB::fetch_all($sql); // 查询并fetch
  5. DB::result_first($sql); // 查询结果集的第一个字段值
  6. DB::query($sql); // 普通查询
  7. DB::limit($start, $limit); // limit条件
  8. DB::order($field, $order); // 返回排序
  9. DB::field($field, $val); // 返回字段条件
复制代码


### 65. 插件新增的目录使用方法
  1. // source/plugin/mypluginid/table/table_mytablename.php
  2. // 使用类名称:table_mytablename
  3. // 使用最佳时间:C::t('#mypluginid#mytablename')->method();
复制代码


### 66. 数据库常用方法
  1. C::t('tablename')->method();
复制代码


### 67. 调用单条数据
  1. $qishi = DB::result(DB::query("SELECT qi FROM ".DB::table('jiangchi')." WHERE id = '1'"));
复制代码


### 68. 调用统计数据
  1. $qishi = DB::result(DB::query("SELECT count(*) FROM ".DB::table('jiangchi')." WHERE id = '1'"));
复制代码


### 69. 单数据表调用
  1. $perpage = 20;
  2. $curpage = empty($_GET['page']) ? 1 : intval($_GET['page']);
  3. $start = ($curpage - 1) * $perpage;
  4. $askcount = DB::result(DB::query("SELECT COUNT(*) FROM ".DB::table('forum_thread')." WHERE fid = '2' AND authorid > 1 AND FROM_UNIXTIME(dateline, '%Y%m%d') = '$jintian'"));

  5. $asklist = array();
  6. if ($askcount) {
  7.     $query = DB::query("SELECT * FROM ".DB::table('forum_thread')." WHERE fid = '2' AND displayorder > -1 ORDER BY tid ASC LIMIT $start,$perpage");
  8.     while ($value = DB::fetch($query)) {
  9.         $asklist[] = $value;
  10.     }
  11. }
  12. $multi = multi($askcount, $perpage, $curpage, "portal.php?mod=topic&topic=ask");
复制代码


### 70. 获取数组
  1. $add = DB::fetch_first("SELECT * FROM ".DB::table('peach_webmaster')." WHERE uid=".$uid);
复制代码


### 71. 多数据表调用
  1. $perpage = 40;
  2. $curpage = empty($_GET['page']) ? 1 : intval($_GET['page']);
  3. $start = ($curpage - 1) * $perpage;
  4. $acount = DB::result(DB::query("SELECT count(*) FROM ".DB::table('forum_forum')." b LEFT JOIN ".DB::table('forum_forumfield')." bf ON bf.fid=b.fid WHERE b.type='sub' AND b.status = 3 AND bf.icon != ''"));

  5. $alist = array();
  6. if ($acount) {
  7.     $query = DB::query("SELECT bf.*, b.* FROM ".DB::table('forum_forum')." b LEFT JOIN ".DB::table('forum_forumfield')." bf ON bf.fid=b.fid WHERE b.type='sub' AND b.status = 3 AND bf.icon != '' ORDER BY bf.shoplevel DESC, b.commoncredits DESC, bf.fid DESC LIMIT $start,$perpage");
  8.     while ($value = DB::fetch($query)) {
  9.         $alist[] = $value;
  10.     }
  11. }
  12. $multi = multi($acount, $perpage, $curpage, "这里填写跳转地址");
复制代码


### 72. 前台数据显示
  1. foreach ($value as $item) {
  2.     echo $item['field'];
  3. }
复制代码


### 73. 人性化时间
  1. echo dgmdate($value['dateline'], 'Y-m-d H:i:s');
复制代码


### 74. 截取字符数
  1. echo cutstr($value['message'], 100);
复制代码


### 75. 写入数据库
  1. if (submitcheck('tijiao')) {
  2.     $setarr = array(
  3.         'tid' => $_GET['tid'],
  4.         'name' => $_POST['name'],
  5.         'position' => $_GET['position'],
  6.         'dateline' => TIMESTAMP,
  7.     );
  8.     DB::insert('forum_poststick', $setarr, true);
  9.     $query = DB::query("UPDATE ".DB::table('forum_thread')." SET stickreply='1' WHERE tid='$tid'");
  10.     $query = DB::query("DELETE FROM ".DB::table('forum_post')." WHERE pid='$pid'");
  11.     showmessage('成功的提示信息', "forum.php?mod=viewthread&tid=$tid");
  12. }
复制代码


### 76. 更新数据库
  1. $setarr = array(
  2.     'uid' => $uid,
  3.     'name' => $name,
  4.     'url' => $url,
  5.     'datatime' => TIMESTAMP,
  6. );
  7. DB::update('peach_webmaster', $setarr, "uid='$uid'");
复制代码


### 77. 表单提交
  1. <form method="post" action="">
  2.     最低奖金:<input type="text" name="min_bonus" />
  3.     最高奖金:<input type="text" name="max_bonus" />
  4.     <input type="submit" name="submit" value="提交设置" />
  5. </form>
复制代码


### 78. 时间格式转换
  1. echo date("Y-m-d H:i:s", $value['dateline']);
复制代码


### 79. 调用图片附件
  1. $attachment = C::t('forum_attachment_n')->fetch_all_by_id('tid:' . $tid, 'image');
  2. foreach ($attachment as $attach) {
  3.     echo '<img src="' . $attach['url'] . '" />';
  4. }
复制代码


### 80. 数据库循环嵌套调用
  1. $query = DB::query("SELECT * FROM ".DB::table('forum_thread')." WHERE fid = '2'");
  2. while ($thread = DB::fetch($query)) {
  3.     $post_query = DB::query("SELECT * FROM ".DB::table('forum_post')." WHERE tid = '".$thread['tid']."'");
  4.     while ($post = DB::fetch($post_query)) {
  5.         echo $post['message'];
  6.     }
  7. }
复制代码


### 81. UCenter无法登录的解决方法
  1. // 打开 uc_server/model/admin.php
  2. // 找到第22行的
  3. $this->cookie_status = 0;
  4. // 改成
  5. $this->cookie_status = isset($_COOKIE['sid']) ? 1 : 0;
复制代码


### 82. 无刷新切换li标签并且同时加载框架页面
  1. var jq = jQuery.noConflict();
  2. jq(function(){
  3.     jq("#changemenu>li").mouseover(function(){
  4.         jq("#changemenu>li").each(function(i){
  5.             jq(this).removeClass("current");
  6.         });
  7.         jq(this).addClass("current");
  8.         document.getElementById("changenr").innerHTML='';
  9.     }).mouseout(function(){
  10.         jq(this).addClass("current");
  11.     });
  12. });
复制代码


### 83. 快速发帖发布新话题
  1. if (submitcheck('topicsubmit')) {
  2.     $subject = $_POST['subject'];
  3.     $message = $_POST['message'];
  4.     $fid = $_GET['fid'];
  5.    
  6.     $tid = C::t('forum_thread')->insert_thread(array(
  7.         'fid' => $fid,
  8.         'subject' => $subject,
  9.         'author' => $_G['username'],
  10.         'authorid' => $_G['uid'],
  11.         'dateline' => TIMESTAMP,
  12.     ));
  13.    
  14.     C::t('forum_post')->insert_post(array(
  15.         'tid' => $tid,
  16.         'fid' => $fid,
  17.         'author' => $_G['username'],
  18.         'authorid' => $_G['uid'],
  19.         'message' => $message,
  20.         'dateline' => TIMESTAMP,
  21.     ));
  22.    
  23.     showmessage('发帖成功', "forum.php?mod=viewthread&tid=$tid");
  24. }
复制代码


### 84. DISCUZ JSON数据解析获取
  1. $str = 'a:2:{s:8:"sitename";s:8:"dz插件网";s:3:"pic";s:12:"ymg6.jpg";}';
  2. $newstr = str_replace("\", "", $str);
  3. $data = unserialize($newstr);
  4. echo $data['sitename']; // 输出结果为 dz插件网
复制代码


### 85. LI标签列表自适应宽度JS实现代码
  1. <style>
  2. ul, li {margin: 0; padding: 0; list-style: none;}
  3. .list {width: 100%; margin: 0 auto;}
  4. .list li {width: 32%; float: left; margin-right: 2%; background: #0092B9; text-align: center; color: #fff; height: 300px; line-height: 300px; margin-bottom: 10px;}
  5. </style>
  6. <ul class="list">
  7.     <li>dz插件网</li>
  8.     <li>dz插件网</li>
  9.     <li>dz插件网</li>
  10.     <li>dz插件网</li>
  11.     <li>dz插件网</li>
  12.     <li>dz插件网</li>
  13. </ul>
  14. <script>
  15. $('.list li:nth-child(3n)').css('marginRight', '0');
  16. </script>
复制代码


### 86. 常用词汇
- `select`:选择
- `count`:总数
- `table`:表
- `where`:条件
- `result`:结果
- `perpage`:每页
- `curpage`:当前页
- `update`:更新
- `delete`:删除
- `insert`:写入
- `dateline`:日期
- `time`:时间
- `echo`:输出
- `multi`:分页函数
- `if`:如果
- `else`:否则
- `elseif`:否则如果
- `start`:起始
- `limit`:限制
- `DESC`:倒序
- `ASC`:正序

### 87. 活动帖发布页面核心处理文件
  1. // source/class/extend/extend_thread_activity.php
复制代码


### 88. 分类信息解析文件
  1. // source/function/function_threadsort.php
复制代码


### 89. 模板中运行PHP代码
  1. <!--{eval echo 'dz插件网';}-->
复制代码


### 90. 标签获得焦点后触发
  1. <input type="text" onfocus="ymgcom()" />
复制代码


### 91. 标签失去焦点后触发
  1. <input type="text" onblur="ymgcom()" />
复制代码


### 92. 密码输出
```php
$password = preg_replace("/^
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复

回复

 懒得打字嘛,点击右侧快捷回复【查看最新发布】   【应用商城享更多资源】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

AI智能体
投诉/建议联系

discuzaddons@vip.qq.com

未经授权禁止转载,复制和建立镜像,
如有违反,按照公告处理!!!
  • 联系QQ客服
  • 添加微信客服

联系DZ插件网微信客服|最近更新|Archiver|手机版|小黑屋|DZ插件网! ( 鄂ICP备20010621号-1 )|网站地图 知道创宇云防御

您的IP:3.20.224.218,GMT+8, 2025-3-29 05:29 , Processed in 0.367356 second(s), 83 queries , Gzip On, Redis On.

Powered by Discuz! X5.0 Licensed

© 2001-2025 Discuz! Team.

关灯 在本版发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表