我从我的数据库中获取一些数据,带有查询然后我通过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;
我怎么办,曝光= 1曝光= 1 =迷你和曝光= 2 =标准等等。
答案 0 :(得分:3)
if ($a['exposure'] == 1){
echo "Mini";
}
elseif($a['exposure'] == 2){
echo "Standard";
}
答案 1 :(得分:0)
$labels = array(1 => 'Mini', 2 => 'Standart');
echo $labels[$a['exposure']];
答案 2 :(得分:0)
独立存储值而不是使用(可能)巨大的if
结构可能会有所帮助:
$exposures = array(
1 => 'Mini',
2 => 'Standard',
// and so forth
);
while($a = mysql_fetch_assoc($r)):
echo $exposures[ $a['exposure'] ];
endwhile;
只需0.02美元即可使代码更清晰。
答案 3 :(得分:0)
**执行此操作的另一个好方法是在数据库中维护一个表格结构,该表格结构将曝光编号与其描述相关联。这样,您可以直接从数据库中显示曝光描述(您还可以从exposure_info表中填充Web表单上的下拉菜单)。只需按照示例SQL查看您是否理解。 **
CREATE TABLE photo_clients( id INT AUTO_INCREMENT PRIMARY KEY, client_name VARCHAR(100), 曝光TINYINT );
CREATE TABLE exposure_info( 曝光INT AUTO_INCREMENT PRIMARY KEY, 描述VARCHAR(100) );
INSERT INTO exposure_info(description)VALUES('mini'),('standard'),('poster');
INSERT INTO photo_clients(client_name,exposure)VALUES('John Doe',2),('Jane Smith',1),('Johnny Walker',3);
SELECT a.client_name AS client,b.description AS exposure FROM photo_clients a,exposure_info b WHERE a.exposure = b.exposure;
上述陈述的输出应如下所示:
client exposure
------------------------
Jane Smith mini
John Doe standard
Johnny Walker poster