2015-04-22 50 views
0

我正在使用Smarty開發一個項目。 我想在我的網頁上顯示我的數組結果,並用圖像替換'1'結果,用另一個替換'0'結果。 我至今可以得到我的結果,就像我想我只需要做這個替換,我真的不知道是否有可能,如果是,我將如何設法做到這一點。 這裏是我的PHP代碼的一部分:根據值取代td的圖像

for ($c=0; $c<count($aLPO); $c++){ 
$aPG['P_I'] = $aLPO[$c]['P_I']; 
$aPG['P_L'] = $aLPO[$c]['P_L']; 
$sGA = $aLPO[$c]['P_G_A']; 
for ($i=0; $i<count($aGId); $i++){ 
     if (strpos($sGA , $aGId[$i]) !== false){ 
      $sGId = $aGId[$i]; 
      $aPG[$aG[$sGId ]] = '1'; 
     } 
     else{ 
      $sGId = $aGId[$i]; 
      $aPG[$aG[$sGId ]] = '0'; 
     } 
} 
array_push($aPO, $aPG); 
unset($aPG); 

}

$smarty->assign("aLPO", $aPO); 

和我.tpl代碼的一部分(HTML /智者)

... 
<div id="display_table_Produit_Gammes"> 
     <table cellpadding=0 cellspacing=0 class="tbl_datas" id="table_Produit" > 
     {if $iNbProduitsOptions == 0} 
      <thead> 
       <tr><th></th></tr> 
      </thead> 
     {else} 
      <thead>    
       <tr> 
        <th width='8%'>ID</th> 
        <th width='10%'>P_L</th> 
        {foreach from=$aLG item=g name=lst} 
         <th>{$g.G_L} ({$g.G_I})</th> 
        {/foreach} 
       </tr> 
      </thead> 
      <tbody> 
        {foreach from=$aLPO item=p name=lst} 
         <tr> 
         {foreach from=$p item=pval}       
           <td>{$pval}</td>        
         {/foreach} 
         </tr> 
        {/foreach} 
      </tbody>  
      {/if} 
     </table> 
</div> 

我需要改變結果在我的標籤,因爲他們動態收費我有點困惑的方式來處理。

預先感謝您的幫助,並隨時問我一些更多的信息,如果你需要(因爲我不是英語可能很難理解我希望這是很清楚的話題的目的)

+1

問題還不清楚。你爲什麼不直接展示它,放一個if條件。如果pval = 0 否則。如果你想用javascript做它的類。 >然後替換所有的td,其中有replaceable0或replaceable1 – Alex7

+0

我不知道,看起來更好我會說^^但是是你的解決方案工作得很好我會用它做。 我還沒有使用Smarty所以..,無論如何,非常感謝你的幫助看到你! – Gemini

回答

1

這裏就比較好解釋的答案: 在Smarty的你可以使用:

{if $pval eq '0'} 
    <img src="image0.jpg"> 
{else} 
    <img src="image0.jpg"> 
{/if} 

如果使用JavaScript來做到這一點,你可以寫:

{foreach from=$p item=pval}       
    <td class="replace_this_{$pval}"></td>        
{/foreach} 

爲了向td添加一個類,然後在javascript中添加一個類:

// select elements: 
var elems = document.getElementsByClassName("replace_this_0"); 
// replace the <td></td> with <td><img src="image0.jpg"></td> 
for(var i= 0; i< elems.length; ++i) 
{ 
    elems[i].innerHTML = "<img src='image0.jpg'>"; 
} 

而第二張圖像也是一樣的。希望這可以幫助。