Monthly Archives: ธันวาคม 2012

คุมการแสดงผลตามเวลา


ตัวอย่าง query กำหนดเวลาแสดงผลของ mysql ให้แสดง ไม่แสดงตามเวลาที่กำหนด โดยยูเซอร์เลือกที่จะใส่ไม่ใส่ time, expire, start, end ก็ได้ เช่น จะแสดงหลังวันที่ xxx ไปตลอดกาลก็ใส่แต่วันที่เริ่มต้น จะแสดงจนถึงวันที่เท่าไหร่ก็ใส่เฉพาะวันที่สิ้นสุด จะแสดงในช่วงเวลาก็ใส่ทั้งคู่ กลับกัน ไม่ใส่ทั้งคู่ก็เหมือนไม่กำหนดเงือนไขอะไรเลย

SELECT *,
       CASE
         WHEN datePublish != '0000-00-00'
              AND dateExpire != '0000-00-00' THEN
         IF(datePublish <= Curdate()
            AND dateExpire >= Curdate(), true, false)
         WHEN datePublish != '0000-00-00' THEN
         IF(datePublish <= Curdate(), true, false
         )
         WHEN dateExpire != '0000-00-00' THEN
         IF(dateExpire >= Curdate(), true, false)
         ELSE true
       end AS published
FROM   pp_contents
HAVING published = true
โฆษณา

PHP เทมเพลต


วิธีติดต่อ user ดีที่สุดคือการส่งจดหมายข่าวบอกไปว่าเว็บเราอัพเดต มีอะไรน่าสนใจบ้าง แต่จะให้ส่งข้อความไปเหมือนๆ กันทุกๆ คน คงจะดูไม่น่าสนใจเท่าไหร ถ้ามีบางส่วนที่พิเศษไปสำหรับแต่ละคน เช่น แสดงชื่อของลูกค้า จะดูน่าสนใจขึ้นใช้ไหมครับ
ก่อนอื่นก็สร้างไฟล์ที่เป็นต้นแบบของจดหมายมาก่อนชื่อ templates.tmp.html

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>#title#</title>
</head>
<body bgcolor="#c00000">
#contents#
</body>
</html>

จากนั้นจะทดลองเปลี่ยนเนื้อหาจากต้นฉบับดู สร้างไฟล์ templates.php ตามตัวอย่าง

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>PHP template By Pitt Phunsanit</title>
</head>
<body>
<?php
$output = file_get_contents('templates.tmp.html');
$patternSearch = array('#title#', '#contents#');
$patternReplace = array('ทดลองเทมเพลต', 'แสดงเนื้อหาแล้วนะ');
$output = str_replace($patternSearch, $patternReplace, $output);
echo'<textarea cols="200" rows="40">',$output,'</textarea>';
?>
</body>
</html>

หลักการง่ายๆ คือแทนที่คำๆหนึ่ง ด้วยค่าจากตัวแปรอื่น ๆ ลองดัดแปลงใช้กับฟังก์ชั่นเมล์ดูนะครับ อาจจะเพิ่มให้มีไฟล์ต้นแบบหลายๆ แบบ

%d bloggers like this: