2011-07-22 131 views
1

我有我的PHP代碼:Smarty的MYSQL陣列assoc命令ID

$products = mysql_query("SELECT p.* FROM products AS p " 
         ."INNER JOIN products_cat_link AS cpl ON cpl.Product_ID = p.id " 
         ."WHERE cpl.Category_ID = '$forcat' " 
         ."ORDER BY p.id"); 

$products_row = array(); 
$products_images = array(); 

    while($prow = mysql_fetch_assoc($products)) { 
      if (isset($prow['id'])) { 
        $product['info'] = $prow; 
       $images = mysql_query("SELECT * FROM products_images WHERE `Product_id` = '$prow[id]' ORDER BY id"); 
       while($irow = mysql_fetch_assoc($images)) { 
        $images_result[] = $irow; 
       } 
        $product['images'] = $images_result; 
        $products_images[] = $product; 
      } 
      $product = ''; 
      $images_result = ''; 
    } 
$smarty->assign('products_images',$products_images); 

這使得這樣的

Array ( 
    [info] => array (
     [id] = 1 
     [name] = abc 
    ) 
    [images] => array (
     [Products_Image_Thumb] = 1a.jpg 
     [Products_Image_Big] = 1b.jpg 
    ) 
) 

一個數組,但我不能讓與Smarty的圖像信息:

{foreach from=$products_images key=cols item=image name=images} 
{if $cols % 4 == 0}<div>{/if} 
<a href="images/products/big/{$image.images.Products_Image_Big}"> 
<img src="images/products/thumb/{$image.images.Products_Image_Thumb}" alt="Click to Enlarge" title="Click to Enlarge" width="87" height="65" style="margin:3px;" /></a> 
{if $cols % 4 == 3}</div>{/if} 
{if $smarty.foreach.images.last}</div>{/if} 
{/foreach} 

感謝您的幫助!

回答

2

根據我以前答案的評論,這應該工作。然而它沒有經過測試,我在一段時間內沒有使用Smarty。

{foreach from=$products_images key=cols item=product name=products} 
    {if $cols % 4 == 0}<div>{/if} 
    {foreach from=$product.images item=image name=images} 
     <a href="images/products/big/{$image.Products_Image_Big}"> 
     <img src="images/products/thumb/{$image.Products_Image_Thumb}" alt="Click to Enlarge" title="Click to Enlarge" width="87" height="65" style="margin:3px;" /></a> 
    {/foreach} 
    {if $cols % 4 == 3}</div>{/if} 
    {if $smarty.foreach.products.last}</div>{/if} 
{/foreach} 
+0

Gallery_Image_Big和Gallery_Image_Thumb是真正的鑰匙......我只是在做例子 – Sickaaron

+0

對不起,我是不是就在猜測,該圖片無法顯示,你希望他們或者是它的另一個問題?我不確定你的意思*我無法用smarty *獲取圖像信息。 –

+0

ya圖像未顯示,沒有任何內容正在打印在{$ image.images.Gallery_Image_Big} – Sickaaron