2017-08-19 6 views
0

からデーに基づいて、私はPHP変更背景画像が毎日私は毎日背景ページの変更を設定するための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にそれを設定します

その結果、ページには何も表示されません。

私が欲しいものは、

テーブルの日に基づいて背景画像を設定します。今日が月曜日の場合は、月曜日の背景イメージに設定します。

答えて

1

ここでもwhileループは必要ありません。データベースを照会するときに、PHPのdate('l')を使用して照会の現在の日付を渡します。これにより、現在の日付の色が動的に取得されます。

$day = date('l'); 
$query = "select BACKGROUND_IMAGE from WA_GA_TBL_BACKGROUNDS where BACKGROUND_DAY = $day"; 

あなたは現在の背景画像をエコーし​​ているページは.php拡張子を持っていることを確認してください。また、パスが存在することを確認してください。

+1

私の心を開いてくれてありがとう:)ただそれを実現しました –

+0

私の喜び:)。 – Akintunde007

0

$backgroundImageArrayは、intをキーとする連想配列です。したがって、$backgroundImageArray[$day]は常に設定されなくなり、条件はblackになります。 print_r($backgroundImageArray)はあなたにヒントを与えます。あなたのwhileループで 、

$backgroundImageArray[$dBackground['BACKGROUND_DAY']] = $dBackground['BACKGROUND_IMAGE']; 

で配列文を交換し、それが動作するはずです。

関連する問題