我更新,使用MySQL來PDO顯示Smarty的的{html_options}
的部分。這段代碼實際上適用於MySQL,但我不知道如何使用PDO得到相同的結果。如何使用PDO發送陣列使用它在智者的html_options 3.1.21
這是一個很好的實際工作代碼:
// Send states
$q="SELECT id, state FROM states";
$data=$db->execute($q);
$idStates=array();
$states =array();
for ($i=0; $i<sizeof($data);$i++) {
array_push($idStates,$data[$i]->id);
array_push($states,$data[$i]->state);
}
$smarty->assign('idStates',$idStates);
$smarty->assign('states',$states);
然後一切運作良好的.tpl文件
<select name="des_idState" class="form-control">
<option>Select state</option>
{html_options output="$states" values="$idStates" selected=$data.idState}
</select>
我試圖與PDO做工程,並使用{foreach}
很好,但我需要使用selected
,我認爲使用Smarty的{html_options}最簡單,但我不知道如何從PDO發送數組。
$sql1="SELECT id, state FROM states";
$stmt = $dba->prepare($sql1);
$stmt->execute();
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
$idStates = $row['id'];
$states = $row['state'];
$smarty->assign('idStates', $idStates);
$smarty->assign('states',$states);
}
我一直在試圖用這個代碼,顯示我使用echo $idStates . ' ' . $states . '<br>';
數組,但它不會在{} html_options工作,沒有任何顯示,沒有錯誤,只是一個空白。
有人能幫助我嗎?