我通过查询从数据库中获取一些数据,然后通过 while 循环循环它:
$r = mysql_query("SELECT * FROM advertisement_packages");
while ($a = mysql_fetch_assoc($r)):
echo $a['exposure]; //This prints out 1,2,3,4
endwhile;
我该怎么办,所以:
等等。等等
if ($a['exposure'] == 1){
echo "Mini";
}
elseif($a['exposure'] == 2){
echo "Standard";
}
$labels = array(1 => 'Mini', 2 => 'Standart');
echo $labels[$a['exposure']];
独立存储值而不是使用(可能)巨大的
if
结构可能会有所帮助:
$exposures = array(
1 => 'Mini',
2 => 'Standard',
// and so forth
);
while($a = mysql_fetch_assoc($r)):
echo $exposures[ $a['exposure'] ];
endwhile;
只需花费 0.02 美元即可使代码更清晰。
**另一个好方法是在数据库中维护一个表结构,将暴露编号与其描述相关联。通过这种方式,您可以直接从数据库显示曝光描述(您还可以从 Exposure_info 表填充 Web 表单上的下拉菜单)。就按照示例SQL来看看你是否理解了。 **
创建表 photo_clients( id INT 自动递增主键, 客户端名称 VARCHAR(100), 曝光TINYINT );
创建表exposure_info( 暴露INT AUTO_INCRMENT PRIMARY KEY, 描述 VARCHAR(100) );
插入exposure_info(描述)值('迷你'),('标准'),('海报');
插入 photo_clients (client_name, 曝光) VALUES ('John Doe', 2), ('Jane Smith', 1), ('Johnny Walker', 3);
选择 a.client_name AS 客户端,b.description AS 曝光 FROM photo_clients a,exposure_info b WHERE a.exposure = b.exposure;
上述语句的输出应类似于:
client exposure
------------------------
Jane Smith mini
John Doe standard
Johnny Walker poster