当使用带有预准备语句的PDO并在foreach内部执行时,如何智能地显示数据?


$dbh = new PDO($dsn, $user, $password, array( 
PDO::MYSQL_ATTR_USE_BUFFERED_QUERY => true));
$selectNumberTitle = $dbh->prepare("SELECT AdvertNumber, AdvertTitle FROM `adverts` WHERE AdvertNumber = ? ");
foreach ($advertnumber as $i => $number) {
$selectNumberTitle->execute(array($number));
foreach ($selectNumberTitle as $row) {
echo $row['AdvertNumber'] . ') ' . $row['AdvertTitle'] . "<br/>";
}
}

上面的代码工作得很好。我需要在智能中相同的输出。

将要显示的数据保存在数组等变量中。之后,您将此变量分配给 smarty。因此,您将此问题分为两个:

  1. 从数组中的数据库中读取数据。
  2. 在您的智能模板中显示变量(数组(。
$selectNumberTitleMerge = array();    
foreach ($advertnumber as $i => $number) {
$selectNumberTitle->execute(array($number));
foreach ($selectNumberTitle as $row) {
$selectNumberTitleMerge[] = $row;
echo $row['AdvertNumber'] . ') ' . $row['AdvertTitle'] . "<br/>";
}
}
$smarty->assign('selectNumberTitleMerge', $selectNumberTitleMerge);

和我的模板中的代码:

{foreach $selectNumberTitleMerge as $r} 
{$r.AdvertNumber})
{$r.AdvertTitle}
<br>
{foreachelse}
.. no results .. 
{/foreach}

最新更新