我是n00b,所以基本上我想使用smarty从我的.tpl文件中调用我的index.php文件中的查询:
Index.php
<?php
//Database connection
$db = mysqli_connect('xx','xx','','xx')
or die('Error connecting to MySQL server.');
//access Smarty template engine
require_once('Smarty-3.1.30/libs/Smarty.class.php');
$smarty = new Smarty();
$smarty->template_dir = 'views';
$smarty->compile_dir = 'tmp';
//query product page
$query = "SELECT * FROM cs_shop";
mysqli_query($db, $query) or die('Error querying database.');
$result = mysqli_query($db, $query);
$row = mysqli_fetch_array($result);
//query
while ($row = mysqli_fetch_array($result)) {
$row['product_category'] . ' ' . $row['product_price'] . ': ' .
$row['product_quantity'] . ' ' . $row['product_about'] .' '
.$row['product_color'] .'<br />';
}
//db collect data
$smarty->assign('row', $row);
//template
$smarty->display('index.tpl');
mysqli_close($db);
?>
我在index.php中使用的while循环是我想在我的.tpl文件中调用的,我是smarty的新手,无法让它工作,测试数据库连接并且它工作,我的,Smarty被调用没有错误。
它是一个基本的静态页面我只是在做实验,使用Smarty,所以我只想将查询显示为列表no td&s;或类似的东西。
所以有人可以举个例子说明我的.tpl文件在我的视图中的位置&#39;目录,如果我想显示查询?
提前致谢
答案 0 :(得分:1)
如何在<p>
标记中显示数组中的几个单词作为选项的简短示例:
<强>的index.php 强>
$rows = ['hello', 'there', 'this', 'is', 'me'];
$smarty->assign('rows', $rows);
$smarty->display('index.tpl');
<强>在index.tpl 强>
// head,css等,这里没关系
<p>
{foreach from=$rows item="item"}
{$item}<br>
{/foreach}
</p>
这将产生一些评估为:
的代码<p>
hello<br>
there<br>
this<br>
is<br>
me<br>
</p>
解释为HTML:
hello
there
this
is
me
作为变量的内容,您可以(几乎)传递任何您想要的内容。
答案 1 :(得分:0)
让这个工作,这就是我做的。
在我的 index.php 中(仅显示我所知道的不正确且现在正确无误)
<?php
$new = ['product_category','product_price','product_quantity','product_about','product_color'];
//added an array - rows
$rows = array();
//while loop calling array adding products columns to it
while ($row = mysqli_fetch_array($result)) {
$rows[] = array(
'product_category' => $row['product_category'],
'product_price' => $row['product_price'],
'product_quantity' => $row['product_quantity'],
'product_about' => $row['product_about'],
'product_color' => $row['product_color']
);
}
//db collect data - calls rows
$smarty->assign('row', $rows);
//template
$smarty->display('index.tpl');
<强>在index.tpl 强>
<p>
{foreach from=$row item="item"}
{$item['product_category'] }<br />
{/foreach}
</p>
像我说的那样我完全是菜鸟,但得到它显示。谢谢@Tobias .F