2014-07-26 136 views
0

我有一個基於以前的用戶查詢顯示產品的頁面。搜索結果包含一組元數據,最重要的是1-10級的「產品評級」。基於SQL查詢結果顯示特定圖像

下面是拉動產品等級的元數據

<?php echo get_post_meta(get_the_ID(), 'product_rating', true); ?> 

這拉動從我們的dB爲單位的「等級」的元數據和簡單地顯示該評級爲數字(1,1.5%,2,2.5 ECT)的代碼。

我正在尋找'product_rating'的值並設置圖像以顯示每個值。等級1將顯示一個圖像,而等級2顯示不同的圖像等。

我現有的代碼替代了圖像的值,但圖像顯示多次(對於單個值最多顯示10次)。我的代碼如下,以「4」的評分值爲例。

<?php $rating = get_post_meta(get_the_ID(), 'product_rating', true); ?> 

<?php For($i=4; $i <= $rating; $i++){ 
echo "<img src='http://www.domain.com/lpimage/lock50.png' />"; 
} 
?> 

我的代碼是否接近我需要的位置,或者我完全脫離了我想要的功能的基礎?

+0

您的評分​​是真實數字,即您可以有1.234,還是他們保證以0.5爲單位? –

+0

此外,您期望使用多少張圖片,以及最高評分是多少?最小爲零,還是可以變爲負值? –

+0

評分以.5爲單位,0爲最低。我將使用大約20張圖片,這些圖片僅僅是相應填充以匹配產品評分的明星。 4的評分將有4顆金星,有6顆空星。 – mn8809

回答

1

假設你的等級變量正確定義,我認爲你可以處理各種圖像的條件顯示如下:

<?php if ($rating == 1) echo '<img src="urlofimage1.jpg"></img>'; 
    elseif ($rating == 2) echo '<img src="urlofimage2.jpg"></img>'; 
    elseif ($rating == 3) echo '<img src="urlofimage3.jpg"></img>'; 
    elseif ($rating == 4) echo '<img src="urlofimage4.jpg"></img>'; 
?> 

比較值當您使用雙等號,你只使用一個等號(=)設置變量的值時。

使用> =和< =的範圍,即。 1.3或2.7

+0

絕對完美,我真的很感激時間和額外信息! – mn8809