วันจันทร์ที่ 31 มีนาคม พ.ศ. 2557

หา timeleft โดยใช้ฟังก์ชั่น strtotime() ง่ายๆๆ ง้าย ง่าย

ตัวอย่างเลยครับผม ง่ายจริงอะไรจริง

$date1 = "28-03-2014"; //วันซี้อสินค้า
$date2 = "31-03-2014"; //วันครบกำหนดชำระ
$timestamp_date1 = strtotime($date1); //ค่าที่ได้จะเป็น timestamp เป็นเลขหลายหลัก
$timestamp_date2 = strtotime($date2); //ค่าที่ได้จะเป็น timestamp เป็นเลขหลายหลัก
$timeleft = ceil(($timestamp_date2 - $timestamp_date1)/(60*60*24)); 
echo "".$timeleft;
ผลลัพธ์ที่ได้จะได้เท่ากับ
 3
ซื่งก็ตรงกับความเป็นจริง คือ วันครบดิวคือ 31/3/14 - 28/3/14 = 3

ส่วนตัว (60*60*24) ใส่เพื่อให้เราดูคำตอบเป็นจำนวนวัน ไม่ใช่ timestamp
(60 = วินาที * 60 = นาที * 24 ชั่วโมง) = 1 วันพอดี

ตัว ceil มีไว้เพื่อปัดทศนิยมขึ้น (ใช้ในบางกรณี มีหรือไม่มีก็ได้ แต่มีจะดีกว่า)


เพิ่มเติม หากอยากรู้ว่า 7 วันที่แล้วเป็นวันอะไรลองทำตามดูครับ
$today = date("d-m-Y"); //วันนี้
$answer = date("d-m-Y",strtotime("-7 days",strtotime($today))); // เจ็ดวันที่แล้ว
echo $answer; //คำตอบ

** -7 days ก็หมายความว่า เจ็ดวันที่แล้วมีอีกหลายอย่างให้เล่นเลยครับเด๋วไว้มาต่อ


หาวันที่ตอนสิ้นเดือนนะครับ
echo date("t-m-Y", strtotime("1-12-2018"));  //หาจำนวนวันสิ้นเดือนของเดือนธันวา ผลลัพธ์ = 31
ส่วนใหญ่ วันสิ้นเดือนนี้ ส่วนใหญ่เอาไว้ใช้ ประยุกต์ ดักหาของเดือน กุมภาพันธ์ หรือเดือน 2 นั่นล่ะครับที่แต่ละปีวันมันไม่เท่ากัน

วันอาทิตย์ที่ 30 มีนาคม พ.ศ. 2557

เปลี่ยนสตริง ด้วยคำสั่ง str_replace()

str_replace() เป็นคำสั่ง php ที่นิยมใช้กันมาก ถ้าจะทำพวกการ Search ข้อมูลต่างๆ ในดาตาเบสเช่น ทำ form search มาแล้วค้นหาคำว่า iphone ได้เรคคอร์ด 2 เรคคอร์ดดังนี้

1. iphone 5s 16gb มือสองราคา  20000 บาท
2. iphone 4s 16gb มือสองราคา 8000 บาท

แต่เราต้องการให้ผลการค้นหา เปลี่ยนสีฟ้อนตามคำที่ค้นหาก็ทำแบบนี้

$record_a = "iphone 5s 16gb มือสองราคา  20000 บาท";
$record_b = "iphone 4s 16gb มือสองราคา 8000 บาท";

$search = "iphone";
$record_c = str_replace($search,"<font color=red>$search</font>",$record_a);    :
echo $record_c;

ผลลัพธ์คือ
iphone 5s 16gb มือสองราคา  20000 บาท

ก็ประมาณนี้ ส่วนเรื่องของรูปแบบคำสั่งนั้นคือ

 str_replace('คำที่ต้องการเปลี่ยน','เปลี่ยนเป็นอะไร','ของประโยคไหน',หาเจอกี่ตัว);

ไอ้ หาเจอกี่ตัวก็จะใส่เป็นตัวแปรเก็บไว้เป็นตัวเลขเช่น

echo str_replace('a','x','aiboyba',$count);
echo $count;

ผลลัพธที่ได้ในการ echo ไอ้สองบรรทัดบนคือ xiboybx 
ง่าย ง่าย ง่าย ง่าย ง่าย

วันศุกร์ที่ 28 มีนาคม พ.ศ. 2557

การแก้ไข ในกรณีที่โฮสใช้ imagettftext ไม่ได้

ไม่รู้สาเหตุเหมือนกันว่าทำไม แต่ตามประสบการณ์ที่เคยเจอคือจะทำ Captcha เพื่อให้เว็บใช้กรอกก่อนลงความเห็นครับ ใช้ไปใช้มา ดันใช้ไม่ได้สะงั้น ผมเลยลองสังเกตดูจากเว็บ หลายๆ เว็บที่ทำมา เลยพบว่ามันเป็นที่โฮสครับ วิธีการก็ตามนี้เลย

.ใส่ putenv('GFONTPATH=' .realpath('.')); ไว้ก่อนบรรทัดที่ต้องใช้คำสั่ง imagettftext แค่นี้ก็จบข่าวแล้วจ้า
ง่ายมั้ย..

วันพฤหัสบดีที่ 27 มีนาคม พ.ศ. 2557

เครื่องหมายคำพูด หรือ " ' ใน php

เคยแบบนี้ไหม
echo "<a href='index.php?id=$row['abc']'>ดูสินค้า</a>";
อันนี้ยกตัวอย่างนะ มันรันไม่ได้ มัน Error ก็เพราะ ไอ้เจ้า a href = ' ' เขาเดียวมันไปคร่อม $row['abc'] เขาเดียวเหมือนกัน ดังนั้น ยัดไอ้นี่ไปแทน \"...\" ตัวอย่างคือ

echo "<a href=\"index.php?id=$row['abc']\">ดูสินค้า</a>";

รอดแล้วฮะ เขียนไว้กันตัวเองลืมเฉยๆ...