ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

ThaiSEOBoard.comความรู้ทั่วไปGeneral (ถามคุยวิชาการ IM)สอบถามวิธีการทำให้ภาพหรือเนื้อหาเปลี่ยนตามเดือน PHP
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: สอบถามวิธีการทำให้ภาพหรือเนื้อหาเปลี่ยนตามเดือน PHP  (อ่าน 963 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
2DTH
ก๊วนเสียว
*

พลังน้ำใจ: 19
ออฟไลน์ ออฟไลน์

กระทู้: 463



ดูรายละเอียด เว็บไซต์
« เมื่อ: 25 กันยายน 2017, 10:19:42 »

ตอนนี้ที่ทำได้คือ ภาพพื้นหลังเว็บเปลี่ยนตามเวลาเเต่ทีนี้อยากให้มีเปลี่ยนตามเดือนหรือตามฤดูกา่รด้วยไม่ทราบว่าต้องทำอย่างไรครับนี่ Lips Sealed
ตัวอย่างโค้ดที่เปลี่ยนตามเวลา
อ้างถึง
<?php
 
date_default_timezone_set("Asia/Bangkok"); // Time zone
 
$time = date("H"); // Time in 24 hour
 
if (04 <= $time && $time < 05) // 4:00 to 6:00 
    {
    echo
'<link href="css/test.css" rel="stylesheet" type="text/css" media="screen" />';
    }
 
elseif (05 <= $time && $time < 07) // 8:00 to 12:00   
    {
    echo
'<link href="css/test.css" rel="stylesheet" type="text/css" media="screen" />';
    }

elseif (07 <= $time && $time < 12) // 8:00 to 12:00   
    {
    echo
'<link href="css/test.css" rel="stylesheet" type="text/css" media="screen" />';
    }
   
elseif (12 <= $time && $time < 13) // 12:00 to 13:00   
    {
    echo
'<link href="css/test.css" rel="stylesheet" type="text/css" media="screen" />';
    }
 
elseif (13 <= $time && $time < 15) // 13:00 to 15:00 
    {
    echo
'<link href="css/test.css" rel="stylesheet" type="text/css" media="screen" />';
    }
 
elseif (15 <= $time && $time < 17) // 15:00 to 17:00   
    {
    echo
'<link href="css/test.css" rel="stylesheet" type="text/css" media="screen" />';
    }
 
elseif (17 <= $time && $time < 18) // 17:00 to 18:00 
    {
    echo
'<link href="css/test.css" rel="stylesheet" type="text/css" media="screen" />';
    }
 
elseif (18 <= $time && $time < 20) // 18:00 to 20:00 
    {
    echo
'<link href="css/test.css" rel="stylesheet" type="text/css" media="screen" />';
    }
 
elseif (20 <= $time && $time < 22) // 20:00 to 22:00
    {
    echo
'<link href="css/test.css" rel="stylesheet" type="text/css" media="screen" />';
    }
 
else // all other hours  22:00 to 4:00
    {
    echo
'<link href="css/test.css" rel="stylesheet" type="text/css" media="screen" />';
    }
 
?>

รบกวนด้วยครับ wanwan017
บันทึกการเข้า

misterpst
Newbie
*

พลังน้ำใจ: 1
ออฟไลน์ ออฟไลน์

กระทู้: 5



ดูรายละเอียด
« ตอบ #1 เมื่อ: 25 กันยายน 2017, 11:05:36 »

ผมไม่ค่อยรู้เรื่องของฤดูว่าเดือนไหนถึงเดือนไหน แต่คร่าวๆจะประมาณนี้ก็ได้ครับ

โค๊ด:
<?php
$month 
date('n'); // แสดงเดือนแบบ 1-12

if($month <= 3) { 
    
//ฤดูที่ 1 
} else if ($month <= 6) {
    
//ฤดูที่ 2 
} else if ($month <= 9) {
    
//ฤดูที่ 3 
} else {
    
//ฤดูที่ 4
}
บันทึกการเข้า
2DTH
ก๊วนเสียว
*

พลังน้ำใจ: 19
ออฟไลน์ ออฟไลน์

กระทู้: 463



ดูรายละเอียด เว็บไซต์
« ตอบ #2 เมื่อ: 25 กันยายน 2017, 13:53:04 »

ผมไม่ค่อยรู้เรื่องของฤดูว่าเดือนไหนถึงเดือนไหน แต่คร่าวๆจะประมาณนี้ก็ได้ครับ

โค๊ด:
<?php
$month 
date('n'); // แสดงเดือนแบบ 1-12

if($month <= 3) { 
    
//ฤดูที่ 1 
} else if ($month <= 6) {
    
//ฤดูที่ 2 
} else if ($month <= 9) {
    
//ฤดูที่ 3 
} else {
    
//ฤดูที่ 4
}
จะลองดูครับขอบคุณครับขอถามเพิ่มเติมอีกหน่อย ถ้าเป็นอาทิตละครับ wanwan017
บันทึกการเข้า

misterpst
Newbie
*

พลังน้ำใจ: 1
ออฟไลน์ ออฟไลน์

กระทู้: 5



ดูรายละเอียด
« ตอบ #3 เมื่อ: 25 กันยายน 2017, 16:53:20 »

จะลองดูครับขอบคุณครับขอถามเพิ่มเติมอีกหน่อย ถ้าเป็นอาทิตละครับ wanwan017

ลองดูตามนี้ครับ อธิบายไม่ค่อยเก่ง ไม่รู้จะเขียนงงๆ ไหม
ไล่ดีๆ code อาจจะสั้นได้กว่านี้นะครับ ผมก็ไม่ค่อยเก่งด้าน programming สักเท่าไหร่ Tongue
ลองเอาไปประยุกใช้ดูครับ

โค๊ด:
<?php
$days 
= ['Sunday''Monday''Tuesday''Wednesday''Thursday''Friday''Saturday'];
$month strtotime(date('Y-m-01')); // แปรงวันที่ 1 ของเดือนและปีปัจจุบันเป็น time

$startDayInMonth date('l',$month); // หาว่าวันที่ 1 ของเดือนนั้นเป็นวันอะไร
$indexOfDays array_search($startDayInMonth$days); // หาตำแหน่ง array ของตัวแปร $days

$dateInMonth date('t'$month); // หาจำนวนวันของเดือน
$weeksInMonth ceil(($indexOfDays $dateInMonth 1) / 7); // หาจำนวนอาทิตของเดือน

$count 0// ประกาศเริ่มต้นเป็น 0 เพราะจะเอาไว้นับว่าตรงกับตำแหน่งวันแรกของเดือนหรือยัง จากตัวแปร $days
$date 1// ประกาศตัวแปรเริ่มต้น วันที่ 1
$weeks = []; // ประกาศตัวแปรเป็น array เพื่อเอาไว้เก็บวันสุดท้ายของแต่ละอาทิต

for($week 1$week <= $weeksInMonth$week++) { //  ลูปแรก วนลูปตามจำนวนอาทิตของเดือน
for($dateInWeek 1$dateInWeek <= 7$dateInWeek++) { // ลูปสอง วนลูป 7 รอบ ต่ออาทิต ( จากลูปแรก ) 
if($count >= $indexOfDays && $date <= $dateInMonth) { 
/* if เช็คว่าค่าของ $count มีค่ามากกว่าหรือเท่ากับ $indexOfDays (ตำแหน่ง array ของ $days ที่หาว่าวันแรกของเดือนเป็นวันอะไร) หรือยัง เพราะต้องเริ่มเพิ่มค่าเมื่อวันที่ 1 ตรงกับวันเริ่มต้นของเดือน
และค่า $date(วันที่) ต้องไม่มากกว่า $dateInMonth(จำนวนวันทั้งหมดของเดือน)
*/
$weeks[$week] = $date;
$date++;
}
$count++;
}
}

$dateNow date('j'); // ค่าวันปัจจุบันว่าวันที่เท่าไหร่ แสดงผลเป็น 1-31
$styleWeek = ['style week 1'
              
'style week 2'
      'style week 3'
      'style week 4'
      'style week 5']; // กำหนด style ของแต่ละอาทิต
  
foreach(
$weeks as $week => $endDay) {
if($dateNow <= $endDay) {
echo $styleWeek[$week-1]; // ที่ลบ 1 เพราะ $weeks ค่า array เริ่มต้นที่ 1 แต่ $styleWeek array เริ่มต้นที่ 0
}
}
บันทึกการเข้า
redbear
บุคคลทั่วไป
« ตอบ #4 เมื่อ: 25 กันยายน 2017, 17:40:13 »

เก็บข้อมูลคราบ
บันทึกการเข้า
2DTH
ก๊วนเสียว
*

พลังน้ำใจ: 19
ออฟไลน์ ออฟไลน์

กระทู้: 463



ดูรายละเอียด เว็บไซต์
« ตอบ #5 เมื่อ: 25 กันยายน 2017, 18:41:20 »

จะลองดูครับขอบคุณครับขอถามเพิ่มเติมอีกหน่อย ถ้าเป็นอาทิตละครับ wanwan017

ลองดูตามนี้ครับ อธิบายไม่ค่อยเก่ง ไม่รู้จะเขียนงงๆ ไหม
ไล่ดีๆ code อาจจะสั้นได้กว่านี้นะครับ ผมก็ไม่ค่อยเก่งด้าน programming สักเท่าไหร่ Tongue
ลองเอาไปประยุกใช้ดูครับ

โค๊ด:
<?php
$days 
= ['Sunday''Monday''Tuesday''Wednesday''Thursday''Friday''Saturday'];
$month strtotime(date('Y-m-01')); // แปรงวันที่ 1 ของเดือนและปีปัจจุบันเป็น time

$startDayInMonth date('l',$month); // หาว่าวันที่ 1 ของเดือนนั้นเป็นวันอะไร
$indexOfDays array_search($startDayInMonth$days); // หาตำแหน่ง array ของตัวแปร $days

$dateInMonth date('t'$month); // หาจำนวนวันของเดือน
$weeksInMonth ceil(($indexOfDays $dateInMonth 1) / 7); // หาจำนวนอาทิตของเดือน

$count 0// ประกาศเริ่มต้นเป็น 0 เพราะจะเอาไว้นับว่าตรงกับตำแหน่งวันแรกของเดือนหรือยัง จากตัวแปร $days
$date 1// ประกาศตัวแปรเริ่มต้น วันที่ 1
$weeks = []; // ประกาศตัวแปรเป็น array เพื่อเอาไว้เก็บวันสุดท้ายของแต่ละอาทิต

for($week 1$week <= $weeksInMonth$week++) { //  ลูปแรก วนลูปตามจำนวนอาทิตของเดือน
for($dateInWeek 1$dateInWeek <= 7$dateInWeek++) { // ลูปสอง วนลูป 7 รอบ ต่ออาทิต ( จากลูปแรก ) 
if($count >= $indexOfDays && $date <= $dateInMonth) { 
/* if เช็คว่าค่าของ $count มีค่ามากกว่าหรือเท่ากับ $indexOfDays (ตำแหน่ง array ของ $days ที่หาว่าวันแรกของเดือนเป็นวันอะไร) หรือยัง เพราะต้องเริ่มเพิ่มค่าเมื่อวันที่ 1 ตรงกับวันเริ่มต้นของเดือน
และค่า $date(วันที่) ต้องไม่มากกว่า $dateInMonth(จำนวนวันทั้งหมดของเดือน)
*/
$weeks[$week] = $date;
$date++;
}
$count++;
}
}

$dateNow date('j'); // ค่าวันปัจจุบันว่าวันที่เท่าไหร่ แสดงผลเป็น 1-31
$styleWeek = ['style week 1'
              
'style week 2'
      'style week 3'
      'style week 4'
      'style week 5']; // กำหนด style ของแต่ละอาทิต
  
foreach(
$weeks as $week => $endDay) {
if($dateNow <= $endDay) {
echo $styleWeek[$week-1]; // ที่ลบ 1 เพราะ $weeks ค่า array เริ่มต้นที่ 1 แต่ $styleWeek array เริ่มต้นที่ 0
}
}
ประยุกได้ก่อนหน้าเเล้วเเต่ก้อขอบคุณมากครับ wanwan017
บันทึกการเข้า

Fallen
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 162
ออฟไลน์ ออฟไลน์

กระทู้: 2,751



ดูรายละเอียด เว็บไซต์
« ตอบ #6 เมื่อ: 25 กันยายน 2017, 19:16:33 »

เสาร์ อาทิตย์ เราใช้แบบนี้น่ะ

<?php
$day = date('D');
$t = date("H");
if($day=='Sat' || $day=='Sun'){
echo "<div style ='font:15px kanit,tahoma,sans-serif;color:#ff0000'><b>ปิดทำการ</b></div>";

}


ไม่รับงานอ่ะนะ

 wanwan019
บันทึกการเข้า

2DTH
ก๊วนเสียว
*

พลังน้ำใจ: 19
ออฟไลน์ ออฟไลน์

กระทู้: 463



ดูรายละเอียด เว็บไซต์
« ตอบ #7 เมื่อ: 26 กันยายน 2017, 12:02:02 »

เสาร์ อาทิตย์ เราใช้แบบนี้น่ะ

<?php
$day = date('D');
$t = date("H");
if($day=='Sat' || $day=='Sun'){
echo "<div style ='font:15px kanit,tahoma,sans-serif;color:#ff0000'><b>ปิดทำการ</b></div>";

}


ไม่รับงานอ่ะนะ

 wanwan019
ได้เเบบบนี้มาด้วยขอบคุณมากเลยครับ กำลังคิดอยู่เลยว่าจะทำยังไงกับวันหยุด wanwan017
บันทึกการเข้า

หน้า: [1]   ขึ้นบน
พิมพ์