我正在尝试进入无脂肪的 php 框架,它的工作原理就像一个魅力。有一个视图我无法弄清楚。长话短说,在这里找到一个简单的例子:
问题:
当点击记录时,触发 GET /view/@id 路由。如何在下一篇文章和上一篇文章的以下单一视图中实现导航。如果没有下一篇文章和编号,则链接不应可见。当前文章的名称应为namend。(我已经阅读了关于游标的方法,但无法弄清楚)
如何在单个视图中使用所有找到的文章填充选择框?
- 我如何必须从问题 2 的选择框下拉列表中更改它还收听帖子的单个视图的路由?
我的设置:
index.php(我在下面的代码中踢了 GET / 路由)
$f3 = require('lib/base.php');
$f3->set('DB',
new DB\SQL(
'mysql:host=localhost;port=3306;dbname=f3',
'root',
'root'
)
);
$f3->route('GET /view/@id',
function($f3) {
$id = $f3->get('PARAMS.id');
$article=new DB\SQL\Mapper($f3->get('DB'),'test');
$f3->set('list',$article->find(array('id=?',$id)));
echo template::instance()->render('single.htm');
}
);
$f3->run();
模板单视图:
<repeat group="{{ @list }}" value="{{ @item }}">
<p>
{{ @item.name }}
{{ @item.text }}
{{ @item.age }}
</p>
</repeat>
<hr>
<a href="view/@item">prev</a> | <a href="view/@item">next</a> | <small>this is entry XX from XX</small>
<p> <small>Select Entry:</small></p>
<form action="/view" method="post">
<select name="goto">
<repeat group="{{ @list }}" value="{{ @item }}">
<option value="{{ @item.id }}">{{ @item.name }}</option>
</repeat>
</select>
<input type="submit">
</form>
SQL:
CREATE TABLE `test` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` text NOT NULL,
`text` text NOT NULL,
`age` text NOT NULL,
`rel` int(11) NOT NULL,
KEY `id` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=8 ;
INSERT INTO `test` (`id`, `name`, `text`, `age`, `rel`) VALUES
(1, 'a', 'hi', '20', 1),
(3, 'b', 'yes', '25', 1),
(4, 'c', 'why not', '30', 1),
(5, '1', 'why', '15', 2),
(6, '2', 'Ahoi', '35', 2),
(7, '3', 'ade', '40', 2);
非常感谢!