|
|
|
PHP ต้องการให้แสดงรูป "ใหม่" เฉพาะข่าวที่พิ่งอัพเดทไป 2 วัน ผมต้องทำยังไงครับ |
|
|
|
|
|
|
|
ใช้พวก DateDiff ครับ ถ้าต่างกันน้อยกว่า 2 วันก็ให้แสดง icons news ครับ
Code (PHP)
<?php
function DateDiff($strDate1,$strDate2)
{
return (strtotime($strDate2) - strtotime($strDate1))/ ( 60 * 60 * 24 ); // 1 day = 60*60*24
}
$createDate = "2013-03-03";
if(DateDiff($createDate,date("Y-m-d")) <=2)
{
echo "<img src='icons/news.gif'>";
}
?>
Go to : PHP DateDiff / TimeDiff
|
|
|
|
|
Date :
2013-03-04 06:44:17 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เสริมจ้า
หากดึงออกมาจากฐานข้อมูล ก็เพิ่มฟิลด์ไว้ตั้งแต่ตอน SELECT เลยก็ได้ครับ
ใช้ DATEDIFF() เปรียบเทียบ DATETIME สองตัว ซึ่งจะให้ค่าคืนกลับมาเป็น "จำนวนวัน" ที่ต่างกัน
แล้วก็เอาไปเปรียบเทียบว่าน้อยกว่าหรือเท่ากับ 2 หรือไม่ และกำหนดให้เป็นฟิลด์ใหม่ชื่อ is_new
สมมติว่าดึงกระทู้ออกมาจากตารางกระทู้
สมมติว่าตารางชื่อ webboard_topic
และมีฟิลด์ created เป็นชนิด DATETIME ที่บอกว่าตั้งเมื่อไหร่
ซึ่งจะเอามาเปรียบเทียบกับ NOW() (วันที่ปัจจุบัน)
SELECT `topic`.*, (DATEDIFF(`created`, NOW()) <= 2) AS `is_new` FROM `webboard_topics`
แล้วก็ตรวจจาก
$result = mysql_query("SELECT `topic`.*, (DATEDIFF(`created`, NOW()) <= 2) AS `is_new` FROM `webboard_topics`");
while (($row = mysql_fetch_assoc($result))) {
if ($row['is_new']) {
echo '<img src="new.png" />';
}
// ...
}
|
|
|
|
|
Date :
2013-03-04 09:19:19 |
By :
cookiephp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 03
|