我正在創建顯示在表中的計算機庫存網站。 我試圖改變一例的輸出顯示以下PHP從數據庫中更改輸出
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
任何幫助將不勝感激
我正在創建顯示在表中的計算機庫存網站。 我試圖改變一例的輸出顯示以下PHP從數據庫中更改輸出
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']];
在這種情況下,您可以使用數組作爲顯示/重寫映射:
$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']];
DB版本:
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";
在任何'case'行末尾沒有'break',他總是輸出'7'。 – Andreas
哎呀!好決定! –
這工作很多 – Dante
很容易十分感謝!太好了! –