簡體   English   中英

PHP改變數據庫的輸出

[英]PHP changing output from the database

我正在創建一個顯示在表格中的計算機清單網站。 我正在嘗試更改輸出顯示,例如以下內容

echo "<td>".$row['WindowsVersion']."</td>\n";

顯示5.0或5.1或5.2或6.0或6.1

但我想要它顯示

5.0 as 2000
5.1 as XP
5.2 as 2003
6.0 as Vista
6.1 as 7

任何幫助將不勝感激

您始終可以使用Windows版本作為此類的密鑰創建預定義的陣列。

$win_ver = array('5.0' => '2000','5.1' => 'XP');

echo $win_ver[$row['WindowsVersion']];

數據庫版本:

SELECT
    CASE WindowsVersion
    WHEN '5.0' THEN '2000'
    WHEN '5.1' THEN 'XP'
    WHEN '5.2' THEN '2003'
    WHEN '6.0' THEN 'Vista'
    ELSE '7' AS WindowsVersion
FROM ...

還是PHP

<?php
function getWinName($win) {
    switch($win) {
        case '5.0': $version = '2000'; break;
        case '5.1': $version = 'XP'; break;
        case '5.2': $version = '2003'; break;
        case '5.0': $version = 'Vista'; break;
        default: $version = '7';
    }
    return $version;
}

echo "" . getWinName($row['WindowsVersion']) . "\n";

在這種情況下,您可以使用數組作為顯示/重寫映射:

$rewrite = array(
  "5.0" => "2000",
  "5.1" => "XP",
  ..
);

print $rewrite[ $row['WindowsVersion'] ];

它只是將您的原始值用作重寫數組中的索引鍵,並為您獲取相關的替代值。

$versions = array( '5.0' => '2000',
                   '5.1' => 'XP',
                   '5.2' => '2003',
                   '6.0' => 'Vista',
                   '6.1' => '7'
                 );

if( array_key_exists( $row['WindowsVersion'], $versions ) ) {
    echo $versions[ $row['WindowsVersion'] ];
} else {
    echo $row['WindowsVersion'];
}

為什么不直接在數據庫中放置要查看的內容。 這會更容易。 但如果不可能,只需使用:

$map = array('5.0'=>'2000', ...);

...

print $map[$row['WindowsVersion']];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM