thinkphp 模板调用数据

我自己写了个简单的模板是这样的

<!DOCTYPE html>
<html>
<head>
<style> 
div
{
width:230px;
height:230px;
margin:10px;           /* div间距 */ 
text-align:center;     /*文字水平居中*/ 
vertical-align: middle;
line-height:230px;                /*line-height must be equal to height 文字垂直居中,与上一行配合与整体高度配合,垂直居中*/ 
float:left;                    /*div水平分布排列、浮动靠左排列 */ 
}

div:hover/*鼠标指针响应事件*/ 
{
animation:myfirst 5s;                /* 动画开启、时间为5秒 */ 
-webkit-animation:myfirst 5s;     /* Safari 和 Chrome */
}


@-webkit-keyframes myfirst      /* Safari and Chrome *//*动画流程*/ 
{
from {background:red; -webkit-transform: rotateY(180deg);}       /*红色、围绕y轴旋转180度 */ 
to {background:yellow; -webkit-transform: rotateY(360deg);}
}


</style> 
</head>


<body>


<div style="background-color:#FF8F59;onclick="window.open">           
<a href="http://www.baidu.com" target="_blank">双重定义打开超链接,为什么?
</a>
</div>                              

<div style="background-color:#6FB7B7;onclick="window.open('www.baidu.com')">
<a href="http://www.baidu.com" target="_blank">百度</a>
</div>

<div style="background-color:#8600FF;onclick="window.open">
<a href="http://www.baidu.com" target="_blank">百度</a>
</div>

<div style="background-color:#FFFF93    ;onclick="window.open">
<p><a href="http://v.youku.com/">初级教程</p>
</div>

<div style="background-color:#FFD2D2;onclick="window.open">
<p><a href="http://v.youku.com/">初级教程</p>
</div>

<div style="background-color:#E0E0E0;onclick="window.open">
<p><a href="http://v.youku.com/">初级教程</p>
</div>

<div style="background-color:#FAF4FF;onclick="window.open">
<p><a href="http://v.youku.com/">初级教程</p>
</div>

<div style="background-color:#E8E8D0;onclick="window.open">
<p><a href="http://v.youku.com/">初级教程</p>
</div>

<div style="background-color:#EBD3E8;onclick="window.open">
<p><a href="http://v.youku.com/">初级教程</p>
</div>

<div style="background-color:#CEFFCE;onclick="window.open">
<p><a href="http://v.youku.com/">初级教程</p>
</div>


</body>
</html>
View Code

我想用thinkPHP把数据添加进来

该怎么办呢。。。

我在看模板引擎手册

先配置一下。。。

$this->display();

看下最基础的东西吧,了解一下它的大概规则

控制器里加入

 $name = 'ThinkPHP'; $this->assign('name',$name); 

显示页内把{$name}找个地方塞进去

刷新一下

第二个超链接的标签变成thinkphp了

遍历输出

应该是它了

怎么把数据加入进去呢。。。

百度一下

还是看下Volist标签吧

在Action中首先对模版赋值:已经习惯控制器了,至少应该能接触到数据库,这是示范代码

  1. $User = M('User');
  2. $list = $User->select();
  3. $this->assign('list',$list);

大概意思好像是

user的值是从数据库user里获取的

list的值是通过数据库查询得到的

那么,显示出list的值,list是个列表

我的数据库是confluence,第一行语法得改成

$User = M('admin');

我好像没有list,我看看。。。

不知道div行不行,先改下试试

$div = $User->select();

$this->assign('div',$div);

模板里应该添加成

  1. <volist name="div" id="vo">
  2. {$vo.admin}
  3.  </volist>

试一下

thinkphp 模板调用数据

是这样的一个效果

已经能从数据库里调出循环的数据了,非常好

思路应该是,让调出的数据等于链接标题就好了,再循环一下

<body>
<foreach name="div" item="vo">
<div style="background-color:#FF8F59;onclick="window.open">           
<a href="http://www.baidu.com" target="_blank">  {$vo.admin}
</a>
</div>     
    
  
 </foreach>

</body>

减少了好多的代码量啊。。。

颜色改一下

随机的最好

thinkphp 模板调用数据

background-color:red

控制器里看看能不能赋值给red,如果能,就可以把它改成变量了吧。。。

$name = 'red';
$this->assign('name',$name);

模板改为

background-color:{$name}

现在模板的颜色可以用控制器控制了

怎么把name变成随机函数呢。。。

定义一下red和blue,但是模板中的随机函数接收不到

{:mt_rand(1,5)}————这行代码会被解析成<?php echo mt_rand(1,5);?>

简单的东西搞复杂了就不好了啊。。。

光一个html看来很无力啊。。。

就这样吧。。。不浪费时间了。。。