php
  • css
  • 2015-04-17 34 views -1 likes 
    -1

    我一直在嘗試改變值的文本顏色,取決於值是否爲Approved,Pending或Rejected。如何更改動態生成值的文本顏色? - PHP

    所以如果它的批准,我希望文本顏色爲綠色。 紅色表示拒絕,黃色表示未決。

    $output = ""; 
    $OrderStatus = array('Pending','Approved','Rejected'); 
    /*$Approved = 'Approved'; 
    $Reject = 'Rejected'; 
    $Pending = 'Pending';*/ 
    $statusValue = array(); 
    $color = "#000000"; 
    
    if ($orderValue['status'] == 0) { 
        $statusValue[] = $OrderStatus[0]; 
        $color = "#00FF00"; 
    } 
    elseif ($orderValue['status'] == 1) { 
        $statusValue[] = $OrderStatus[1]; 
        $color = "#FF9900"; 
    } 
    elseif ($orderValue['status'] == 2) { 
        $statusValue[] = $OrderStatus[2]; 
        $color = "#FF0000"; 
    } 
    
    
    
    /*if (in_array(0, $orderValue)) { 
        $statusValue[] = $OrderStatus[0]; 
        $color = "#00FF00"; 
    } 
    elseif (in_array(1, $orderValue)) { 
        $statusValue[] = $OrderStatus[1]; 
        $color = "#FF9900"; 
    } 
    elseif (in_array(2, $orderValue)) { 
        $statusValue[] = $OrderStatus[2]; 
        $color = "#FF0000"; 
    }*/ 
    

    並在表中顯示的代碼:

    $output .= ' 
        <tr> 
         <td>' .'<input type="checkbox" name="orderData[]" value="'.$orderValue['order_Id'].'" />' . '</td> 
         <td>' .$orderValue['order_Id'] . '</td> 
         <td>' .$orderValue['firstname'] . '</td> 
         <td>' .$orderValue['lastname'] . '</td> 
         <td>' .$orderValue['full_address'] . '</td> 
         <td>' .$orderValue['postcode'] . '</td> 
         <td>' .$orderValue['tel_no'] . '</td> 
         <td>' .$orderValue['mobile_no'] . '</td> 
         <td>' .$newDate . '</td> 
         <td>' .$orderValue['itemName'] . '</td> 
         <td>' .$orderValue['quantity'] . '</td> 
         <td> <span style=\"color: '.$color.';\">' .$statusValue['0'] . '</td>'.'</span> 
    
        </tr>'; 
    
        echo $output; 
    
    +0

    您的標記看起來不對。 ''。$ statusValue ['0']。 ''。''。 span標籤正在發生什麼? – Drumbeg

    +0

    您應該使用CSS類來定義每個狀態的樣式(已批准,待定或已拒絕)。爲每個相關元素分配適當的類。 – Ninjakannon

    +0

    我嘗試過使用CSS類,但無濟於事,它根本不起作用。 –

    回答

    2

    你'不使用雙引號($output .= " ... ")插入你的變量,所以$color變量被視爲文本(字面上字符串「$顏色」)。此外,您正在使用字符串數字來解引用$statusValue陣列;您需要使用不帶引號的整數(整個範圍內爲$statusValue[0],而不是$statusValue['0'])。

    $OrderStatus = array('Pending','Approved','Rejected'); 
    /*$Approved = 'Approved'; 
    $Reject = 'Rejected'; 
    $Pending = 'Pending';*/ 
    $statusValue = array(); 
    $color = "#000000"; 
    if (in_array(0, $orderValue)) { 
        $statusValue[] = $OrderStatus[0]; 
        $color = "#00FF00"; 
    } 
    elseif (in_array(1, $orderValue)) { 
        $statusValue[] = $OrderStatus[1]; 
        $color = "#FF9900"; 
    } 
    elseif (in_array(2, $orderValue)) { 
        $statusValue[] = $OrderStatus[2]; 
        $color = "#FF0000"; 
    } 
    
    
    $output .= ' 
        <tr> 
        <td>' .'<input type="checkbox" name="orderData[]" value="'.$orderValue['order_Id'].'" />' . '</td> 
        <td>' .$orderValue['order_Id'] . '</td> 
        <td>' .$orderValue['firstname'] . '</td> 
        <td>' .$orderValue['lastname'] . '</td> 
        <td>' .$orderValue['full_address'] . '</td> 
        <td>' .$orderValue['postcode'] . '</td> 
        <td>' .$orderValue['tel_no'] . '</td> 
        <td>' .$orderValue['mobile_no'] . '</td> 
        <td>' .$newDate . '</td> 
        <td>' .$orderValue['itemName'] . '</td> 
        <td>' .$orderValue['quantity'] . '</td> 
        <td> <span style=\"color: '.$color.';\">' .$statusValue[0] . '</span>'.'</td> 
    
        </tr>'; 
    
        echo $output; 
    

    我不知道什麼樣的$orderValue值,但我相信你會希望被存儲的值作爲整數,不是字符串,以及。您可能希望將訂單狀態值存儲爲$orderValue['status'],並使用類似於此的代碼:

    if ($orderValue['status'] == 0) { 
        $statusValue[] = $OrderStatus[0]; 
        $color = "#00FF00"; 
    } 
    elseif ($orderValue['status'] == 1) { 
        $statusValue[] = $OrderStatus[1]; 
        $color = "#FF9900"; 
    } 
    elseif ($orderValue['status'] == 2) { 
        $statusValue[] = $OrderStatus[2]; 
        $color = "#FF0000"; 
    } 
    
    +0

    我在代碼中進行了更改,但顏色未應用。它只是告訴我$ color變量的值。 –

    +0

    @YacubAli你的意思是什麼? –

    +0

    表中值的文本顏色已更改。 $ statusValue [0]變量中的值保持不變。 –

    0

    似乎是一個破碎的HTML這裏,

    <td span style=\"color: $color\">' .$statusValue['0'] . '</td>'.'</span> 
    

    嘗試將其更改爲,

    <td> <span style=\"color: $color\">' .$statusValue['0'] . '</span></td>' 
    
    +0

    它似乎也沒有工作。 –

    +0

    你可以通過螢火蟲檢查嗎? –

    +0

    是的,HTML被破壞了,不,那不是什麼原因造成的問題......如果你看看生成的源代碼,我幾乎可以保證你會看到,字面意思是'。 ..' – CD001

    相關問題