我有一个PHP代码来设置每日后台页面更改(每天更改基于数据库中的日期名称)
在我的桌子上
BACKGROUND_DAY | BACKGROUND_IMAGE
Monday | White.png
Tuesday | Black.png
Wednesday | Yellow.png
\\until Sunday
然后我查询它:
$day = date("l");
$qBackground = oci_parse($c1, "SELECT * FROM WA_GA_TBL_BACKGROUNDS");
oci_execute($qBackground);
while($dBackground = oci_fetch_array($qBackground))
{
$backgroundDayArray[] = $dBackground['BACKGROUND_DAY'];
$backgroundImageArray[] = $dBackground['BACKGROUND_IMAGE'];
}
//print_r backgroundDayArray
Array ( [0] => Saturday [1] => Wednesday [2] => Friday [3] => Tuesday [4] => Thursday [5] => Monday [6] => Sunday )
$bg_color = isset($backgroundImageArray[$day]) ? $backgroundImageArray[$day] : 'black';
并将其设置为HTML
<style>
html
{
background: url(assets/img/background/<?php echo $bg_color; ?>) no-
repeat center center fixed;
}
</style>
结果是页面没有显示任何内容。
我想要的是,
根据表日设置背景图像。如果今天是星期一,则将其设置为星期一的背景图像。
有什么想法吗?
答案 0 :(得分:1)
你甚至不需要在这里使用while循环。当您查询数据库时,使用PHP date('l')
传递查询中的当前日期。这将动态获取当前日期的颜色。
$day = date('l');
$query = "select BACKGROUND_IMAGE from WA_GA_TBL_BACKGROUNDS where BACKGROUND_DAY = $day";
确保您回显当前背景图片的页面具有.php
扩展名。还要确保路径存在。
答案 1 :(得分:0)
$backgroundImageArray
是一个以int
为键的关联数组。因此,$backgroundImageArray[$day]
将始终未设置,您的条件将导致black
。
print_r($backgroundImageArray)
会给你提示。
在while循环中,用
$backgroundImageArray[$dBackground['BACKGROUND_DAY']] = $dBackground['BACKGROUND_IMAGE'];
它应该有用。