2010-06-18 74 views
3

我想回顯一些文本,如果我的循環返回沒有數據但無法得到它的工作。我嘗試了一些東西,但沒有運氣。PHP回聲xyz如果循環中的行不包含數據

我的代碼:

$result = mysql_send("SELECT * FROM datatable WHERE id='". 
    $_SESSION['id']."'ORDER BY id ASC LIMIT 2"); 

while($row=mysql_fetch_array($result)) { 
    $a = 1; 
    extract($row); 

    echo 'Trans ID: '; 
    echo $row['trans_id']; 
    echo '<br>'; 
    echo 'Amount: '; 
    echo $row['amount']; 
    echo '&nbsp;'; 
    echo $row['euros']; 
    echo '<br>'; 
    echo '<br>'; 
} 


if ($a = 1) { 
    echo 'No History'; 
} else { 
    echo '<a href="#">View history</a>'; 
}; 

誰能幫我如果在loop`語句怎麼辦?

+1

Artefacto懇請重新格式化您的代碼,但在未來,請確保您的密碼是正確的縮進和格式化。這使您和他人閱讀代碼變得更容易。 – Artelius 2010-06-18 13:39:06

回答

3

你有一個任務,然後返回分配(即1

if ($a = 1) { 

,而不是一個比較,這就是你可能想的結果是:

if ($a == 1) { 

因此,「無歷史「將永遠得到迴應。

2

使用mysql_num_rows();它會告訴你,如果你有一個從查詢任何結果

$result = mysql_send("SELECT * FROM datatable WHERE id='". 
$_SESSION['id']."'ORDER BY id ASC LIMIT 2"); 

$count = mysql_fetch_array($result); 

if($count > 0) { 
    while($row=mysql_fetch_array($result)) { 
     # your code 
    } 
} 

# NOTE THE == not = 
if ($a == 1) { 
    echo 'No History'; 
} else { 
    echo '<a href="#">View history</a>'; 
}; 

您還將有問題與您的if語句作爲youu使用assigment而不是comparison$a = 1將設置$ A = 1 $a == 1將檢查它是否等於1

0

==是比較,=是一項任務。

更改爲

if ($a == 1) {