Post archive

Tag: PHP

  • PHP

    วิธีแก้ปัญหา Parse error: syntax error, unexpected ‘}’

    Parse error: syntax error, unexpected ‘}’ in /var/www/vhosts/phithan.com/httpdocs/new-sales-activity/admin_activity_report_exel.php on line 127 เหตุนี้จะเกิดกับ syntax ที่ต้องใช้ {} เช่น for , while เป็นต้น และ เกิดได้ 2 กรณี คือ ลืมเปิดแต่ปิด กับ ลืมปิดแต่เปิด ตัวอย่าง ลืมเปิดแต่ปิด <?php   while( $row_rs_activity = mysql_fetch_assoc($rs_activity) )     array_push( $arr_date , $row_rs_activity[‘activity_day’] );   } ?> ตัวอย่าง ลืมปิดแต่เปิด <?php   while( $row_rs_activity = mysql_fetch_assoc($rs_activity) ){ […]

    READ MORE
  • PHP

    การดึงข้อมูลจากฐานข้อมูล แสดงสลับสีแถวในตารางแบบจัดกลุ่ม

    สมมติว่า เรามีฐานข้อมูลที่เก็บรายการสั่งซื้อสินค้าชนิดหนึ่ง ของบริษัทและบริษัทมี หลายสาขา ต้องการแสดงข้อมูลการสั่งซื้อ โดยสลับสีตามสาขา  ตัวอย่างข้อมูลในตารางเป็นดังนี้ Date Branch Product Amount Unit Price/Unit Total 2007-11-22 บริการรามอินทรา ผ้าปิดจมูกขาว 3 โหล 35 105 2007-11-20 บริการรามอินทรา ผ้าปิดจมูกขาว 1 โหล 35 35 2007-10-31 บริการรามอินทรา ผ้าปิดจมูกขาว 1 โหล 35 35 2007-12-04 บริการหลังการขายสุรวงศ์ ผ้าปิดจมูกขาว 5 โหล 35 175 2007-11-13 บริการหลังการขายสุรวงศ์ ผ้าปิดจมูกขาว 5 โหล 35 175 2007-10-27 บริการหลังการขายสุรวงศ์ ผ้าปิดจมูกขาว 5 โหล 35 […]

    READ MORE
  • PHP

    ย้าย webroot สำหรับ run php กัน

    ปัญหาอย่างหนึ่งสำหรับผู้เขียน PHP เมื่อเครื่องคอมพิวเตอร์มีปัญหา จำเป็นต้องฟอร์แมตเครื่อง ต้องคอยมาย้ายเว็บไซต์ ที่เก็บอยู่ที่ C:AppServwww ไปเก็บไว้ที่ไดร์ฟอื่น ซึ่งถ้ามันมีน้อยๆก็ไม่เป็นไรหรอก แต่ถ้ารับจ้างทำเว็บ และหลายเว็บซะด้วย การย้ายก็ลำบาก นี่ยังดีที่เข้าวินโดวได้ แต่ถ้าเกิดเข้าวินโดวไม่ได้ล่ะ คงต้องวุ่นวายกันใหญ่ แต่ถ้าเราย้าย web root ไปไว้ซะไดร์อื่นตั้งแต่ต้น ปัญหาก็จะหมดไป แต่ครั้นจะ copy and paste เข้าใจว่าย้ายแล้ว มันก็ง่ายไป พูดมากเสียเวลา เริ่มดำเนินการ 1.ไปที่ Start>All Programs>AppServ>Configuration Server>Apache Edit the http.conf Configuration file> 2.ไฟล์คอนฟิก Apache จะเปิดขึ้นมา ให้หาคำว่า DocumentRoot “C:/AppServ/www” : เปลี่ยนพาธในเครื่องหมายคำพูดเป็นพาธที่ต้องการให้เป็น web root ใหม่ <Directory “C:/AppServ/www”> : เปลี่ยนเป็นพาธใหม่ให้เหมือนที่เปลี่ยนด้านบน 3.Save แล้ว รีสตาร์ทเครื่อง

    READ MORE
  • PHP

    จัดรูปแบบให้กับเบอร์โทรศัพท์

    งานอย่างหนึ่งที่จะเจอบ่อยในการเขียนโปรแกรม นอกจากการตรวจสอบความถูกต้องของข้อมูล ก็คือ การจัดรูปแบบข้อมูล  เช่น เบอร์โทรศัพท์มือถือ เบอร์โทรศัพท์บ้าน เป็นต้น ถามว่าทำไมไม่ให้ยูสเซอร์ป้อนมาให้ครบล่ะ ไม่ต้องมาจัดรูปแบบอีก ก็เพราะว่า ยูสเซอร์แต่ละคนเนี่ยป้อนข้อมูลไม่ค่อยจะเหมือนกันสักเท่าไร ยกตัวอย่างเบอร์โทร บางคนป้อน 08-59490862 บางคนป้อน 085-9490862 และยังอีกอีกแยะ ที่จะสรรหามาป้อนกัน จึงเป็นการจะถูกต้องกว่าถ้าให้เขาป้อนเข้ามาเฉพาะตัวข้อมูลล้วนๆ แล้วค่อยมาเขียนโปรแกรมจัดรูปแบบเอง เอาล่ะเมื่อรู้เหตุแล้ว เรามาจัดรูปแบบเบอร์โทรศัพท์มือถือกัน เราจะให้เบอร์อยู่ในรูปแบบ ### – #### – ### อาวุธที่เราจะใช้คือ substr()  ตัดให้ขาดเลย ฉับๆๆ แล้วค่อยเอามาต่อกันให้เป็นรูปแบบที่ต้องการ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 […]

    READ MORE
  • PHP

    สลับสีในตาราง

    เคยเจอหลายกระทู้ในเว็บต่างๆ ถามว่า จะดึงข้อมูลออกจาก MySQL แล้วแสดงแถวสลับสี ได้อย่างไร มาดูกัน หลักการทำก็ง่ายๆมากครับ โดยปกติเวลาแสดงแถวข้อมูลเราต้องใช้คำสั่ง Loop อยู่แล้ว  เราก็แค่ ดูว่ารอบนี้เป็นรอบที่เท่าไร แล้วเอารอบที่ได้นี่แหละ ไปหาร 2 เอาเศษ (%) ซึ่งผลลัพธ์ ที่ออกมาก็จะเป็น 0 กับ 1 เท่านั้น หารลงตัว กับไม่ลงตัว ถ้าหากใครเอาตัวเลข หาร 2 แล้วเหลือเศษ 3 บอกผมด้วย  :)  ดูโค้ดนะครับ   1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 […]

    READ MORE
  • PHP

    ob_start() กับคำกล่าวที่ว่า ใช้ได้แต่ไม่แนะนำ

    กรณีที่พูดถึงนี่ หมายถึง นำไปแก้ปัญหา Warning: Cannot modify header information – headers already sent by…   ทำไมจึงได้พูดเยี่ยงนั้น   ob_start() นี่เป็นคำสั่งที่บอกไปยัง webserver ว่า ยูอย่าเพิ่งส่ง output ไปให้ client นะ รวบรวมไว้ก่อน รอให้สั่งหรือประมวล ผลไปถึงบรรทัดสุดท้าย ก่อนแล้วค่อยส่ง นะจ๊ะ   ทีนี้ ขอเท้าความถึงกระบวนการประมวลระหว่าง client กับ server หน่อย   เมื่อยูสเซอร์พิมพ์ url ร้องขอ เพจที่เป็น php browser หรือจะเรียกว่า client ก็ได้ จะส่งคำร้องไปยัง server เมื่อ server ได้รับ คำร้อง ก็ไปหาเพจที่ขอมา เมื่อเจอเพจที่ต้องการ […]

    READ MORE
  • PHP

    วิธีแก้ปัญหา Warning: Cannot modify header information – headers already sent by…

    Warning: Cannot modify header information – headers already sent by ปัญหานี้เกิดจาก เรียกใช้คำสั่ง header() หลังจากมี output ส่งไปยัง client แล้ว ดูตัวอย่างที่มีปัญหานะครับ 1. มีคำว่า Some text ถูกส่งออกไปแล้ว <?php echo "Some text" ; header("Location:index.php") ; ?><?php echo "Some text" ; header("Location:index.php") ; ?> 2. มีคำว่า <html> ถูกส่งออกไปแล้ว <html> <?php header("Location:index.php") ; ?><html> <?php header("Location:index.php") ; ?> 3. มี white […]

    READ MORE
  • PHP

    มาเคาน์ดาวน์กันเถอะ

    ในช่วงเลือกตั้งนี้ การเขียนเค้าดาวน์ คงเข้ากับเหตุการณ์ได้ดี   สำหรับวิธีการคือ   1. หาจำนวนวินาทีของวันปัจจุบัน 2. หาจำนวนวินาทีของวันเป้าหมาย 3. เอา 2 – 1 จะออกมาเป็นกี่วินาทีจึงจะถึงวันเป้าหมาย 4. แปลงจำนวนที่ได้จากข้อ 3 ให้เป็นจำนวนวัน ซึ่ง 1 วันจะมี 86400 วินาที   เริ่มๆ ในการนี้เราจะต้องใช้ฟังก์ชั่น mktime() หาจำนวนวินาทีของวัน ดูไวยากรณ์ mktime( hour , minute , second , month , day , year )   <?php //1. หาจำนวนวินาทีของวันปัจจุบัน $current_timestamp = mktime( 0 , 0 , 0 , […]

    READ MORE
  • PHP

    Becoming PHP 6 Compatible

    บทความอ้างอิง http://bitfilm.net/2007/09/21/becoming-php-6-compatible/   ตั้งแต่ปลายปีที่แล้ว ทางผู้ผลิตได้ประกาศอย่างเป็นทางการว่า ต่อไปนี้เราจะเริ่มใช้ PHP 5 อย่างจริงจัง และจะหยุด Support PHP 4 อันที่จริง PHP 5 ออกมาได้สักประมาณ 3 ปีแล้ว แต่คนก็ยังใช้ PHP 4 กันอยู่ ส่วนเหตุผลว่าทำไมจึงยังใช้กัน จะเล่าให้ฟังทีหลัง และปัจจุบันเขาก็ได้ออก PHP 6 beta version มาแล้ว คาดว่าคงใช้เวลาสักระยะหนึ่งจึงใช้งานอย่างเป็นทางการ   ในบทความอ้างอิงด้านบนเขาแนะนำว่า ให้คุณเขียนโค้ดที่มัน Compatible กับอนาคตไว้เสียแต่วันนี้ ชีวิตจะได้ไม่ยุ่งยากในวันข้างหน้า โดยสิ่ง ที่จะต้องเปลี่ยนแปลงมี ดังนี้     1. อย่าใช้ register_globals เป็น on ในอนาคต ค่าตัวนี้จะเป็น off และจะไม่อนุญาติให้ปรับแต่งค่าใน php.ini อีกแล้ว การเซต […]

    READ MORE
  • PHP-function

    การใช้งาน method replace ของ javascript

    method นี้ใช้สำหรับแทนที่ string ด้วย string ที่ต้องการ อย่างเช่นเราต้องการ แทนที่ คำว่า no ด้วยคำว่า yes เป็นต้น ไวยากรณ์ stringObject.replace(findstring,newstring)stringObject.replace(findstring,newstring) findstring : คือคำที่เราต้องการให้ถูกแทนที่ ถ้าเราต้องการให้การค้นหามองตัวอักษร ตัวเล็กตัว-ใหญ่ เป็นตัวเดียวกัน ให้ใ่ส่อ้อปชัน i (case insensitive) เข้าไป ถ้าเราต้องการให้ค้นหาและแทนที่ทุกๆคำที่เจอ ให้ใส่อ้อปชัน g ถ้าต้องการทั้งสองอย่าง ก็ใส่ ig newstring : คือคำที่ต้องการนำไปแทนที่ ** ถ้าไม่ระบุ option i จะเป็นการค้นหาแบบให้ความสำคัญกับอักษร ตัวเล็ก-ตัวใหญ่ ** ถ้าไม่ระบุ option g เมื่อแทนที่คำแรกเสร็จ จะคืนค่าและหยุดทำงานทันที

    READ MORE