SELECT email,
COUNT(email) AS NumOccurrences
FROM users
GROUP BY email
HAVING ( COUNT(email) > 1 )
Search
Sunday, October 26, 2008
Finding Duplicates with sql
Tuesday, October 21, 2008
display ip on page
//"ip.php" example- display user IP address on any page
Header("content-type: application/x-javascript");
$serverIP=$_SERVER['REMOTE_ADDR'];
echo "document.write(\"Your IP address is: " . $serverIP . "\")";
?>
Wednesday, October 15, 2008
Tuesday, October 14, 2008
XML super ster contest
่น่าสนใจครับ เปิดรับสมัครถึงวันที่ 28 February 2009 ก็จะมีหลายรายการที่จัดแข่งขันครับเข้าไปดูรายละเอียดได้
asiasoft.co.th
Gazopa picture search engine
เป็นเว็บ search engine แต่เป็นเว็บ search เกี่ยวกับรูปภาพนะครับ
ลองเล่นดูแล้วจะรู้ว่ามันทำได้ยังไงวะ
http://www.gazopa.com/demo_video
Monday, October 13, 2008
Joomla class document
http://php.joomlademo.de/nav.html?_classes/index.html
Retrieving menu parameters joomla
So, with that over dramatic intro, here's what I wanted to say:
[Q]
OK, I create parameters for my front-end component and populate them when I add a menu link to my component; how do I retrieve them *in* my component code?
[A]
$menu = new mosMenu( $database );
$menu->load( $Itemid );
$params = new mosParameters( $menu->params );
Saturday, October 11, 2008
CURL and Proxy Support
CURL has support for proxies, including SSL. Below we refer to the code snippet in the first example, but modify it to use a proxy.
[php] // Initialize the CURL library
$cURL = curl_init();
// Set the URL to execute
curl_setopt($cURL, CURLOPT_URL, "http://www.google.com");
// Set options
curl_setopt($cURL, CURLOPT_HEADER, 1);
curl_setopt($cURL, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($cCURL, CURLOPT_HTTPPROXYTUNNEL, 1);
curl_setopt($cCURL, CURLOPT_PROXY, "myproxy.com:1080");
curl_setopt($cCURL, CURLOPT_PROXYUSERPWD, "mysuername:mypassword");
// Execute, saving results in a variable
$strPage = curl_exec($cURL);
// Close CURL resource
curl_close($cURL);
// This will print out the HTML contents
echo($strPage);
?>[/php]
source : http://www.codeandcoffee.com
Drupal install error
แต่ตอนนั้นเล่นกับ drupal 5 วันนี้ลองเล่น drupal 6 บ้างมันจะเป็นยังไง
เริ่มแรกเลยผมก็ไปโหลดจาก drupal.org เป็น drupal 6 มาแล้วก็ up เข้า server ทันที แต่พอ install ปรากฏว่าเกิด error
Warning: fopen(./sites/default/default.settings.php) [function.fopen]: failed to open stream: No such file or directory in /home/www/virtual/morethailand.net/ednews/htdocs/includes/install.inc on line 188
Warning: Cannot modify header information - headers already sent by (output started at /home/www/virtual/morethailand.net/ednews/htdocs/includes/install.inc:188) in /home/www/virtual/morethailand.net/ednews/htdocs/includes/install.inc on line 618
Warning: Cannot modify header information - headers already sent by (output started at /home/www/virtual/morethailand.net/ednews/htdocs/includes/install.inc:188) in /home/www/virtual/morethailand.net/ednews/htdocs/includes/install.inc on line 619
ว่าไปแล้วความแตกต่างของขนาดไฟล์ drupal 5 กับ drupal 6 ก่างกันเยอะนะ drupal 5 สองร้อยกว่า ๆ แต่ drupal 6 ปาเข้าไป สี่ร้อยกว่า
error ยังไม่รู้เลยครับว่าจะแก้ยังไงดี
PHP MySQL Thai UTF8 TIS620
??????????????????????????????????????????????????????????????
??????????????????????????????????????????????????????????????
เวลาดึงฐานข้อมูลจาก MySQL หรือ phpMyAdmin
ปัญหานี้เป็นปัญหาจริงหรือ
- ไม่ใช่ปัญหาแต่ว่าผู้ใช้ปรับตัวเข้ากับเวอร์ชั่นใหม่ไม่เป็น
ถ้าไม่ใช่ปัญหาแล้วจะทำยังไงกับ MySQL 5.x , 4.1.x ที่ไม่ยอมเป็นไทย
- เวลา Connect Database ให้เพิ่มในส่วนของ mysql_db_query($dbname,"SET NAMES tis620");
เพิ่มเข้าไปทุกครั้งมีมีการ Connect
ทำการเพิ่ม SET NAMES tis620 ไปแล้วแต่ phpMyAdmin เวลา Dump ข้อมูลมันก็ยังเป็น ????? อยู่อีก
- เปิด my.ini ขึ้นมาโดยกดที่ Start -> run พิมพ์ my.ini แล้วกด Enter
ในส่วนของ [client] ให้เพิ่ม
default-character-set = tis620
ในส่วนของ [mysqld] หลัง database directory ให้เพิ่ม
default-character-set = tis620
character-set-server = tis620
collation-server = tis620_thai_ci
init_connect = 'SET collation_connection = tis620_thai_ci'
init_connect = 'SET NAMES tis620'
จากนั้น Restart MySQL
แล้วคนใช้ UTF-8 จะทำยังไงในเมื่อเรา SET ทุกอย่างเป็น tis620 หมด
- คนใช้ UTF-8 ต้องมา mysql_db_query($dbname,"SET NAMES UTF8"); เองซะแล้ว !!
** ในการ Input ข้อมูลต่างๆใน phpMyAdmin นั้นจะไม่มีผลใดๆ กับผู้ใช้ UTF8
เมื่อก่อนไม่เห็นมีแบบนี้เลยแล้วเมื่อก่อนให้เลือก character set คืออะไร
- เมื่อก่อนเป็น Character Set แบบปลอมๆ คือข้อมูลต่างๆที่เก็บลงฐานข้อมูลมันคือ latin1 นั่นเอง
แล้วทำไม Latin1 มันใช้ภาษาไทยได้หละ แน่นอนอยู่แล้วมันใช้ได้เนื่องจาก latin1 มัน Key map แบบเดียวกะ keyboard ไทย
และประเทศอื่นๆ ก็เป็น Key Map เดียวกัน แต่สมัยนี้พวกภาษาจะไม่ขึ้นอยู่กับ Key Map ที่เราเห็นอยู่แล้ว (UTF-8)
*** และที่สำคัญในเวอร์ชั่น 4.0, 3.x มีให้เลือก character set ตรงนั้นไม่ได้มีความหมายว่า เก็บข้อมูลเป็นภาษาไทย
ความหมายของมันคือ เรืยงลำดับภาษาไทย ต่างหาก คนไทยจึงเข้าใจผิดๆ มานาน -_-' กับ tis620 ใน MySQL
ไม่ก็ลองย้อนไปดูได้ครับแม้ว่าจะเลือก charset เป็น latin1 มันก็เก็บข้อภาษาไทยได้ เพียงแต่เรียงลำดับภาษาไทยไม่ได้เท่านั้น
แล้วทำไมสมัยนี้ MySQL ทำไมยุ่งยากกว่าเดิมเยอะ
- มันไม่ได้ยุ่งยากหรอกครับ มันอยู่ที่เราจะปรับตัวมากกว่า อย่ายึดติดกับหนังสือตามห้องสมุด เพราะที่ท่านอ่านมันเป็นความรู้เก่าๆ
ผมไม่ได้บอกว่าหนังสือที่เค้าขายกํนมันไม่ดีนะครับ เพียงแต่อยากจะบอกว่าที่เค้าขายกัน มันตกยุคไปนานโขแล้ว
เริ่มต้นทำความเข้าใจกับ MySQL ใหม่ เพราะที่มองเห็นว่ายุ่งยากกว่าเดิมจริงๆ ไม่ใช่ ควรเรียกว่าเป็นทางเลือกใหม่จะเหมาะสมกว่า
เพราะว่าระดับภาษาของ MySQL จะเจาะลึกลงไปเยอะมากคือ
- ต้องกำหนดภาษาเมื่อ Connect to Database
- ต้องกำหนดภาษาเมื่อ Create Database (การเรียงลำดับ)
- ต้องกำหนดภาษาเมื่อ Create Table (การเรียงลำดับ)
- ต้องกำหนดภาษาเมื่อ Create Field (การเรียงลำดับ)
รู้ปัญหามานานแล้วทำไมพึ่งมาบอก ??
- เพราะผมเลิกใช้ TIS-620 ไปแล้ว ตอนนี้ใช้แต่ UTF-8 ดีกว่าเยอะ !!
ความเสถียรของ MySQL 5.x เป็นยังไงบ้างเมื่อเทียบกับตัวเวอร์ชั่นเก่าๆ
- เสถียรกว่าเวอร์ชั่นเก่าๆ มาก ไม่มีอาการ Crash อิดๆ ออดๆ เหมือนแต่ก่อน ดังนั้น แนะนำให้ใช้เป็นอย่างยิ่ง
PHP5 ทำไมมี Bug เยอะจัง
- อันนี้ก็เข้าใจผิดๆ อีกเรื่องหนึ่งที่เจอกันเยอะมาก เข้าใหม่เสียว่า ที่ดูเป็น Bug ที่เห็นนั่นแหละ
คือเราเองเขียน Source Code ผิด เนื่องจาก PHP5 มี Sesnsitive มากๆ เกี่ยวกับการเขียน Code หลังจากที่
ผมเลือกใช้ PHP5 ผมจึงรู้ว่าสมองอันน้อยนิดที่คิดว่าผมเขียนโปรแกรมถูกนั้น ปรากฏว่าเจอ Error กระจาย
ต้องมาไล่แก้ code ใหม่อีกครั้ง ซึ่ง Error ที่แจ้งออกมา เราจะเห็นได้ว่าเราเขียนผิดเองจริงๆ และทำให้ผมมองย้อน
กลับไปที่ PHP4 จึงทำให้รู้ว่า PHP4 นี่แหละที่มี Bug เยอะกว่า PHP5เพราะว่าไม่ยอมแจ้งข้อผิดพลาดขึ้นมาเลย
ทั้งๆ ที่มีผิดอยู่เห็นๆ บทพิสูจน์นี้ทดสอบบน Domain ที่อยู่ใน Hosting ผมกว่า 60 กว่าโดเมนสามารถทำงาน
ได้กับ PHP5 ได้อย่างไม่มีปัญหาใดๆ เลยแม้แต่น้อย อีกทั้ง PHP5 ยังทำงานเร็วกว่า PHP4 เพราะเนื่องจากว่า PHP5
เลือกใช้ Zend Engine 2 นั่นเองจึงทำให้ความเร็วเพิ่มขึ้นมาประมาณ 20% และลด Load CPU ของ Server
ลงไปเยอะมาก
แล้วแบบนี้ก็ต้องหันมาใช้ PHP5 แทนที่ PHP4 ใช่ไหม ?
- อันนี้ขึ้นอยู่กับความชอบของแต่ละคน แต่ถ้าให้ผมแนะนำใช้เถอะครับ เพราะตอนนี้ PHP6 เค้าจะออกมากอีกแล้ว
แต่ว่าตอนนี้คุณยังไม่ได้เริ่มต้นที่จะทดลองใช้ PHP5 เลย ขืนใช้ PHP4 แล้ว Upgrade เป็น PHP6
ผมรับประกันได้เลยว่าคุณต้องปวดหัวแบบสุดๆ แน่นอน !! แล้วจะมาบอกอีกไม่ได้ว่า PHP5 และ PHP6 เค้ามี Bug !
ใช้ PHP4 แทนแล้วกัน ก็ขอยืนยันอีกครั้งว่า Source Code ของคุณจะเป็น Source Code รุ่นโบราณที่สุดในโลก
จาก http://www.appservnetwork.com
Wednesday, October 8, 2008
What ER design tools to you use?
I have used DbDesigner4 http://fabforce.net/dbdesigner4/
and MySQL workbench (which is still in beta) http://forums.mysql.com/list.php?113
Dbdesigner4 is good but is no longer maintained, and is being replaced by MySQL workbench.
MySQL workbench is still in beta and still needs a fair bit of polish, but it looks promising.
Here are some other ER tools that I am aware of of:
- dbwrench (http://www.dbwrench.com/) Cross platform (JAVA)
- Microolap (http://microolap.com/) For windows only.
- SQL Manager (http://www.sqlmanager.net)
If you know of others, or would like to be listed, please make a post below.
Tuesday, October 7, 2008
Auto refesh page with meta refresh
<meta equiv="refresh" content="10">
content is second to refresh.