สอบถาม admin/ผู้รู้ครับ

662 สังคมนักพัฒนาระบบ (Community)

เราจะสามารถเขียนข่าวประชาสัมพันธ์ และดึงข่าวนั้นจากฐานข้อมูลมาแสดงแล้วให้มีกำกับไว้ว่า ถ้าข่าวไหนเพิ่งอับเดทไปให้ขึ้นภาพ " new.gif "ในข่าวนั้น แต่ถ้าข่าวไหนที่มีการอับเดทนานแล้วให้ขึ้นภาพ " hit.gif " หรือ " update.gif " ที่ข่าวนั้น รบกวนให้ตัวอย่างเพื่อที่จะเอามาประยุกต์ใช้ในการพัฒนาด้วยครับ ขอบคุณครับ

คำตอบ/อธิบาย

มานพ กองอุ่น

มานพ กองอุ่น

ตอบเมื่อ

สามารถทำได้ 2 แบบ คือ แบบที่ SELECT จาก คำสั่ง SQL และแบบเขียนโปรแกรม ในที่นี้ลองใช้แบบคำสั่ง SQL ลักษณะดังนี้ครับ

SELECT post.id,
IF(created_at >= (NOW() - INTERVAL 20 DAY), 'new.gif', 'other.gif') as result
FROM post

IF (condition, true, false)

ตัวอย่างผลลัพท์

id result
1 new.gif
2 other.gif

 

ตอบเมื่อ

admin ครับ รบกวนช่วยชี้แนะด้วยครับผมยังไม่เข้าใจการแทรกโค้ดนี้ครับ เขียนไปแล้วไม่มีอะไรเกิดขึ้นเลยครับ

มานพ กองอุ่น

มานพ กองอุ่น

ตอบเมื่อ

เอาไปเขียนเพื่อดึงข้อมูลน่ะครับ ก็ต้องเอาไปเขียนกับ PHP ครับ

$sql = "SELECT post.id,post.title,
IF(created_at >= (NOW() - INTERVAL 20 DAY), 'new.gif', 'other.gif') as result
FROM post";
$result = mysqli_query($sql);
while($rs = mysqli_fetch_array($result)){
echo $rs['title'].$rs['result'];
}

ทำนองนี้ครับ

ตอบเมื่อ

โอเค ของคุณครับ