【发布时间】:2019-04-09 08:16:03
【问题描述】:
我正在尝试使用基于用户选择的 id 的信息填充页面。我曾尝试使用 slim 框架定义我的变量,但我对如何使用它们或调用它们感到困惑。我的变量存储在listings.php 页面上,我试图在listings.html 页面上调用。
我在下面包含了相关代码。在不同的页面上,用户可以选择要共享的数据库条目:
<div class="list-option">
<a href="/listings/share/{{listing.id}}" class="option-button settings">Share Listing</a>
</div>
如果我选择特定项目(例如项目 34),则 URL 显示为:
.../listings/share/34
但现在我想用列表表第 34 项中的所有相关信息填充该 share.html 页面。我的 listings.php 页面看起来像这样从数据库中提取数据:
$app->get('/listings/share/{lisitingid}', function ($request, $response, $args) {
$variables['title'] = 'Share Listing';
$variables['listing'] = $this->db->select('listing', ['id', 'name', 'details', 'associated_user', 'address', 'location', 'category']);
return $this->view->render ($response, 'share.html', $variables);
});
我的 share.html 页面如下所示:
<div class='wrapper'>
<div class='listing-image'>
<img src='###'>
</div>
<div class='listing-info'>
<div class='listing-title'>
<div class='lister-logo'><img src='image/###' alt='Lister Logo'></div>
<div class='listing-category'>.$row['category']."'</div>
<h2 class='listing-name'></h2></div>
<div class='profile-pic'><img src='image/###' alt='profile picture'></div>
<div class='lister-bio'>
<h2 class='about'>.$row['name']</h2></div>
<p class='biography'>".$row['details']"</p>
</div>
<div class='lister-contact'>
<div class='address'>".$row['address']</div>
我知道这是错误的,我正在尝试使用我知道的以前的方法从数据库中调用信息,但我使用的是 Slim 框架,它对我来说是全新的。谁能根据我的尝试演示或向我展示如何从数据库中获取信息以显示在 share.html 页面上?
【问题讨论】:
-
通过将
$variable传递给render()方法,您可以在模板文件中使用$title和$listing($variable键),但您使用的是@987654330 @ 未在该范围内定义。