牛骨文教育服务平台(让学习变的简单)
博文笔记

thinkphp5使html5实现动态跳转

创建时间:2018-01-22 投稿人: 浏览次数:428

      • 从数据库取数据
      • 数据传递
      • volist数据分解
      • action交还控制器
      • 部分跳转
      • 过程总结

1.从数据库取数据

在application/模块名/controller/控制器名/方法名中对数据库进行获取,这里为了方便,举例为application/modulea/controller/x/test

$result = Db::name("data")->where("uid",session("xx.uid"))->select();

数据传递

这里可以是标题栏的数据,然后就通过

 $this->assign("data", $result);

这种方式可以传递到

application/modulea/view/x/test.html

volist数据分解

这个test.html可以通过volist进行处理:

{volist name="data" id="item_data"}
    <h3>{$item_data}</h3>
{/volist}

此时,$i为默认索引,可以这样用:

{volist name="data" id="item_data"}
    <h3>{$i."=".$item_data}</h3>
{/volist}

action交还控制器

如果html界面需要某种处理,可以直接写个action交给控制器进行跳转就行了。

<form action="/modulea/x/login"></form>

部分跳转

如果需要部分跳转,则需要使用iframe,比如iframe的src为某个相对网址(首次加载地址),的name是fr

<iframe src="/modulea/x/test2" name="fr"></iframe>

点击旁边的某个按钮以后,需要进行跳转,所以,要写一个超链接:

<a href="{:url($item_data["url"])}" target="fr"></a>

注意,此处的target必须要与前面的name一致,此处url也是相对网址,格式为:/模块名/控制器名/方法名。

过程总结:

控制器取数据,取完用assign传给视图,视图用volist进行展示,视图通过action来进行页面跳转。

ps:过滤非法网址:

$this->user = session("xx");
if(!this->user["uid"]){
    return $this->redirect("/modulea/x/login");
}
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。