10/10/2018, 09:21
Hỏi về mảng trong Smarty
Chào các bác, em mới bắt đầu làm quen với Smarty. Em đang gặp vấn đề sau mong các bác giúp đỡ.
Em có đoạn code như sau
file php
file template
Nhưng không ra kết quả, em không cần gọi
đâu, vì em gọi kiểu khác. Em nói để các bác khỏi hiểu nhầm là chưa trả về file kết quả.
Cảm ơn!
<*kakalot*>
Em có đoạn code như sau
file php
PHP Code:
$sql_select = "SELECT nt.* WHERE 1 ORDER BY nt.post_date DESC LIMIT 50";
$r = $mysql_hnmt->query($sql_select);
$rows = $mysql_hnmt->num_rows($r);
while ($result = $mysql_hnmt->fetch_array($r))
{
$array = array('dist_id' => $result***91;"dist_id"***93;,
'dist_name' => $result***91;"dist_name"***93;,
'city_name' => $result***91;"city_name"***93;,
'nt_id' => $result***91;"nt_id"***93;,
'nt_user' => $result***91;"nt_user"***93;,
'nt_phone' => $result***91;"nt_phone"***93;,
'nt_content' => $result***91;"nt_content"***93;,
'nt_title' => $result***91;"nt_title"***93;,
'nt_cost' => $result***91;"nt_cost"***93;,
'post_date' => $result***91;"post_date"***93;);
}
$smarty->assign('nt',$array);
Code:
{foreach from=$nt item=arr} Title : {$arr.nt_title}<br> User : {$arr.nt_user}<br> {/foreach}
Code:
$smarty->display('ketqua.tpl')
Cảm ơn!
<*kakalot*>
Bài liên quan
- Fetch nhiêu kết quả thì ít nhất trong loop phải đặt 1 biến đếm cho $array, vì lần fetch sau sẽ đè lên lần fetch trước. Còn nếu chỉ fetch 1 kết quả thì khỏi cần dùng while.
Vấn đề chỉ ở chỗ cách bác viết query thôi
Tôi cũng nghĩ là phải thêm 1 biến đếm cho từng thành phần, nhưng làm sao để gán cho từng biến mảng với dữ liệu là từng record? Để từ đó mình mới gán được dữ liệu cho mảng của smarty.
<*kakalot*>
Giả sử, mình có 1 csdl, đã có các bản ghi để sẵn sàng truy vấn. Một csdl bài viết chẳng hạn (bao gồm tiêu đề, nội dung, người gửi, thời gian gửi...)
Bây giờ muốn truy vấn ra và gán vào mảng của smarty
Code php
<*kakalot*>