2017-07-06 6 views
0
$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/>"; 
    } 
} 

上記のコードはうまく機能します。私はスマートに同じ出力が必要です。PDOをプリペアドステートメントで使用してforeach内で実行すると、スマートにデータを表示するにはどうすればいいですか?

答えて

1
$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} 
2

表示するデータを配列のような変数に保存します。その後、あなたはassign this variable to smartyです。したがって、この問題を2つに分割します。

  1. データベースのデータを配列で読み込みます。
  2. スマートテンプレートに変数(配列)を表示します。私のテンプレート内部
+0

ありがとうございました! @Progman "配列のような変数に表示したいデータを保存する" - これは私が聞く必要があるものです。 – Trilochan

関連する問題