TShopping
標題:
SMRTY 怎麼做CCS下拉式功能表(導覽列)?
[打印本頁]
作者:
woff
時間:
2010-4-13 15:18
標題:
SMRTY 怎麼做CCS下拉式功能表(導覽列)?
小弟遇到一些困難
在MYSQL撈出資料時
有類別及文章兩個資料表
分別為class及state
在PHP的寫法是先撈出類別再撈出類別相關文章
但是目前小弟結合SMARTY樣板引擎
發現了 一件事情
我在PHP可寫兩個迴圈就能處理掉此問題
但是SMARTY並不能跑兩次迴圈
{section name="net" loop=$sm_class}
{section name="net" loop=$sm_state}
{/section}
{/section}
複製代碼
SMARTY根本搞不懂雙層迴圈
PHP丟資料時這樣寫
//提取導覽列資料
$sql="SELECT * FROM net_class ORDER BY num ASC";
$query=$db->query($sql);
while ($row_class=$db->fetch_array($query)) {
$sm_class[]=array("cid"=>$row_class[cid],"num"=>$row_class[num],"name"=>$row_class[name]);
}
$smarty->assign("sm_class",$sm_class);
//提取首頁文章資料
$sql="SELECT * FROM net_state ORDER BY num ASC";
$query=$db->query($sql);
while ($row_state=$db->fetch_array($query)) {
$sm_state[]=array("num"=>$row_state[num],"subject"=>$row_state[subject],"content"=>$row_state[content]);
}
$smarty->assign("sm_state",$sm_state);
複製代碼
雖然PHP有把資料傳到樣板上
但是 SMARTY根本不認識他
因為每個類別要撈出哪幾個類別相關文章根本搞不清楚
就算我把
$sql="SELECT * FROM net_state where cid='$cid' ORDER BY num ASC";
複製代碼
假設$cid是搜尋類別項目的索引鍵
這樣撈到了也無法達到
http://www.kingpc.com.tw
網站 左側欄位這個目的
請問知道大大 這PHP 語法要怎麼改寫才能讓SMARTY樣板引擎能達到我的要求呢?
作者:
woff
時間:
2010-4-15 18:59
經過藍色小舖
的
alight
大大指導後
問題已解決
在php先做文章的分類...
smarty只幫你輸出...
php
$sql="SELECT * FROM net_class ORDER BY num ASC";
$query=$db->query($sql);
while ($row_class=$db->fetch_array($query))
{
$sm_class[]=array(
"cid"=>$row_class[cid],
"num"=>$row_class[num],
"name"=>$row_class[name]
);
}
//提取首頁文章資料
$sql="SELECT * FROM net_state ORDER BY num ASC";
$query=$db->query($sql);
$sm_state=array();
while ( $row_state=$db->fetch_array($query))
{
$sm_state[]=array(
"cid"=>$row_state[cid],
"num"=>$row_state[num],
"subject"=>$row_state[subject],
"content"=>$row_state[content]
);
}
//判斷每篇文章屬於哪個類別
foreach($sm_state as $idx => $item)
{
foreach($sm_class as $idx2 => $item2)
{
if($item["cid"]==$item2["cid"])
{
$data[$idx2][]=$item;
break;
}
}
}
$smarty->assign("sm_class",$sm_class);
$smarty->assign("data",$data);
複製代碼
section 裡面的name 就是他的索引,你兩個索引重複了,他當然撈不到資料
smarty
{section name="idx" loop=$sm_class}
我是類別標題 {$sm_class[idx].name}
{section name="idx2" loop=$data[idx]}
我是文章標題 {$data[idx][idx2].subject}
{/section}
{/section}
複製代碼
歡迎光臨 TShopping (http://www.tshopping.com.tw/)
Powered by Discuz! X3.2