簡體   English   中英

Smarty foreach MySQL問題

[英]Smarty foreach mysql issue

在smarty中使用foreach遇到麻煩。

的PHP

$rows4 = array(); 
   $result4 = mysql_query("SELECT * FROM stats_follow ORDER BY id DESC LIMIT 5"); 
   while($row4 = mysql_fetch_assoc($result4)) { 
   $rows4[] = $row4; 
    } 

   $rows45 = array(); 
   $result45 = mysql_query("SELECT * FROM stats_follow ORDER BY id DESC LIMIT 5 OFFSET 1"); 
   while($row45 = mysql_fetch_assoc($result45)) { 
   $rows45[] = $row45; 
    } 

/** assign variable */ 

$smarty->assign('rows4', $rows4); 
$smarty->assign('rows45', $rows45); 

tpl

{foreach $rows4 as $row4} 
    <tr> 
       <td><center>{$row4.datum|truncate:10:""}</center></td> 
       <td><center>{$row4.count|truncate:10:""} {$row45.count}</center></td> 
     </tr> 
      {/foreach}

但是我現在該如何在此foreach中分配第二個查詢,這不起作用:

{foreach $rows4 as $row4 || $rows45 as $row45} 
    <tr> 
       <td><center>{$row4.datum|truncate:10:""}</center></td> 
       <td><center>{$row4.count|truncate:10:""} {$row45.count}</center></td> 
     </tr> 
      {/foreach}

嘗試這個:

$rows445 = array();
$result4 = mysql_query("SELECT * FROM stats_follow ORDER BY id DESC LIMIT 5");
while ($row4 = mysql_fetch_assoc($result4)) {
    $rows445[]['row4'] = $row4;
}

$result45 = mysql_query("SELECT * FROM stats_follow ORDER BY id DESC LIMIT 5 OFFSET 1");
while ($row45 = mysql_fetch_assoc($result45)) {
    $rows445[]['row45'] = $row45;
}

/** assign variable */    
$smarty - > assign('rows445', $rows445);

我在$row4$row45得到相同數量的結果,則可以使用增量:

    {assign var=i value=0}
    {foreach $rows4 as $row4} 
    {assign var=row45 value=$rows45[i]}
        <tr> 
            <td><center>{$row4.datum|truncate:10:""}</center></td> 
            <td><center>{$row4.count|truncate:10:""} {$row45.count}</center></td> 
        </tr> 
    {assign var=i value=$i+1}
    {/foreach}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM