杰奇cms通过sql查询自定义标签,基础级别

本文阅读 3 分钟
广告

模板开发会经常遇到一个问题,那就是你想要调用某个值的时候,发现当前的页面根本调用不出来,那么这就造成一个很尴尬的局面,直接造成页面上需要调用的数据根本就呈现不出来,而且杰奇cms本身没有像织梦那样的后台自定义字段的功能。问题怎么解决呢?其实首先的第一步就是解密,而且还需要一点儿php的基础,在这篇文章里我就不演示复杂的做法了,就举个简单的例子。
我想要调用当前用户的账户金额,怎么做?这就和我想调用小说总计有多少打赏,我想在首页调用特定的作者有几本书一样,变通一下基本万能,当然有些地方我也不太明确具体含义,得多练习。

调用当前用户的账户金额代码如下:

require_once("/configs/define.php");
@mysql_connect(constant("JIEQI_DB_HOST"), constant("JIEQI_DB_USER"),constant("JIEQI_DB_PASS"));  
@mysql_query("SET NAMES 'gbk'");
@mysql_select_db(constant("JIEQI_DB_NAME"));
include_once( JIEQI_ROOT_PATH."/header.php" );
include_once JIEQI_ROOT_PATH . '/class/users.php';
jieqi_includedb();
$query = JieqiQueryHandler::getInstance("JieqiQueryHandler");
$uid = $_SESSION["jieqiUserId"];
$u_q=@mysql_query("select egold from jieqi_system_users where uid = {$uid}") ;
$inum=mysql_num_rows($u_q); 
$egoldnums = mysql_result($u_q,'0','egold');
$jieqiTpl->assign("egoldnums", $egoldnums);

具体解析:
1.以下代码负责链接数据库,直接使用官方模式:

require_once("/configs/define.php");    //引入网站定义配置文件
@mysql_connect(constant("JIEQI_DB_HOST"), constant("JIEQI_DB_USER"),constant("JIEQI_DB_PASS"));  
@mysql_query("SET NAMES 'gbk'");
@mysql_select_db(constant("JIEQI_DB_NAME"));

2.以下代码为了查询当前用户的id,引入的那两个文件是为了调用出SESSION:

include_once( JIEQI_ROOT_PATH."/header.php" );     //引入header,session存在这里面
include_once JIEQI_ROOT_PATH . '/class/users.php';    //引入user模块的类定义
jieqi_includedb();
$query = JieqiQueryHandler::getInstance("JieqiQueryHandler");
$uid = $_SESSION["jieqiUserId"];

3.通过得到的id值查询用户余额,并且载入模板引擎:

$u_q=@mysql_query("select egold from jieqi_system_users where uid = {$uid}") ;   //执行语句
$inum=mysql_num_rows($u_q);     //获得执行的结果,实际上如果inum为零就相当于语句有问题,但是我这里懒得写判断了,正常情况下,需要判断inum抛出错误或者继续执行。
$egoldnums = mysql_result($u_q,'0','egold');    //从查询结果中遍历到第一条,拿到egold值(从0开始,所以0就算第一条),然后赋值给egoldnums
$jieqiTpl->assign("egoldnums", $egoldnums);    //将egoldnums载入模板引擎,这样页面上就直接通过{?$egoldnums?}调用。

然后再介绍一下,在阅读页调用小说二级标题,因为不需要拿去用户id,所以就比较简单的,毕竟已经得到了小说id的传值:

require_once("../../configs/define.php");
@mysql_connect(constant("JIEQI_DB_HOST"), constant("JIEQI_DB_USER"),constant("JIEQI_DB_PASS"));  
@mysql_query("SET NAMES 'gbk'");
@mysql_select_db(constant("JIEQI_DB_NAME"));
$o_q=@mysql_query("select backupname from jieqi_article_article where articleid = {$articleid}") ;
$inum=mysql_num_rows($o_q);
$backupname = mysql_result($o_q,'0','backupname');
$jieqiTpl->assign("backupname", $backupname);

具体的自己琢磨吧,这是很基本二次开发的玩法,不过提醒一下就是太多的sql的容易导致网站运行缓慢,更复杂的对于懂php的应该特别简单。

本文来自投稿,不代表本站立场,如若转载,请注明出处:https://www.ruletree.club/archives/787/
牧昇:我多想再见你
« 上一篇 07-11
沧湖:听听吧,这是我,唯一的故事
下一篇 » 07-15
广告

发表评论

成为第一个评论的人

作者信息

热门文章

标签TAG

热评文章