thinkphp5使html5实现动态跳转

      • 从数据库取数据
      • 数据传递
      • 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"}
    

{$item_data}

{/volist}

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

{volist name="data" id="item_data"}
    

{$i.'='.$item_data}

{/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');
}

你可能感兴趣的:(php)