2014-02-24 125 views
0

我正在處理一個代碼,該代碼必須更改頁面的背景顏色,或者如果值爲負值,則後面爲紅色,如果值爲正值,則爲綠色。它爲什麼不改變背景顏色?

我有一個正在計算正確的代碼和一個從PHP文件獲取一些操作的css。

但我的文件不改變背景顏色。我不明白爲什麼。也許任何人都可以幫忙,最終解釋出了什麼問題?

第一: 報價表最後兩個價行是32和30

style.css.php

<?php 
$con=mysqli_connect("localhost","root","","boerse"); 
// Check connection 
if (mysqli_connect_errno()) 
    { 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
    } 

$result = mysqli_query($con," SELECT SUM(CASE WHEN rnum = 2 THEN -1 * price ELSE price END) diff_value, 
     ROUND(SUM(CASE WHEN rnum = 2 THEN -1 * price ELSE price END)/
      SUM(CASE WHEN rnum = 1 THEN 0 ELSE price END) * 100) diff_percent 
    FROM 
(
    SELECT id, stock_id, price, @n := @n + 1 rnum 
    FROM quotations CROSS JOIN (SELECT @n := 0) i 
    ORDER BY date DESC 
    LIMIT 2 
) q"); 

//$chnge = mysqli_fetch_array($result)) 


    header('Content-type: text/css'); 

    if ($result>"0"){ 
    $background = "red"; 
    $color = "white"; 
    } elseif ($result<"0") { 
    $background = "green"; 
    $color = "white"; 
    } 
    else { 
    $background = "white"; 
    $color = "black"; 
    } 

mysqli_close($con); 
?> 

body { 
    background-color: <?=$background?>; 
    color: <?=$color?>; 
} 

tiat2.php

<html> 
<head> 
<link rel="stylesheet" type="text/css" href="style.css.php"> 
<script src="http://code.jquery.com/jquery-latest.js"></script> 
<script> 
$(document).ready(function() { 
    $("#responsecontainer").load("getdata.php"); 
    var refreshId = setInterval(function() { 
     $("#responsecontainer").load('getdata.php?randval=2'); 
    }, 5000); 
}); 
</script> 
</head> 
<body> 

<div id="responsecontainer"> 
</div> 

</body> 
</html> 

事實上頁應該是紅色,因爲32> 30等(32 - 30)> 0,但它是綠色的。但是出了什麼問題?

任何有想法的人?感謝所有嘗試提供幫助的人。

+0

我不知道你在哪裏傳遞任何變量數據插入SQL查詢。你爲什麼期望結果改變?在背景中是否有其他的東西會導致表中的數據改變?另外,你期望在輸出中發生什麼?它所要做的就是在div內輸出一些CSS文本,而不是實際上將CSS應用於任何東西。 –

+0

@MikeBrant - 希望我明白你的意思: 在我的表格中,我有幾個條目。上面的SQL計算,如果最新的行大於或小於第二個最新的行。我想$結果會得到結果,我可以用它作爲if語句。 但我想我並沒有真正理解你的問題,對嗎? – user3088932

回答

0

不能完全確定,但儘量使用整數爲0而不是字符串:

if ($result>0){ 
    $background = "red"; 
    $color = "white"; 
    } elseif ($result<0) { 
    $background = "green"; 
    $color = "white"; 
    } 
    else { 
    $background = "white"; 
    $color = "black"; 
    }