让dede运行php代码和mysql语句,交易系统

让dede运行php代码和mysql语句


文章摘要: 一、dede运行php代码 举例1: {dede:name runphp=yes} $str = hello ; @me = $str; @me .= world; {/dede:name} 结果: hello world 说明: name为任意定义的名字,@me 表示当前的值,也就是要输出最后一个@me的值。 举例2 {dede:field runphp=yes} $str = w


文章TAG: dedecms php

 

 

一、dede运行php代码

举例1:

{dede:name runphp='yes'} 
$str = "hello ";
@me = $str;
@me .= "world";
{/dede:name}

结果:hello world

说明:"name"为任意定义的名字,@me 表示当前的值,也就是要输出最后一个@me的值。


 

举例2

{dede:field runphp='yes'}
$str = "world";
$DedeMeValue="hello ";
$DedeMeValue .= $str;
{/dede:field}

结果:hello world

说明:如果直接引入PHP并要获得运行后的值,必须用 $DedeMeValue 表示运行这个PHP后最终返回的值(因此不能用HTML混合的写法)


 

举例3

{dede:list perpage='10'}
[field:id runphp="yes"]
$dsql = new DedeSql(false);
$a="select a.address FROM dede_addonarticle as a where a.aid=@me";
$arcRow = $dsql->GetOne($a);
@me=''.$arcRow[address].'';
[/field:id]
{/dede:list}


 

二、引用php文件(在网上看到的,没有亲自试验)

如果你想在include的文件中使用PHP,则加上 source='value'

{dede:include runphp='yes' source='value' file=''/}


三、 dede运行mysql语句

举例1

{dede:sql sql="SELECT COUNT(*) AS nums FROM dede_addonarticle"}
[field:name = "nums"/]
{/dede:sql}

输出的就是dede_addonarticle表的nums字段的值,查询出几条就输出几次


 

举例2

{dede:sql sql="SELECT * FROM dede_archives WHERE writer=~writer~"}
[field:id/]
{/dede:sql}

说明:~writer~为变量。如,在内容页模版中,调用的是a表,a表中有字段writer=xc,那么上面那条语句在这个内容页模板中就相当于SELECT * FROM dede_archives WHERE writer='xc',[field:id/]就是数据库dede_archives中的id字段

==========================================

dede数据库类使用方法 $dsql

 

dedecms的数据库操作类,非常实用,在二次开发中尤其重要,这个数据库操作类说明算是奉献给大家的小礼物了。

引入common.inc.php文件

1
require_once (dirname(__FILE__) . "/include/common.inc.php");

 

获取一条记录的内容

1
2
$row $dsql->GetOne("Select * From dede_* where id = $aid");
echo $row['id'];

 

将查询获取总数输出

1
2
$row $dsql->GetOne("select count(*) as dd where typeid = $typeid");
echo $row['dd'];//输出总数

  

将查询的若干条记录输出

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$sql "Select * from dede_*";
$dsql->SetQuery($sql);//将SQL查询语句格式化
$dsql->Execute();//执行SQL操作
//通过循环输出执行查询中的结果
while($row $dsql->GetArray()){
echo $row['id'];
echo $row['title'];
}
//或者采取这种方式输出内容
 
 
while($row $dsql->GetObject()){
echo $row->id;
echo $row->Title;
}

  

将查询的若干条记录输出dedecms5

1
2
3
4
5
6
7
$dsql->SetQuery("Select id,typename From `dgk_arctype` where reid=0 And channeltype=1 And ishidden=0 And ispart<>2 order by sortrank");
$dsql->Execute();
while($row=$dsql->GetObject())
{
    $channellist .= "<a href='wap.php?action=list&id={$row->id}'>{$row->typename}</a> ";
        echo $row->id;
}

  

插入一条记录

1
2
3
4
5
$sql = "
INSERT INTO `dede_member_flink`(mid,title,url,linktype,imgurl,imgwidth,imgheight)
VALUES(".$cfg_ml->M_ID.",'$title','$url','$linktype','$imgurl','$imgwidth','$imgheight');";//插入记录数据库
$dsql->SetQuery($sql);//格式化查询语句
$dsql->ExecNoneQuery();//执行SQL操作

  经实践证明,上面的语句不能正常插入数据库,下面是正确的语句

1
2
3
4
5
$sql = "
INSERT INTO `dede_member_flink`(mid,title,url,linktype,imgurl,imgwidth,imgheight)
VALUES(".$cfg_ml->M_ID.",'$title','$url','$linktype','$imgurl','$imgwidth','$imgheight');";//插入记录数据库
$dsql->ExecuteNoneQuery($sql);//执行SQL操作
$gid $dsql->GetLastID();//获取刚刚插入的id

  

删除一条记录

1
2
3
4
5
$sql "Delete From dede_member_flink where aid='$aid' And mid='".$cfg_ml->M_ID."';";
$dsql->SetQuery($sql);
$dsql->ExecNoneQuery();
//或者使用简化模式
$dsql->ExecNoneQuery("Delete From dede_member_flink where aid='$aid' And mid='".$cfg_ml->M_ID."';");

  

更新一条记录

1
2
3
4
5
6
7
$upquery = "
Update dede_member_flink set
title='$title',url='$url',linktype='$linktype',
imgurl='$imgurl',imgwidth='$imgwidth',imgheight='$imgheight'
where aid='$aid' And mid='".$cfg_ml->M_ID."';
";
$rs $dsql->ExecuteNoneQuery($upquery);

  

判断获取数据库内容的常用方法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
$row $dsql->GetOne("Select * From dede_moneycard_type where tid={$pid}");
if(!is_array($row)){
echo "失败";
exit();
}
 
/////////////////////////////
$upquery = " Update dede_member_flink set
title='$title',url='$url',linktype='$linktype',
imgurl='$imgurl',imgwidth='$imgwidth',imgheight='$imgheight'
where aid='$aid' And mid='".$cfg_ml->M_ID."';
";
$rs $dsql->ExecuteNoneQuery($upquery);
if($rs){
echo "成功";
}else{
echo "失败";
}

  

获取总数

1
2
3
4
$dsql new DedeSql(false);
$dsql->SetQuery("Select * from `dede_admin` where userid='$userid' Or uname='$uname'");
$dsql->Execute();
$ns $dsql->GetTotalRow();

  

关闭数据库

1
$dsql->Close();

  

实例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
<?php
/*
DedeCms 数据库使用实例说明
*/
require_once dirname(__FILE__)."pub_db_mysql.php";//引用数据库文件
 
//确保数据库信息填写正确
//数据库连接信息
$cfg_dbhost 'localhost';
$cfg_dbname 'sccms';
$cfg_dbuser 'root';
$cfg_dbpwd '123456';
$cfg_dbprefix 'sc_';
$cfg_db_language 'utf8';
 
//新建一个数据库操作类
$dsql new ScSql(false);
 
////////////////////////////////获取一条记录的内容///////////////////////////////
//下面是获取一条记录使用实例
$row $dsql->GetOne("Select * From dede_* where id = $aid");
//获取数据内容保存在数组$row中,通过下标可以将其调用出来
echo $row['id'];
//下面是循环调用记录
///////////////////////////////////////////////////////////////////////////////
 
 
//////////////////////////////将查询获取总数输出/////////////////////////////
//获取一个查询记录总数
$row $dsql->GetOne("select count(*) as dd where typeid = $typeid");
echo $row['dd'];//输出总数
///////////////////////////////////////////////////////////////////////////////
 
 
//////////////////////////////将查询的若干条记录输出//////////////////////////////////
$sql "Select * from dede_*";
$dsql->SetQuery($sql);//将SQL查询语句格式化
$dsql->Execute();//执行SQL操作
//通过循环输出执行查询中的结果
while($row $dsql->GetArray()){
echo $row['id'];
echo $row['title'];
}
//或者采取这种方式输出内容
 
 
while($row $dsql->GetObject()){
echo $row->id;
echo $row->Title;
}
///////////////////////////////////////////////////////////////////////////////
 
//////////////////////////////插入一条记录///////////////////////////////
$sql = "
INSERT INTO `dede_member_flink`(mid,title,url,linktype,imgurl,imgwidth,imgheight)
VALUES(".$cfg_ml->M_ID.",'$title','$url','$linktype','$imgurl','$imgwidth','$imgheight');";//插入记录数据库
$dsql->SetQuery($sql);//格式化查询语句
$dsql->ExecNoneQuery();//执行SQL操作
///////////////////////////////////////////////////////////////////////////////
 
/////////////////////////////////////删除一条记录///////////////////////////
$sql "Delete From dede_member_flink where aid='$aid' And mid='".$cfg_ml->M_ID."';";
$dsql->SetQuery($sql);
$dsql->ExecNoneQuery();
//或者使用简化模式
$dsql->ExecNoneQuery("Delete From dede_member_flink where aid='$aid' And mid='".$cfg_ml->M_ID."';");
///////////////////////////////////////////////////////////////////////////////
 
//////////////////////////////////////更新一条记录//////////////////////////
$upquery = "
Update dede_member_flink set
title='$title',url='$url',linktype='$linktype',
imgurl='$imgurl',imgwidth='$imgwidth',imgheight='$imgheight'
where aid='$aid' And mid='".$cfg_ml->M_ID."';
";
$rs $dsql->ExecuteNoneQuery($upquery);
 
///////////////////////////////////////////////////////////////////////////////
 
////////////////////////////////判断获取数据库内容的常用方法///////////////////
$row $dsql->GetOne("Select * From dede_moneycard_type where tid={$pid}");
if(!is_array($row)){
echo "失败";
exit();
}
 
/////////////////////////////
$upquery = " Update dede_member_flink set
title='$title',url='$url',linktype='$linktype',
imgurl='$imgurl',imgwidth='$imgwidth',imgheight='$imgheight'
where aid='$aid' And mid='".$cfg_ml->M_ID."';
";
$rs $dsql->ExecuteNoneQuery($upquery);
if($rs){
echo "成功";
}else{
echo "失败";
}
//////////////////////////////////获取总数//////////////////////////////////
$dsql new DedeSql(false);
$dsql->SetQuery("Select * from `dede_admin` where userid='$userid' Or uname='$uname'");
$dsql->Execute();
$ns $dsql->GetTotalRow();
////////////////////////////////关闭数据库///////////////////////////////////
$dsql->Close();
///////////////////////////////////////////////////////////////////////////////
?>