2014-01-12 14 views
0

我有以下HTML表格,查詢SQL數據庫填充右側的結果。PHP中的條件函數用圖像填充表格

Table

用於填充每個單元的代碼如下:

<tr> 
    <td>House</td> 
    <td><?php echo $row_buyerdetails['tod_house']; ?></td> 
    </tr> 

我想要的是,而不是從數據庫中輸入的結果(在這種情況下,數值僅爲1是0表示否)是PHP中的條件語句,因此如果結果爲是,則會顯示一個勾號的圖像,同樣也會顯示一個十字的數字。我試着做以下幾點:

<?php 
if ($row_buyerdetails['tod_house'] == "0") { 
    echo "no it isnt!";} 
else{ 
    echo "yes it is!";} ?> 

這工作正常,但我不知道如何在PHP中調用圖像。

另外,因爲最終會有30個左右的表相同的if函數,有什麼辦法可以設置一個函數,它從表中檢索數據,分析它,並且能夠將圖像發送到爲每個查詢修改表格中的單元格?


與無濟於事嘗試作爲建議通過以下兩個答案來添加函數...我的作用是:

<script> 
function rowimage($item){ 

if ($item == "0"){ 
    return (<img src ="images/no.png"/>); 
} 
else{ 
    return (<img src = "images/yes.png/>); 
}} 
</script> 

和我的函數調用:

<tr> 
    <td>Phone Number</td> 
    <td><?php echo rowimage($row_buyerdetails['phone_number'])?></td> 
    </tr> 

但我得到錯誤:

error

林相當肯定有一個簡單的解決方案,但即時通訊只有在學習JavaScript的第一次拋出,所以目前,故障排除不是我的特長!

+1

你需要改變'return();'''return('');'注意在整個返回字符串周圍增加單引號 – mituw16

+1

另外,你是否在同一個php文件中定義了函數你在哪裏打印結果? – mituw16

+0

@ mituw16是的,函數是在同一個.php文件的頭部,表格在主體中,我修改了建議的返回值,但仍然得到相同的錯誤信息! – Giovanni

回答

1

首先,你可以使用一個三元操作降低下來:

<?php echo (!$row_buyerdetails['tod_house']) ? 'no it isnt!' : 'yes it is!' ?> 

你不「呼一個圖像'在PHP中,而是你可以爲它生成一個HTML標籤。假設您的圖片位於根目錄中,並且名爲yes.pngno.png。你可以根據DB值很容易地創建一個函數來輸出<img />標籤如下:

function prettifyRow($fieldName) 
{ 
    $html = '<img src="images/'; 
    $html.= (!$fieldName) ? 'no' : 'yes'; 
    $html.= '.png" />'; 
    echo $html; 
} 

現在,你可以很容易地調用這個函數在你的HTML模板,並通過在字段值如下:

<tr> 
    <td>House</td> 
    <td><?php prettifyRow($row_buyerdetails['tod_house']) ?></td> 
</tr> 
+0

請參閱我原來的問題除外! – Giovanni

+0

看起來你沒有按照我的回答。你有錯別字。請用我的編輯答案,以其原始形式(即不要修改它)。 – BenM

+0

我在$ html。=(!$ field)中得到語法錯誤?'no':'yes'「行? – Giovanni

0

你可以寫一個函數來分析它。我會像下面這樣。

function analyze($item) { 
    return ($item == "0" ? "no it isn't!" : "<img src='urltopicture' />"); 
} 

然後在HTML你會把類似

<td><?php echo analyze($row["tod_house"]);?></td> 
+0

請看我原來的問題除了! – Giovanni