WP Remix
Nop Pinyowanichaka | ก้าวสั้นๆ ในวันเบาๆ ของผม
Ewery

PHP

สุดยอด Server Script

14
Aug
2009

เริ่มต้นง่ายๆ กับการเขียน Wordpress Plugin บทที่ 1

ว่าจะลองเขียน Plugin ของ Wordpress หลายต่อหลายครั้งแล้ว แต่ยังไม่ได้เริ่มเลยสักครั้ง คราวนี้ฤกษ์งามยามดีเพราะว่าต้องทำ Theme ให้ www.iamewery.com แล้วต้องไปแก้ Plugins หลายๆอันเพื่อให้สวยงามพอดีกับ Theme และยังอยากเขียน Plugins ที่สำหรับ ใส่ตัวเก็บสถิติของ Stats.in.th ด้วย (โปรเจ็คถัดไป) วันนี้เลยเอาวิธีเขียน Plugins แบบ ง่ายมาเขียนให้ดูกันครับ

ในบทที่ 1 นี้เราจะเริ่มเขียน Plugin ง่ายๆตัวนึง โดยตั้งชื่อว่า WP-ColorClock หน้าที่ของปลั๊กอินอันนี้คือการแสดงวันที่ปัจจุบันในทุกๆ Post ด้วยอักษรสีแดง

ให้ทำการสร้าง File ชื่อ wp-colorclock.php ไว้ใน wp-content/plugins จากนั้นเข้าไปแก้ไขไฟล์นี้ด้วย Notepad หรือ Editor อื่นๆตามถนัด

< ?php
/*
Plugin Name: WP-ColorClock
Version: 0.1
Description: Plugin Description
Author: Plugin Author Name
Author URI:  Author website url
Plugin URI: Plugins website url
*/
?>

อ่านต่อ

Category : PHP | Blog
22
May
2008

เริ่มเอา Codeigniter ที่เป็น PHP Framework มาใช้งาน เนื่องจาก Learning Curve ต่ำๆ ของมัน ทำให้พอถูๆไถๆ ไปกับเค้าได้ แต่ผมว่ามันไม่ค่อย Smooth กับ MSSQL เอาเสียเลย เพราะ แม้ว่า Version ล่าสุดจะออกมาแล้วก็ตามยังไม่สามารถแก้ปัญหา การใช้ ActiveRecord กับ MSSQL ในการ Select ข้อมูลได้เลย สำหรับคนที่ีมีปัญหาเหมือนกัน ผมไปค้นเจอที่ Forum เลยเอามา Post ไ้ว้ จากที่นี่

$this->obj->db->select($filed_result);
$this>obj>db>where($filed_get,$keyword);
$query = $this>obj->db->get($table_get);

ถ้า Select แบบนี้ละก็ Error อย่างไม่ทราบสาเหตุทันที ทั้งๆ ที่ Query ถูก ให้ไปแก้ไข database/drivers/mssql/mssql_driver.php บรรทัดที่ 461 จาก

$item = preg_replace('/(^'.$lbound.')([\w\d\-\_]+?)(\s|\)|$)/iS', '$1"$2"$3', $item);

เป็น

$item = preg_replace('/(^'.$lbound.')([\w\d\-\_]+?)(\s|\)|$)/iS', '$1$2$3', $item);

บรรทัดที่ 466 จาก

return "\"{$item}\"";

เป็น

return "{$item}";

ก็จะสามารถใช้งาน Activerecord ใน mssql ได้ครับ

Category : PHP | Blog
6
May
2008

ใช้ Pagination ใน Codeigniter กับ ฐานข้อมูล Microsoft SQL (MSSQL)

คือผมได้มีโอกาศลองใช้ Codeigniter กับ การเขียน โปรแกรมเรียกดูข้อมูลง่ายๆ จาก MSSQL แต่ติดปัญหาเรื่องการแบ่งหน้าด้วย Pagination ลองค้นๆ ดูใน Forum เค้าให้ไปแก้ไฟล์

\system\database\drivers\mssql\mssql_driver.php

ตรงบรรทัด function _limit($sql, $limit, $offset) ให้เป็นแบบนี้

function _limit($sql, $limit, $offset)
{
// Horrible solucion =)
//$i = $limit + $offset;
//return preg_replace(’/(^\SELECT (DISTINCT)?)/i’,'\\1 TOP ‘.$i.’ ‘, $sql);
$cursorName = ‘mi_cursor_’.md5(strtolower($sql));
$sql = “DECLARE “.$cursorName.” CURSOR DYNAMIC READ_ONLY FOR
“.$sql.”
OPEN “.$cursorName.”
DECLARE @CURSOR AS INT
SELECT @CURSOR = CURSOR_HANDLE FROM MASTER.DBO.SYSCURSORS
WHERE CURSOR_NAME = ‘”.$cursorName.”‘
EXEC SP_CURSORFETCH @CURSOR, 32, “.($offset+1).”, “.$limit.”
EXEC SP_CURSORCLOSE @CURSOR”;
return $sql;
}

ก็จะหายครับ

Category : PHP | Blog
18
Jan
2008

PHP มัน Error แบบนี้

Cannot modify header information – headers already sent

แก้ยังไง

มันมี 2 ทางแก้ครับ

1. แก้ที่ php.ini
โดย แก้ บรรทัดที่ output_buffering จาก Off ให้เป็น On ซะ
output_buffering = On

2. override config ของ php ด้วย code
โดย ใส่ ob_start(); ไว้บนสุดของ Page ครับ

Category : PHP | Blog
1
Apr
2007
1
2
3
4
5
6
7
8
9
10
11
12
13
function makeurl($param)
{
$replace=str_replace(' ','-',$param);
$replace=str_replace('&amp;','and',$replace);
$replace=str_replace('/','-',$replace);
$replace=str_replace('(','',$replace);
$replace=str_replace(')','',$replace);
$replace=str_replace('+','',$replace);
$replace=str_replace('#','',$replace);
$replace=str_replace("'",'-',$replace);
$replace=str_replace('"','-',$replace);
return $replace;
}

จะเป็น function ในการ เปลี่ยน – ‘ / ( ) # ‘ ” ให้เป็น – เพื่อให้เหมาะสมกับการค้นหาของ google

Category : PHP | Blog