一、织梦DEDECMS运行php代码

举例1:

如何在织梦DEDECMS上运行php代码和mysql语句

{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字段