ThaiSEOBoard.com

พัฒนาเว็บไซต์ => Programming => หัวข้อเริ่มโดย: EThaiZone ใน 05 สิงหาคม 2008, 22:39:50

ชื่อเรื่อง: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EThaiZone ใน 05 สิงหาคม 2008, 22:39:50
อยากหามีไว้ spare ความจำในสมองหน่อย
กลัวเดียวมีลืม  :-X

วันนี้กลับมาใหม่ครับ หลังจากที่ปิดตัวไปกับห้อง PHP Room
http://www.thaiseoboard.com/index.php/topic,6920.0.html

วันนี้กลับมาใหม่กับ WEBDEV Room ที่จะมาแชร์กันในเรื่องการทำเว็บ
เกร็ดเล็กๆ น้อยๆ ที่อาจมองข้ามไป

::) คราวนี้อยากให้เป็นคำว่าแชร์จริงๆ ช่วยกันมาแชร์หน่อยนะ
ได้โพสบ้างดีกว่าไม่โพสเลย อย่ากลัวว่าเป็นเรื่องที่คนรู้ๆ กันอยู่แล้ว
เพราะหลายคนอาจเิกิดอาการ "เข็ดขัดสั้น" ถ้าได้อ่านโพสของคุณ!

----------------------------------------------------

เปิดตัวด้วยเรื่องแรก
"รูปภาพเจ้าปัญหา กับการให้มันอยู่ตรงกลางห้อง"

เคยมีไหมครับที่รับงานลูกค้า แล้วยังไม่เสร็จ เลยคิดจะยัดภาพสักภาพ
เช่น Under Construction แต่แล้ว ใจมันอยากให้ถูกตรงกลางจอพอดีเลย

แล้วจะทำไงดี  ผมอยากให้ท่านลองทำสัก 5 นาีที  ถ้าทำเองไม่ได้ ค่อยอ่านต่อ

ติ๊กๆๆๆๆ....  กัญญารัตน์! (อ้าว ไม่เกี่ยวเหรอ ^^")

หมดเวลาเฉลยเลยละกัน

อย่างแรก ไอ้ div หรือ table ไม่ต้องใช้ ใช้แต่ css ล้วนๆ กับ html แค่นี้

<img id="logo" src="logo.jpg">

ไว้ต่อจาก <body> เลย ส่วน css

#logo {
   position: absolute;
   left: 50%;
   top: 50%;
   margin-left: -xxx;
   margin-top: -yyy;
}


ค่า xxx เอามาจากความกว้างของรูปไปหารสอง
ค่า yyy เอามาจากความสูงของรูปไปหารสอง

เช่น ถ้ารูปกว้าง 300 สูง 150 ก็จะใส่เป็น

   margin-left: -150;
   margin-top: -75;


แบบนี้รับรองภาพอยู่ตรงกลางจอ  ไม่อยู่ไปเตะหัวหมาข้างบ้านผมได้เลย

;D

----------------------------------------------------

สำหรับผม ต่อไปจะมีเรื่องของ PHP มาปนบ้าง ไม่ก็ Javascript
แล้วแต่อารมณ์นะครับ  แต่จะพยายามไม่ให้ยากเกินไป เพราะกลุ่มคนอ่านกว้างมาก

และท่านใดที่เก่งๆ มาช่วยแจมได้จะเป็นพระคุณอย่างสูงนะครับ
ตามสโลแกนบอร์ด ยิ่งให้ยิ่งได้รับ (Give more, receive more)

:'(
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: jiw ใน 05 สิงหาคม 2008, 22:41:27
ขอเข้ามาเป็นแฟนๆห้องนี้ด้วยละกัน


เขียน php มาได้สักพักละ .. แต่ฝีมือยังไม่ถึงไหนเลย
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: เรารักนายนะน้องฟี่ ใน 05 สิงหาคม 2008, 22:45:37
55+ ทำเวปมา 3 ปี ผมเขียนโค๊ตไม่ได้ซักตัว อยากได้อะไรก็หาอันเก่า ก๊อปแล้ว แปะเอา

รู้ว่าโค๊ดอะไร เกี่ยวกับอะไร ไว้ทำอะไร แต่เขียนไม่ได้ ควรทำยังไงดีครับ  :-*
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: นายบุญเปิก ใน 05 สิงหาคม 2008, 22:49:38
เขียนเป็นแต่ HTML นอกนั้น อาศัยพอแก้เป็นบ้างเท่านั้นครับ PHP ถ้าให้เขียนเองใหม่หมด ไม่ไหว  :P :P

ขอเข้ามาอาศัยอยู่ในห้องนี้บ้างดีกว่า
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: บอท! ใน 05 สิงหาคม 2008, 22:50:17
มาจองที่ คอยชม :-*
ช่วงนี้ทำไรไม่ออก มือขวา ทะเลาะ กับมือซ้าย
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EThaiZone ใน 05 สิงหาคม 2008, 22:53:41
อ้างถึงจาก: น้องฟี่ ใน 05 สิงหาคม 2008, 22:45:37
55+ ทำเวปมา 3 ปี ผมเขียนโค๊ตไม่ได้ซักตัว อยากได้อะไรก็หาอันเก่า ก๊อปแล้ว แปะเอา

รู้ว่าโค๊ดอะไร เกี่ยวกับอะไร ไว้ทำอะไร แต่เขียนไม่ได้ ควรทำยังไงดีครับ  :-*

ต้องศึกษาตั้งแต่ Basic ในเรื่อง Structure ครับ

ภาษาโปรแกรมแต่ละตัวจะมี structure ต่างกัน
ถ้าเรามองออก จะช่วยให้เราเข้าใจ และทดลองเขียนไ้ด้่มากขึ้น

แนะนำให้เริ่มจากหัดเขียน หรือดูโค้ดใน editplus
เพราะจะมีการแบ่งสีในขั้นต้นให้ ช่วยให้เราสามารถแยกแยะได้

และควรหาซื้อหนังสือมาอ่านครับ หนังสือพวกนั้นจะมีช่วยสอนด้วย
ที่เหลือก็อยู่ที่ กึ๋น ของแต่ละคนแล้วครับ
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: asshur ใน 05 สิงหาคม 2008, 23:05:03
กระทู้คุณภาพนานๆมาที
เดี๋ยวมาช่วยแชร์
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: liveadsense ใน 05 สิงหาคม 2008, 23:15:16
คิดไม่ออก จะเอา อะไร มา แชร์ ดี  ;D
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: wingolfer ใน 05 สิงหาคม 2008, 23:36:43
 :)

ความรู้ยังอ่อน ขอชมแล้วกัน ;)
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: daclubb ใน 05 สิงหาคม 2008, 23:42:40
ดีครับ มาชมด้วย :)
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: เกรียนพันธ์แท้ ใน 05 สิงหาคม 2008, 23:43:43
ชมหน่อย
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: lowprofile ใน 05 สิงหาคม 2008, 23:51:41
ดีครับ เอาความรู้มาแบ่งๆ กัน ขอชื่นชม

ตอนนี้ผมมีแต่ความรู้เดิมๆ ไม่ได้ research เพิ่มเติมมานานมากแล้ว เหลือความรู้แค่ if else วนลูป กะ xml อีกนิดหน่อย ที่เหลือแทบลืมหมดแล้ว แต่ก่อนเห็นใครเขียนเทพๆ จะชอบมาก แล้วก็เก็บๆๆ เอาไว้ โดยไม่ได้เอามาใช้ประโยชน์ซะ 99.872% แต่เดี๋ยวนี้ไม่ได้สนใจว่าใครจะเขียนได้เทพ หรือจะเมพขิงๆ แค่ไหน สนใจแค่ว่า script ตัวนี้จะเอามาใช้ทำเงินได้หรือเปล่า แค่นั้นเอง

ขอยกนิ้วให้คุณ อิตัยโซน (L เมพ) ครับ แจ่มมากๆ  8)
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: BosnoS ใน 05 สิงหาคม 2008, 23:53:49
มีกระทู้น่าติดตาม มาอีกแล้ว
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: ball6847 ใน 06 สิงหาคม 2008, 01:02:25
ไว้จะมาแจมคับ มีประโยชน์ดีคับชอบๆ เป็นเหมือนกระทู้ที่ตายแล้วเกิดใหม่
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: Tee++; ใน 06 สิงหาคม 2008, 01:16:44
ดีครับ ผมก็ยังไม่รู้จะเอาไรมา share เหมียนกัน  :-[
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: kudjung ใน 06 สิงหาคม 2008, 01:29:03
ขอถามหน่อยนะครับ

สำหรับคนที่รับจ้างเขียนเว็บจำพวก php เวลาส่งงานลูกค้า ได้เข้ารหัส code php ที่เขียนเอาไว้่ไหมครับหรือให้ไปทั้งหมดเลย

ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: siamman ใน 06 สิงหาคม 2008, 02:04:29
อ้างถึงจาก: kudjung ใน 06 สิงหาคม 2008, 01:29:03
ขอถามหน่อยนะครับ

สำหรับคนที่รับจ้างเขียนเว็บจำพวก php เวลาส่งงานลูกค้า ได้เข้ารหัส code php ที่เขียนเอาไว้่ไหมครับหรือให้ไปทั้งหมดเลย



ต้องไห้ทั้งหมดครับ อย่าลืมว่า "จ้าง" นะครับ ไม่ได้เช่าหรือไห้ยืม
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EThaiZone ใน 06 สิงหาคม 2008, 02:43:38
แล้วแต่การตกลงกันมากกว่า บางท่านยังเคยมียื่นข้อเสนอว่า
encode แล้วขอลดราคาก็มี  ซึ่งบางครั้งก็ตกลงกันได้
เพราะทางนั้นอาศัยว่า ต้องการให้เราเป็นคนแก้ไขให้คนเดียว

สรุปงานแนวนี้ ถ้าเจอถูกคน ก็ลูกล่อลูกชนเยอะพอดู  :P
ทั้งต่อราคา ขอลด ขอแถมบลาๆ ยันเซอวิสนอกข้อตกลง = ="

แต่ยังไง ถ้าเงินถึง งานก็ไป  :D

--------------------------------------------------

มีเมพ (ไม่เข้าใจว่าทำไมต้องใช้ ม แทน ท)
หลายท่านมาตอบกระทู้ ขอเรียนเชิญมาช่วยกระทู้เล็กๆ นี้ด้วย

:-*
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: jiw ใน 06 สิงหาคม 2008, 02:47:11
ผมยัง แคลง ใจ เรื่องราคาสำหรับ การรับจ้างทำเว็บ ครอบคลุมทั้ง การออกแบบ + โปรแกรมมิ่งด้วยอะ


ว่า คิดกันในเรตไหนอะครับ

( เอาแบบเรตที่คิดๆกันเลยอะครับ เพราะผมรับเอง คิดถูกมากๆ แต่ว่า ที่ได้งานจากพี่มา ได้โคตรเยอะเลย )

ก็เลย ไม่รู้ยังไง งง

ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EThaiZone ใน 06 สิงหาคม 2008, 02:59:11
ดูความพอใจทั้งสองฝ่ายเป็นหลักครับ
และก็ดูฝีมือตัวเอง ว่าเรียกราคาเขาได้แค่ไหน
ไม่ได้หมายถึงฝีมือการต่อรองนะ แต่หมายถึงความเก่งในการเขียนให้

ถ้าคิดว่าเก่งจริง ก็เรียกสูงได้เลย  ถ้ามัวเรียกต่ำๆ มันเสียหลายอย่าง
- รายได้ที่ควรมี
- กำลังใจในการทำงาน (มีผลต่อเวลาที่จะเสร็จ)
- ฝีมือที่จะแสดงให้เขาเห็น (คิดว่าถูกๆ ไม่ต้องทำให้ดีหรอก)
- ความน่าเชื่อถือ (มันจะเกิด ถ้าฝีมือที่มีไม่ใช่แค่ราคาคุย)

ประมาณนี้แหละ ที่เหลือก็อยู่ที่การต่อรอง
กับเงื่อนไขของเขา เช่น มีกำหนด bugget ของงานนี้ไว้เท่าไร
หรือต้องการอะไรพิเศษไหม
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: jiw ใน 06 สิงหาคม 2008, 03:12:58
แหล่มเลย



ขอบคุณครับ
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: ITAXIz ใน 06 สิงหาคม 2008, 17:19:48
กระทู้ในตำนาน ถูกฟื้นขึ้นมาอีกครั้ง

BooK !!

:)
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: etgsgroup ใน 06 สิงหาคม 2008, 17:44:23
มารอดูครับ ผมไม่ได้เรื่องเลย พวกโปรแกรมมิ่งเนี่ย ได้แต่โปรแกรมมั่วๆ แก้และถามอย่างเดียว กรรม :-[ :-X
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: jobinvite ใน 06 สิงหาคม 2008, 17:45:04


เห็นควรด้วยค่ะ

:)

ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: I~Beau ใน 06 สิงหาคม 2008, 18:00:48
มานั่งรอเรียนค่ะ   :) :) :)
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EThaiZone ใน 06 สิงหาคม 2008, 20:07:27
"เทคนิคหากินเทพๆ กับการสวมเขา PHP"

เผื่อหลายคนที่อาจยังไม่รู้ ซึ่งคิดว่าเยอะเหมือนกัน
กับเทคนิคหนึ่งที่อาศัยความร่วมมือจาก .htaccess

ทำให้เราสามารถสวมเขา ให้โ้ค้ด php ของเราได้

เคยมีบ้างไหมที่อยากแก้หรือเพิ่มโค้ด php ทั้งหมด
แต่ดันขี้เกียจ หรือไม่อยากตามแก้เมื่อยามที่ไฟล์ใหม่เพิ่มมา

*** อย่าละเลยเรื่องนี้ เพราะเป็นเทคนิคหากินของใครอีกหลายคน ไม่มีใครโง่พอมาเล่าให้ฟังครับ (คงมีแต่ผมมั้ง  :P)

ขั้นแรกให้สร้างไฟล์ PHP  ที่จะเป็นเขามาสักไฟล์
สมมุติว่าชื่อ head.php ละกัน

พอเราสร้าง ให้ลองใส่โค้ดนี้ลงไป
echo "I am Head of PHP.";
แล้วเซฟ

ต่อมาให้แก้ .htaccess เพิ่มโค้ดนี้ลงไป
php_value auto_prepend_file head.php
แล้วเซฟ


เท่านี้ เราก็จะสามารถสวมเขาให้ไฟล์ php ทุกไฟล์ได้แล้ว
ลองเปิด php หน้าไหนก็ได้่ ข้อความ I am Head of PHP. จะไปติดอยู่ข้างบนเสมอ

ข้อดีของมันจริงๆ คืออะไร มันแล้วแต่คนประยุกต์ (กึ๋น)
ยกตัวอย่าง... ถ้าผมทำฟรีโฮส แล้วอยากติดแบนเนอร์บนทุุกหน้าล่ะ อิๆ

--------------------------------------------------

คราวหน้าจะมาต่อในเรื่องการต่อหางให้ไฟล์ php

ค่อยๆ โพส เดียวหมดมุข  :)
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: qwert001 ใน 06 สิงหาคม 2008, 20:13:07
^
ขอบคุณครับ ได้ของเล่นอีกแล้ว :)
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EThaiZone ใน 06 สิงหาคม 2008, 20:14:48
ตอนนี้ต้องแก้คอมก่อน ดันเล่นเกมส์ แล้วมันทำไดรเวอร์การ์ดจอร่วน

เจอ mem leak + process infinity loop (ไม่น่าเชื่อ แต่มันแจ้งจอฟ้าเลย)

:-X
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: NineTua ใน 06 สิงหาคม 2008, 20:17:02
อ้างถึงจาก: jiw ใน 06 สิงหาคม 2008, 02:47:11
ผมยัง แคลง ใจ เรื่องราคาสำหรับ การรับจ้างทำเว็บ ครอบคลุมทั้ง การออกแบบ + โปรแกรมมิ่งด้วยอะ


ว่า คิดกันในเรตไหนอะครับ

( เอาแบบเรตที่คิดๆกันเลยอะครับ เพราะผมรับเอง คิดถูกมากๆ แต่ว่า ที่ได้งานจากพี่มา ได้โคตรเยอะเลย )

ก็เลย ไม่รู้ยังไง งง



เคยทำเว็บงานนึง มันให้เป็นรายชม.ให้เราออกแบบทุกอย่าง ชม.ละ 350 นั่งคิดนั่งเขียนรูปแบบ พร้อมกับทำtemplateไปให้มันดู ใช้ไป10 ชม. มันว่าแพง - -* เวลาถามมันอยากได้แบบไหน บอกไม่มีไอเดีย ให้ผมไปคิดมา หรือว่าตอนผมนั่งคิดรูปแบบคิดคอนเซ็ป ผมห้ามคิดตังค์มันอ่ะ  :P :P
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: aStore ใน 06 สิงหาคม 2008, 20:20:43
อยากรู้วิธีหรือเครื่องมือเข้ารหัส php ก่อนที่จะแจกจ่ายให้คนอื่นใช้น่ะครับ เอาแบบง่าย ๆ ก็ได้
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: siamman ใน 06 สิงหาคม 2008, 20:21:58
อ้างถึงจาก: ninetua ใน 06 สิงหาคม 2008, 20:17:02
เคยทำเว็บงานนึง มันให้เป็นรายชม.ให้เราออกแบบทุกอย่าง ชม.ละ 350 นั่งคิดนั่งเขียนรูปแบบ พร้อมกับทำtemplateไปให้มันดู ใช้ไป10 ชม. มันว่าแพง - -* เวลาถามมันอยากได้แบบไหน บอกไม่มีไอเดีย ให้ผมไปคิดมา หรือว่าตอนผมนั่งคิดรูปแบบคิดคอนเซ็ป ผมห้ามคิดตังค์มันอ่ะ  :P :P

ผมก็เคยเจอเหมือนกัน พวกที่ชอบบอกว่า "ไห้ทำมาไห้ดูก่อน" พวกนี้โคตระเกลียดเลย
ถ้าไห้ผมคิดคอนเซ็ปงานไห้ผมคิดราคาค่อนข้างสูงเพราะบวกค่าเสียเวลาคิด ผมเคยพลาดไปหลายงานเหมือนกัน ประมาณว่าของานไว้ก่อน พอถึงคราวเสนอคอนเซ็ปยังงัยก็ไม่โดนซะที กว่าจะได้ปาไปหลายเดือน

สรุป ตอนนี่ทำเทมเพลตขายรู้สึกแฮ๊ปปรี้อย่างบอกไม่ถูก
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EThaiZone ใน 06 สิงหาคม 2008, 20:45:12
อ้างถึงจาก: aStore ใน 06 สิงหาคม 2008, 20:20:43
อยากรู้วิธีหรือเครื่องมือเข้ารหัส php ก่อนที่จะแจกจ่ายให้คนอื่นใช้น่ะครับ เอาแบบง่าย ๆ ก็ได้


ลองหา codelock มาใช้ครับ เป็น encode เถื่อน (เพราะจริงๆ มันขาย)
เอาพวกนั้นมา encode ก็ได้

codelock เป็น php นะครับ  :)
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: wingolfer ใน 06 สิงหาคม 2008, 21:10:54
 :) :)

ติดตามชม  :-*
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: ITAXIz ใน 06 สิงหาคม 2008, 21:21:25
ว่าแร้วเชียวว่า เว็บ html ธรรมดา

มานยัดโค้ด ได้ทุกหน้าเลย

อ่อๆๆๆ พี่โครับ

เสนอ ให้รวบหัวข้อไว้ที่หน้าแรกได้เปล่า

เอาแบบ ของทุกคนที่ เขียนเลยอ่ะ จะได้รุ้ว่ามีเรื่องไหนมาใหม่มั่ง

:-[
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: pburin22 ใน 06 สิงหาคม 2008, 21:30:46
ดีเลยครับ

ขอบคุณมากครับ
:)
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: Dr.K ใน 06 สิงหาคม 2008, 21:36:05
ยังไม่มีไรแจม
เอาชื่อมาแขวนไว้ก่อน :-[
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: pugkung ใน 06 สิงหาคม 2008, 21:37:43
อ้างถึงจาก: siamman ใน 06 สิงหาคม 2008, 20:21:58
อ้างถึงจาก: ninetua ใน 06 สิงหาคม 2008, 20:17:02
เคยทำเว็บงานนึง มันให้เป็นรายชม.ให้เราออกแบบทุกอย่าง ชม.ละ 350 นั่งคิดนั่งเขียนรูปแบบ พร้อมกับทำtemplateไปให้มันดู ใช้ไป10 ชม. มันว่าแพง - -* เวลาถามมันอยากได้แบบไหน บอกไม่มีไอเดีย ให้ผมไปคิดมา หรือว่าตอนผมนั่งคิดรูปแบบคิดคอนเซ็ป ผมห้ามคิดตังค์มันอ่ะ  :P :P

ผมก็เคยเจอเหมือนกัน พวกที่ชอบบอกว่า "ไห้ทำมาไห้ดูก่อน" พวกนี้โคตระเกลียดเลย
ถ้าไห้ผมคิดคอนเซ็ปงานไห้ผมคิดราคาค่อนข้างสูงเพราะบวกค่าเสียเวลาคิด ผมเคยพลาดไปหลายงานเหมือนกัน ประมาณว่าของานไว้ก่อน พอถึงคราวเสนอคอนเซ็ปยังงัยก็ไม่โดนซะที กว่าจะได้ปาไปหลายเดือน

สรุป ตอนนี่ทำเทมเพลตขายรู้สึกแฮ๊ปปรี้อย่างบอกไม่ถูก

เรื่องค่าจ้างนี้มันแล้วแต่ การพูดครับ ถ้าอยากได้งานแพง ๆ จ้างคนพูดเก่ง ๆ มาไว้ซักคน หว่านล้อมเข้าไป ยังไงก็ได้
งานเดียววกัน คนหนึ่งขายได้ สี่ ห้าหมื่น  อีกคนขายได้ หมื่น สองหมื่น  งานพวกนี้มันอยู่ที่ปากครับ แล้วก็อยู่ที่ USER ด้วยครับ

ที่สำคัญนะครับ (อันนี้ผมคิดเองป่าวไม่รู้) อยู่ที่สถาณการณ์ของเราในตอนนั้นครับ
ว่าเรา ร้อนงานหรือปล่าว ถ้าเราร้อน เราก็ (ถูก ๆ ก็รับฟ่ะ ดีกว่าไม่มีไรกิน)

ถ้าเราไม่รีบ อาจเรียกราคาได้สูงขึ้นก็เป็นได้  



ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: sunkoster ใน 06 สิงหาคม 2008, 21:43:10
เยี่ยมคับ รออ่าน
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EThaiZone ใน 06 สิงหาคม 2008, 22:31:12
อ้างถึงจาก: ITAXIz ใน 06 สิงหาคม 2008, 21:21:25
ว่าแร้วเชียวว่า เว็บ html ธรรมดา

มานยัดโค้ด ได้ทุกหน้าเลย

อ่อๆๆๆ พี่โครับ

เสนอ ให้รวบหัวข้อไว้ที่หน้าแรกได้เปล่า

เอาแบบ ของทุกคนที่ เขียนเลยอ่ะ จะได้รุ้ว่ามีเรื่องไหนมาใหม่มั่ง

:-[

html ก็ทำแบบข้างบนได้ แต่วิธีเขียน htaccess จะต่างกันหน่อย
ลักษณะจะเหมือนการสวมหัวโขน  ไว้จะมาเขียนให้อ่านทีหลังครับ

ตอนนี้นั่งแก้เครื่อง *-*

อ้างถึงจาก: sunkoster ใน 06 สิงหาคม 2008, 21:43:10
เยี่ยมคับ รออ่าน

มาช่วยเขียนก็ได้นะครับ ไม่ได้จำกัดแค่ PHP ง่ัะ ^^"
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: aomkan ใน 06 สิงหาคม 2008, 23:22:28
เข้ามาติดตามจ้า... :)
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: lowprofile ใน 07 สิงหาคม 2008, 00:42:22
อ้างถึงจาก: pugkung ใน 06 สิงหาคม 2008, 21:37:43
อ้างถึงจาก: siamman ใน 06 สิงหาคม 2008, 20:21:58
อ้างถึงจาก: ninetua ใน 06 สิงหาคม 2008, 20:17:02
เคยทำเว็บงานนึง มันให้เป็นรายชม.ให้เราออกแบบทุกอย่าง ชม.ละ 350 นั่งคิดนั่งเขียนรูปแบบ พร้อมกับทำtemplateไปให้มันดู ใช้ไป10 ชม. มันว่าแพง - -* เวลาถามมันอยากได้แบบไหน บอกไม่มีไอเดีย ให้ผมไปคิดมา หรือว่าตอนผมนั่งคิดรูปแบบคิดคอนเซ็ป ผมห้ามคิดตังค์มันอ่ะ  :P :P

ผมก็เคยเจอเหมือนกัน พวกที่ชอบบอกว่า "ไห้ทำมาไห้ดูก่อน" พวกนี้โคตระเกลียดเลย
ถ้าไห้ผมคิดคอนเซ็ปงานไห้ผมคิดราคาค่อนข้างสูงเพราะบวกค่าเสียเวลาคิด ผมเคยพลาดไปหลายงานเหมือนกัน ประมาณว่าของานไว้ก่อน พอถึงคราวเสนอคอนเซ็ปยังงัยก็ไม่โดนซะที กว่าจะได้ปาไปหลายเดือน

สรุป ตอนนี่ทำเทมเพลตขายรู้สึกแฮ๊ปปรี้อย่างบอกไม่ถูก

เรื่องค่าจ้างนี้มันแล้วแต่ การพูดครับ ถ้าอยากได้งานแพง ๆ จ้างคนพูดเก่ง ๆ มาไว้ซักคน หว่านล้อมเข้าไป ยังไงก็ได้
งานเดียววกัน คนหนึ่งขายได้ สี่ ห้าหมื่น  อีกคนขายได้ หมื่น สองหมื่น  งานพวกนี้มันอยู่ที่ปากครับ แล้วก็อยู่ที่ USER ด้วยครับ

ที่สำคัญนะครับ (อันนี้ผมคิดเองป่าวไม่รู้) อยู่ที่สถาณการณ์ของเราในตอนนั้นครับ
ว่าเรา ร้อนงานหรือปล่าว ถ้าเราร้อน เราก็ (ถูก ๆ ก็รับฟ่ะ ดีกว่าไม่มีไรกิน)

ถ้าเราไม่รีบ อาจเรียกราคาได้สูงขึ้นก็เป็นได้



เคยเจองานนึง มีบริษัทนึงให้เข้าไปพรีเซ้น พร้อมเสนอพร็อบเพอซ่อล ก็เข้าไปแล้วเสนอไอเดียแบบเต็มที่ตามปกติ
มารู้ทีหลังว่าคนที่ให้เข้าพรีเซ้นน่ะ มันเอาไอเดียจากงานที่เสนอไปพร้อมกะพร็อบเพอซ่อลนั่นแหละ
ไปเสนอเจ้านายมัน แล้วก็ไปจ้างอีกที่ที่มันรู้จักทำ สบายเลย ผลงานก็ได้ แถมได้ใต้โต๊ะอีก
แสบจริงๆ  :-X



หรือเขาทำกันแบบนี้เป็นปกติอยู่แล้วก็ไม่รู้นะ ตอนหลังๆ มาเลยทำแบบเจ็กแปะ มีเท่านี้ เอามั้ย
ไม่เอาก็ไปหาเอาข้างหน้า ตูไม่ง้อเฟ้ย ก็เลยจนมาถึงทุกวันนี้
:P
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EThaiZone ใน 08 สิงหาคม 2008, 01:07:17
"ภาคต่อกับการต่อหางให้ PHP"

ต่อจากภาคที่แล้ว

ขั้นแรกให้สร้างไฟล์ PHP  ที่จะเป็นเขามาสักไฟล์
สมมุติว่าชื่อ foot.php ละกัน

พอเราสร้าง ให้ลองใส่โค้ดนี้ลงไป
echo "I am Foot of PHP.";
แล้วเซฟ

ต่อมาให้แก้ .htaccess เพิ่มโค้ดนี้ลงไป
php_value auto_append_file foot.php
แล้วเซฟ


เท่านี้ เราก็จะสามารถต่อหางให้ไฟล์ php ทุกไฟล์ได้แล้ว
ลองเปิด php หน้าไหนก็ได้่ ข้อความ I am Foot of PHP. จะไปติดอยู่ข้างล่างเสมอ

ข้อดีของมันจริงๆ คืออะไร มันแล้วแต่คนประยุกต์ (กึ๋น)
ยกตัวอย่าง... มันคงจะง่าย ถ้าผมอยากยัดโค้ดตรวจ status
โดยไม่ต้องแก้โค้ดเดิมให้ยุ่งยาก

--------------------------------------------------

555+ ผมเอาข้อความของการสวมเขามาแก้นิดหน่อยแล้วโพส อย่าถือสาละกันนะครับ  :)

คราวหน้าจะมาพูดเรื่องแนวนี้อีกโพส แต่จะเป็นสำหรับ html
จะได้ครบสูตรทั้ง php และ html เลย  :)
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: Kazamatsuri ใน 08 สิงหาคม 2008, 03:48:22
ไม่มีอะไรให้เขียน มีแต่เรื่องมาถามได้มั้ยอ่ะ  :P

กำลังสงสัยว่าการนับจำนวน record set ใช้แบบไหนถึงจะดีที่สุดครับ
ระหว่าง

แบบที่ 1

SELECT COUNT(*) FROM tablesName WHERE condition LIMIT 50;


กับ

SELECT SQL_CALC_FOUND_ROWS FROM tableName WHERE condition LIMIT 50;
SELECT FOUND_ROWS();


หรือใช้ mysql_num_rows(); ไปเลย

แบบไหนประหยัด resource และ/หรือทำ query ได้ดีที่สุดครับ

เคยจะโดนโฮสเตะออกเพราะเรื่องพวกนี้มาแระ :P
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EThaiZone ใน 08 สิงหาคม 2008, 08:27:18
ู^
^
ถ้าเป็นผมนะ ผมไม่ใช้ซักกะตัว
อย่างมากก็เปลือง txt เพิ่มอีกไฟล์

เก็บตัวเลขจำนวนที่มีการกระทำกับจำนวน record
อย่างมากก็ดึงข้อมูลที่เซฟลง txt มาเป็นตัวเลข
ถ้าเพิ่ม record ก็บวกไปหนึ่ง
ถ้าลบ ก็ลบไปหนึ่ง

ทำแบบนี้จะได้ไม่ต้องยุ่งกับ mysql ในขั้นตอนนี้ั
ก็จะไม่โดนโฮสเตะครับ

:)
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EThaiZone ใน 08 สิงหาคม 2008, 08:40:12
ตัวอย่าง

$cache_record_rows = "record_rows.txt";

//Make Cache
if(!file_exists($cache_record_rows)) {
$query2="SELECT COUNT(*) FROM tablesName WHERE condition LIMIT 50;";
$rows=mysql_query($query2);
if(empty($rows) $rows = "0";
file_put_contents($cache_record_rows, $rows); //คำสั่งนี้มีใน php5 เท่านั้น ถ้า php4 ก็ใช้ fopen เปิด แล้วค่อยสั่งเขียนเอา
}

//Get Rows
$rows = @intval(@file_get_contents($cache_record_rows));
echo "Found $rows<br>";

//Add Rows
$rows++;
file_put_contents($cache_record_rows, $rows);
echo "Update Rows!<br>";

//Get Rows
$rows = @intval(@file_get_contents($cache_record_rows));
echo "Found $rows<br>";

//Remove Rows
$rows--;
file_put_contents($cache_record_rows, $rows);
echo "Remove Rows!<br>";

//Get Rows
$rows = @intval(@file_get_contents($cache_record_rows));
echo "Found $rows<br>";


ประมาณนี้
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: siamman ใน 08 สิงหาคม 2008, 09:08:57
ู^
^
^
อันนี้เจ๋งดีครับ ขอบคุณมากๆ

แล้วมันมีข้อเสียอะไรมั้ยครับ อย่างเช่นถ้าข้อมูลมันเยอะ จะมีปัญหามั้ย
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: pugkung ใน 08 สิงหาคม 2008, 09:39:20
อ้างถึงจาก: EThaiZone ใน 08 สิงหาคม 2008, 08:40:12
ตัวอย่าง

$cache_record_rows = "record_rows.txt";

//Make Cache
if(!file_exists($cache_record_rows)) {
$query2="SELECT COUNT(*) FROM tablesName WHERE condition LIMIT 50;";
$rows=mysql_query($query2);
if(empty($rows) $rows = "0";
file_put_contents($cache_record_rows, $rows); //คำสั่งนี้มีใน php5 เท่านั้น ถ้า php4 ก็ใช้ fopen เปิด แล้วค่อยสั่งเขียนเอา
}

//Get Rows
$rows = @intval(@file_get_contents($cache_record_rows));
echo "Found $rows<br>";

//Add Rows
$rows++;
file_put_contents($cache_record_rows, $rows);
echo "Update Rows!<br>";

//Get Rows
$rows = @intval(@file_get_contents($cache_record_rows));
echo "Found $rows<br>";

//Remove Rows
$rows--;
file_put_contents($cache_record_rows, $rows);
echo "Remove Rows!<br>";

//Get Rows
$rows = @intval(@file_get_contents($cache_record_rows));
echo "Found $rows<br>";


ประมาณนี้
อ้างถึงจาก: siamman ใน 08 สิงหาคม 2008, 09:08:57
ู^
^
^
อันนี้เจ๋งดีครับ ขอบคุณมากๆ

แล้วมันมีข้อเสียอะไรมั้ยครับ อย่างเช่นถ้าข้อมูลมันเยอะ จะมีปัญหามั้ย

ไม่น่าจะมีนะครับ เพราะแค่ query ครั้งแรกจาก ฐานข้อมูล ทีนี้พอมีการ กระทำใด ๆ กับ ฐานข้อมูลตัวนี้ ก็อาศัยการติดต่อไฟล์เอา

อย่างเช่น เพิ่ม record ในฐานข้อมูลก็ Add Row

:)

พึงนึกได้ แล้วถ้าเป็นการ Query จากการ Search ละครับ ต้องการทราบว่าผลลัพธ์ที่ได้จากการค้นหา จะใช้วิธีไหนดี   ???

ถ้าไม่ว่าอะไร ถามต่อได้ไหมครับว่า  มีวิธีที่จะทำให้ field ที่เป็น auto id นั้นมันเรียงเลขแบบต่อกันอ่ะครับ เช่น

ปกติ รันเลขมาได้  1,2,3,4,5,6,7  แล้วต้องลบ row 3 ออกไป พอมีการเพิ่ม row ใหม่ มันก็จะไปเลข 8

ถ้าต้องการให้ไปแทนที่เลข 3 จะมีวิธีทำอย่างไรครับ

จริง ๆ ผมทำได้อยู่ แต่คิดว่า วิธีของผมน่าจะกิน ทรัพยากรเครื่อง เพราะต้องติดต่อฐานข้อมูล ทุกครั้งที่จะสร้าง row ใหม่เพื่อเอามานับ แถว  :P
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EThaiZone ใน 08 สิงหาคม 2008, 11:20:23
ตัวอย่างข้างบนนั้น ผมอยากให้มองว่าเอาแยกไปใช้นะเช่น

make cache ส่วนนี้ก็อาจมองว่าไว้ใช้อัพเดตแคช
เช่นอาจทำเป็น cron job รันทุกวันตอนเที่ยงคืน ระบบจะได้ไม่ผิดพลาด

ส่วนเวลาใช้จริงกับตัวเว็บ ก็ใช้พวก get rows หรือ add rows ในส่วนนั้นไป

อะไรแบบนี้อะ

-------------------------------------
อ้างถึงแล้วถ้าเป็นการ Query จากการ Search ละครับ ต้องการทราบว่าผลลัพธ์ที่ได้จากการค้นหา จะใช้วิธีไหนดี
เป็นผมจะทำแคช query การ search อาจจะลง txt
ไม่ก็ mysql โดยสร้าง table ใหม่ สำหรับแคชไว้เฉพาะ (เหมาะกะโฮสที่มีการนับ node file)

ข้อดีนอกจากการแคช
เป็นผมจะใช้คำ last search แล้วแปะไว้หน้าแรกของเว็บ
แล้วอาจทำเป็นเหมือนพวก tag ของเว็บ 2.0 คือ
อาจนับจำนวนคลิกขาเข้าด้วย แล้วแสดงตัวใหญ่กว่า ใน tag ที่มีคนคลิกเยอะ
ประมาณนี้ครับ

อ้างถึงถ้าไม่ว่าอะไร ถามต่อได้ไหมครับว่า  มีวิธีที่จะทำให้ field ที่เป็น auto id นั้นมันเรียงเลขแบบต่อกันอ่ะครับ เช่น
ปกติ รันเลขมาได้  1,2,3,4,5,6,7  แล้วต้องลบ row 3 ออกไป พอมีการเพิ่ม row ใหม่ มันก็จะไปเลข 8
ถ้าต้องการให้ไปแทนที่เลข 3 จะมีวิธีทำอย่างไรครับ

ถ้ามองปัญหา ผมว่าเราต้องมองไปถึงต้นเหตุด้วยอะ
ต้นเหตุคือมีการลบ row เก่า ในตรงกลางที่เราไม่รู้
จึงทำให้ถ้าเราคิดแบบหยาบๆ ก็คือต้องตรวจไล่ query ซึ่งกินแน่ๆ

ดังนั้นก่อนอื่น ในเวลาที่ลบ row ไหนทิ้งไป ก็บันทึกเลขนั้น
ไว้ว่าเป็นเลขว่าง (อาจจะลงแคชไฟล์ หรืออะไรก็ตามสะดวก) แล้วเวลาจะมีการ insert ใหม่
ก็ค่อยไปตรวจในแคชก่อนว่ามีเลขว่างไหม
ถ้าไม่มี ถึงค่อย insert โดยปล่อยเป็นหน้าที่ของ auto increment ไป

อารมณ์เหมือนก่อนจอดรถ ก็มองหาที่ว่าง แต่เป็นการยากถ้าต้องขับไล่ดู
แต่ถ้ายามมีบันทึกไว้ ว่ามีการเข้าออกไปยังไงบ้างแล้ว
คนก็ไม่ต้องไล่ขับหาที่จอดเอง ลำบากยามคนเดียว
แต่ดีกว่าเปลืองน้ำมันลิตรละ 30 กว่าบาท ^^"

ผมเองก็ไม่ทราบนะ ว่า mysql มีฟังค์ชั่น หรือการเขียนอะไรพิเศษตรงนี้ไหม
ในขณะนี้ก็ตอบได้เท่านี้
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: pugkung ใน 08 สิงหาคม 2008, 11:28:13
โอ้ว ขอบคุณครับ

ได้ไอเดีย ไปเขียนเลย thx หลาย ๆ ครับ  :)
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: qwert001 ใน 08 สิงหาคม 2008, 11:32:34
มีวิธีให้คำสั่ง php ทำงานโดยไม่ต้อเปิดหน้าเวบไหมครับ เช่น พอเที่ยงคืนก็ส่งเมลถึงผมอัตโนมัติเลยครับ :-*
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: paradox_073 ใน 08 สิงหาคม 2008, 11:36:25
อ้างถึงจาก: qwert001 ใน 08 สิงหาคม 2008, 11:32:34
มีวิธีให้คำสั่ง php ทำงานโดยไม่ต้อเปิดหน้าเวบไหมครับ เช่น พอเที่ยงคืนก็ส่งเมลถึงผมอัตโนมัติเลยครับ :-*


ตั้ง cronjob ใช่เปล่า
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EThaiZone ใน 08 สิงหาคม 2008, 11:45:57
อ่านเรื่อง cron job
http://www.thaiseoboard.com/index.php/topic,30624.0.html

:P
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: ITAXIz ใน 08 สิงหาคม 2008, 11:50:27
ยังงเรื่อง แคช กะ sql อยู่เลย เดยวอ่านพวก mysql เยอะๆก่อนละกันครับ

ขอบคุณครับ
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: qwert001 ใน 08 สิงหาคม 2008, 11:59:09
อ้างถึงจาก: paradox_073 ใน 08 สิงหาคม 2008, 11:36:25
อ้างถึงจาก: qwert001 ใน 08 สิงหาคม 2008, 11:32:34
มีวิธีให้คำสั่ง php ทำงานโดยไม่ต้อเปิดหน้าเวบไหมครับ เช่น พอเที่ยงคืนก็ส่งเมลถึงผมอัตโนมัติเลยครับ :-*


ตั้ง cronjob ใช่เปล่า

อ้างถึงจาก: EThaiZone ใน 08 สิงหาคม 2008, 11:45:57
อ่านเรื่อง cron job
http://www.thaiseoboard.com/index.php/topic,30624.0.html

:P

ขอบคุณมากๆๆๆๆๆๆๆๆๆครับ ไม่เคยได้ยินเลย "cron job"  :P

ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: icez ใน 08 สิงหาคม 2008, 12:06:25
เรื่องการนับจำนวนแถวในตาราง
_http://www.icez.net/blog/25



เพิ่มเติมจากใน blog:

MySQL จะทำการ optimize คำสั่ง SELECT COUNT(*) FROM TABLE แบบไม่มี condition อยู่แล้วครับ
ไม่ว่าฐานข้อมูลจะใหญ่ขนาดไหน select count(*) จะไปดึงข้อมูลจำนวน record มาจาก dbinfo ของตารางครับ

ส่วนถ้ามี condition ด้วยก็ช่วยให้เร็วขึ้นได้เหมือนกัน


แต่ห้ามใช้ mysql num rows ในการนับจำนวนแถวโดยเด็ดขาด
ไม่งั้นอาจโดนเตะกระเด็นจาก host เอาได้ง่ายๆ ครับ
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EThaiZone ใน 08 สิงหาคม 2008, 12:06:46
อ้างถึงจาก: ITAXIz ใน 08 สิงหาคม 2008, 11:50:27
ยังงเรื่อง แคช กะ sql อยู่เลย เดยวอ่านพวก mysql เยอะๆก่อนละกันครับ

ขอบคุณครับ
หมายถึงแคช result จาก mysql ที่เราจะใช้ลงไฟล์อื่นอย่างอื่น

เช่นสมมุติ query มาแล้ว fetch เป็น array แล้ว
ก็อาจใช้ serialize เปลี่ยนเป็น text แล้วค่อยบันทึก

ส่วนการบันทึกแคชลง mysql
ก็คือแค่สร้างตารางไว้เก็๋บข้อมูลเหมือนปกติ
เพียงแต่มาเก็บไว้ ก็เพราะเก็บลงไฟล์ แล้วมันจะเปลือง node

ยกตัวย่าง เก็บแคชการ search + เผื่อทำแท็กแนว 2.0
ก็มี 3 ฟิลด์
keywork อันนี้เป็น primary key ใช้เก็บค่าคำ search (อย่าคิดว่า primary key ต้องเป็นตัวเลขเท่านั้น)
cache อันนี้ก็อาจใช้เก็บ array ที่ serialize ก็ได้ แล้วเวลาใช้่ค่ิอย unserialize
้hits อันนี้ใช้ก็ค่าที่มีคนดูในหน้า search คำนั้นๆ

นึกภาพไม่ก็ก็แนวนี้
http://www.thaiseoboard.com/index.php/topic,6920.msg94077.html#msg94077

โดยเอาเอาค่า % ที่ได้มาเป็นเกณฑ์การคำนวนหาขนาดฟอนต์ที่จะแสดง tag ก็ได้

:)
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: pugkung ใน 08 สิงหาคม 2008, 12:08:32
อ้างถึงจาก: icez ใน 08 สิงหาคม 2008, 12:06:25
เรื่องการนับจำนวนแถวในตาราง
_http://www.icez.net/blog/25



เพิ่มเติมจากใน blog:

MySQL จะทำการ optimize คำสั่ง SELECT COUNT(*) FROM TABLE แบบไม่มี condition อยู่แล้วครับ
ไม่ว่าฐานข้อมูลจะใหญ่ขนาดไหน select count(*) จะไปดึงข้อมูลจำนวน record มาจาก dbinfo ของตารางครับ

ส่วนถ้ามี condition ด้วยก็ช่วยให้เร็วขึ้นได้เหมือนกัน


แต่ห้ามใช้ mysql num rows ในการนับจำนวนแถวโดยเด็ดขาด
ไม่งั้นอาจโดนเตะกระเด็นจาก host เอาได้ง่ายๆ ครับ

จริงเหรอครับนี้ มิน่า ตอนเรียน จารย์ก็บอกให้ใช้ count (*) เหมือนกัน

อ้างถึงขอบคุณมากๆๆๆๆๆๆๆๆๆครับ ไม่เคยได้ยินเลย "cron job"  

ผมก็มารู้จักในนี้เหมือนกัน บอกตรง ๆ  PHP ผมเก่งขึ้นจากการเข้า บอร์ดเสียว นะไม่ได้ไปบอร์ด อื่นเลย   :)
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EThaiZone ใน 08 สิงหาคม 2008, 12:13:59
อ้างถึงจาก: icez ใน 08 สิงหาคม 2008, 12:06:25
เรื่องการนับจำนวนแถวในตาราง
_http://www.icez.net/blog/25

จากในบล็อก
อ้างถึงคำสั่ง SELECT COUNT(*) ห้ามเอาไปใช้กับตารางประเภท InnoDB โดยเด็ดขาดนะครับ
มิเช่นนั้น database server อาจน็อคเอาได้ง่ายๆ

เคยอ่านจากบล็อกต่างประเทศเหมือนกัน เห็นว่าต้องใส่ condition ลงไปด้วย
ถ้าใส่เป็น SELECT COUNT(*) FROM TABLE ก็ถึงกับอืดไปเลย
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: icez ใน 08 สิงหาคม 2008, 12:23:52
สำหรับ innodb (หรือ engine อื่นก็ได้) เค้าให้ใช้แบบนี้ครับ
เร็วสุด ประหยัด resource มากที่สุด


$sql = mysql_query("SHOW TABLE STATUS LIKE 'ชื่อตาราง'");
$row = mysql_fetch_assoc($sql);
$numrows = $row['Rows'];


สำหรับ innodb จะได้เป็นค่าประมาณจำนวนแถวมา ไม่ใกล้เคียงเท่าไหร่หรอกครับ แต่ก็พอไหว
ดีกว่า query SELECT COUNT(*) เยอะ
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: pugkung ใน 08 สิงหาคม 2008, 13:15:37
mysql_fetch_assoc($sql);
กับ
mysql_fetch_array($sql);

ต่างกันไงครับ และข้อดีข้อเสียของทั้งสองตัวนี้

ตอนนี้ผมใช้แต่ mysql_fetch_array($sql);

แบบว่าอยากพัฒนาตัวเองหน่อยครับ รู้สึกว่า เป็น โง่ ๆ ยังไงไม่รู้ช่วงนี้   :P
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: icez ใน 08 สิงหาคม 2008, 13:45:32
ลองสั่ง print_r(mysql_fetch_array($sql)); เทียบกับ print_r(mysql_fetch_assoc($sql)); ดูได้เลยครับ
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: thenetxx ใน 08 สิงหาคม 2008, 13:46:28
 :-[ อ๊ายคุยไรกัน ไม่เห็นรู้เรื่องเลย
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: pugkung ใน 08 สิงหาคม 2008, 14:03:22
อ้างถึงจาก: icez ใน 08 สิงหาคม 2008, 13:45:32
ลองสั่ง print_r(mysql_fetch_array($sql)); เทียบกับ print_r(mysql_fetch_assoc($sql)); ดูได้เลยครับ

ได้เวลาเปลี่ยน แนว แว้ว (ขอ อภัยที่ใช้ภาษาไทยไม่ถูกต้อง แค่ต้องการแสดงความรู้สึก  :)  )

ขอบคุณ คุณ Icez มากครับ ที่ชี้ช่องทางให้   :)
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: Kazamatsuri ใน 08 สิงหาคม 2008, 15:58:29
ขอบคุณมากครับ ได้ความรู้มาอีกเยอะเลย :'(
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: oldgame ใน 08 สิงหาคม 2008, 16:19:54
ขอบคุณมากครับ ได้ความรู้เยอะเลย

ขอตามติดห้องนี้ตลอดไป  :-[
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EThaiZone ใน 08 สิงหาคม 2008, 19:39:57
โอ้ว เข็มขัดสั้นครับ

SHOW TABLE STATUS

:o  เข้ามาแชร์บ่อยๆ นะครับ
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EThaiZone ใน 08 สิงหาคม 2008, 20:14:27
วันนี้มาต่อกับ "การสวมหัวโขนให้ HTML"

** โพสนี้ไม่เกี่ียวข้องกับศิลปะ และนาฎศิลป์แขนงใดๆ ทั้งสิ้น โปรดอย่าสับสน
ลักษณะจะเหมือนกับการสวมเขาต่อหางให้ PHP เพียงแต่เป็นการทำกับ HTML
และโค้ดจะต่างกันไป


ขั้นแรกให้สร้างไฟล์ PHP  ที่จะเป็นหัวโขนมาสักไฟล์
สมมุติว่าชื่อ mask_html.php ละกัน

พอเราสร้าง ให้ลองใส่โค้ดนี้ลงไป
<?php
echo "It's a head!<br>";

//แสดงผล html (สำคัญ ห้ามลบ)
readfile($_SERVER["DOCUMENT_ROOT"].$_SERVER["REDIRECT_URL"]);

echo 
"<br>It's a foot!";
?>


แล้วเซฟ

ต่อมาให้แก้ .htaccess เพิ่มโค้ดนี้ลงไป

Action init_html_php /path-from-web-root/mask_html.php
AddHandler init_html_php .html .htm


โดยตรง path-from-web-root ก็คือต้องกำหนด path ให้ถูก โดยนับจากกรณีมีซัพโฟลดอร์หรือไม่

ยกตัวอย่าง localhost/
ก็จะเป็น Action init_html_php /mask_html.php

ยกตัวอย่าง localhost/web/html/
ก็จะเป็น Action init_html_php /web/html/mask_html.php

เมื่อกำหนดพาทเสร็จ ก็เซฟ


เท่านี้ เราก็จะสามารถสวมหัวโขนให้ไฟล์ html ทุกไฟล์ได้แล้ว
ทดลองด้วยการเปิด HTML สักไฟล์ที่อยู่ในโฟลเดอร์นั้นได้เลยครับ

:)

----------------------------------------------------
เทคนิคสำหรับ PHP นั้น ลักษณะคือการ attach โค้ดนั้นๆ
เข้ากับการทำงานของโค้ดเดิม

แต่ HTML จะเป็นการเพิ่มการกระทำให้ PHP เข้าไปทำงานแทน HTML ที่โดนเรียก
จึงต้องมีการใช้ file_get_contents ในการทำงานด้วย

:)


edit: แก้โค้ดเพิ่มโดย icez
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: thenetxx ใน 08 สิงหาคม 2008, 20:44:45
เห็นเค้าแชร์กัน อยากแชร์มั่ง
คอนแรกจะแชร์  ajax class ที่ใช้งานง่าย
เรียกแค่ 2 ไฟล์ ใช้ได้ทั้งเว็บ แต่กลัวมันจะยาวเกินไป


เลยแชร์ทริปง่าย ๆ ละกันเป็น  function java ใช้ ซ่อน/แสดง div


<input type="button" value="ซ่อน" onClick="hide_div_id('content');">
<input type="button" value="แสดง"  onClick="show_div_id('content');">

<div id="content">xxx content xxxx</div>
<script>
function show_div_id(id){
   document.getElementById(id).style.visibility = "visible";
   document.getElementById(id).style.display = 'inline';
}

function hide_div_id(id){
   document.getElementById(id).style.visibility = "hidden";
   document.getElementById(id).style.display = 'none';
}
</script>


:D
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: Hanma ใน 08 สิงหาคม 2008, 20:55:50
ไม่พลาดครับ สาระทั้งนั้น
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: tanut ใน 08 สิงหาคม 2008, 21:01:29
ได้ความรู้ใหม่อีกแล้ว
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: pugkung ใน 08 สิงหาคม 2008, 23:33:05
เอา Function เพิ่มข้อมูลลง Data Base มาฝาก


        function add_data($field,$table)
{
  $sql_insert = key($field);
  $sql_value = "'".current($field)."'";
  for($i = 0; $i<count($field)-1; $i++)
  {
    next($field);
    $sql_insert = $sql_insert.",".key($field);
$sql_value = $sql_value.",'".current($field)."'";
  }
  $sql = "insert into $table($sql_insert) values($sql_value)";
  //print $sql;
  //exit;
  $rs = mysql_query($sql);
  if( $rs == 0 )
  {
    print "SQL Commdn Error !!!!<br>";
print $sql;
exit;
  }
}


วิธีใช้งาน

            $tbName = 'employee_tb';// กำหนดชื่อ ตาราง

  $field['em_user'] = $em_user; // ใส่ชื่อ Field ในตัวแปร Array พร้อมกำหนดค่า
  $field['em_pass'] = $em_pass;
  $field['em_name'] = $em_name;
  $field['em_lname'] = $em_lname;
  $field['em_lv'] = $em_lv;// ใส่ชื่อ Field ในตัวแปร Array พร้อมกำหนดค่า

  $add_data($field,$tbName);// รูปแบบการเรียกใช้ Paramiter $field คือ ตัวแปร Array , $tbName คือ ชื่อตาราง


เขียนเองมั่ว ๆ เหมาะไม่เหมาะอย่างไร รบกวน คนเก่ง ๆ ช่วยแก้ทีนะครับ  :P

หวังว่าจะเป็นประโยชน์นะครับ   :)
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: icez ใน 08 สิงหาคม 2008, 23:33:25
ขอแก้ code น้องโจ้หน่อย
เพื่อ performance

search: echo file_get_contents
replace: readfile


อ้างถึงจาก: EThaiZone ใน 08 สิงหาคม 2008, 20:14:27
วันนี้มาต่อกับ "การสวมหัวโขนให้ HTML"

** โพสนี้ไม่เกี่ียวข้องกับศิลปะ และนาฎศิลป์แขนงใดๆ ทั้งสิ้น โปรดอย่าสับสน
ลักษณะจะเหมือนกับการสวมเขาต่อหางให้ PHP เพียงแต่เป็นการทำกับ HTML
และโค้ดจะต่างกันไป


ขั้นแรกให้สร้างไฟล์ PHP  ที่จะเป็นหัวโขนมาสักไฟล์
สมมุติว่าชื่อ mask_html.php ละกัน

พอเราสร้าง ให้ลองใส่โค้ดนี้ลงไป
<?php
echo "It's a head!<br>";

//แสดงผล html (สำคัญ ห้ามลบ)
readfile($_SERVER['PATH_TRANSLATED']);

echo 
"<br>It's a foot!";
?>


แล้วเซฟ

ต่อมาให้แก้ .htaccess เพิ่มโค้ดนี้ลงไป

Action init_html_php /path-from-web-root/mask_html.php
AddHandler init_html_php .html .htm


โดยตรง path-from-web-root ก็คือต้องกำหนด path ให้ถูก โดยนับจากกรณีมีซัพโฟลดอร์หรือไม่

ยกตัวอย่าง localhost/
ก็จะเป็น Action init_html_php /mask_html.php

ยกตัวอย่าง localhost/web/html/
ก็จะเป็น Action init_html_php /web/html/mask_html.php

เมื่อกำหนดพาทเสร็จ ก็เซฟ


เท่านี้ เราก็จะสามารถสวมหัวโขนให้ไฟล์ html ทุกไฟล์ได้แล้ว
ทดลองด้วยการเปิด HTML สักไฟล์ที่อยู่ในโฟลเดอร์นั้นได้เลยครับ

:)

----------------------------------------------------
เทคนิคสำหรับ PHP นั้น ลักษณะคือการ attach โค้ดนั้นๆ
เข้ากับการทำงานของโค้ดเดิม

แต่ HTML จะเป็นการเพิ่มการกระทำให้ PHP เข้าไปทำงานแทน HTML ที่โดนเรียก
จึงต้องมีการใช้ readfile ในการทำงานด้วย

:)
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: Tee++; ใน 09 สิงหาคม 2008, 00:41:50
โห Share กันใหญ่เลย ขอบ้างๆ

การทำ Compatibility Function

คงจะเคยเจอกันใช่มั้ยครับ function ใน php5 แต่ไม่สามารถเอามาใช้ใน php4 ทีนี้พอเปลี่ยน host ที เอาล่ะสิ ยุ่งเลยได้ ลองมาดูวิธีแก้กัน

if (!function_exists('get_headers'))
{
function get_headers($url,$format=0)
{
$url_info = parse_url($url);
$port = isset($url_info['port']) ? $url_info['port'] : 80;
$fp = @fsockopen($url_info['host'], $port, $errno, $errstr, 30);

if ($fp)
{
if(!$url_info['path'])
$url_info['path'] = "/";

if ($url_info['path'] && !$url_info['host'])
{
$url_info['host'] = $url_info['path'];
$url_info['path'] = "/";
}

if ($url_info['host'][(strlen($url_info['host'])-1)] == "/" )
$url_info['host'][(strlen($url_info['host'])-1)] = "";

if (!$url_array[scheme])
$url_array[scheme] = "http"; //we always use http links

$head = "HEAD ".@$url_info['path'];

if ($url_info['query'] )
$head .= "?".@$url_info['query'];
//print_r($url_info);

$head .= " HTTP/1.0\r\nHost: ".@$url_info['host']."\r\n\r\n";
      //echo $head;

fputs($fp, $head);
while (!feof($fp))
{
if ($header=trim(fgets($fp, 1024)))
{
if ($format == 1)
{
$h2 = explode(':',$header);

if($h2[0] == $header)
$headers['status'] = $header;
else
$headers[strtolower($h2[0])] = trim($h2[1]);
}
else
$headers[] = $header;
}
}
return $headers;
}
else
return false;
   }
}


ในตัวอย่างนี้ผมลองกับคำสั่ง get_headers ซึ่งมีใน php5 พอเปลี่ยนมาใช้ host ที่ไม่มีคำสั่งนี้ก็แค่ไปเช็คมันก่อนด้วย

function_exists จากนั้นเขียน function เลียนแบบมันเข้าไปเองเลยครับ

ส่วนคำสั่ง get_headers คือคำสั่งเอาไว้เช็ค header ของ external file โดยไม่ต้องไปทำการอ่าน binary คืออ่าน header แล้วก็จบเลย มีประโยชน์ในการเช็ค ข้อมูลจาก link ภายนอกครับ

ผมเห็นหลายคน เวลาจะเช็ค ว่าไฟล์มีหรือไม่มี บางทียังเขียนแบบนี้อยู่เลย

if (!fopen('http://www.jquerytips.com', 'r')) exit;

ซึ่งมัน แดก performance ขั้นนรกเลยครับ ลองเปลี่ยนมาเป็น

$headers = get_headers($path);

if (!preg_match('/200/', $headers[0])) exit;

จะเห็นความแตกต่าง แบบ สวรรค์กับ นรกเลยครับ

ส่วนค่า return อื่นๆก็มีประโยชน์ไม่แพ้กัน

Array
(
    // check server status
   
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: thenetxx ใน 09 สิงหาคม 2008, 00:58:36
อ้างถึงจาก: pugkung ใน 08 สิงหาคม 2008, 23:33:05
เอา Function เพิ่มข้อมูลลง Data Base มาฝาก


        function add_data($field,$table)
{
  $sql_insert = key($field);
  $sql_value = "'".current($field)."'";
  for($i = 0; $i<count($field)-1; $i++)
  {
    next($field);
    $sql_insert = $sql_insert.",".key($field);
$sql_value = $sql_value.",'".current($field)."'";
  }
  $sql = "insert into $table($sql_insert) values($sql_value)";
  //print $sql;
  //exit;
  $rs = mysql_query($sql);
  if( $rs == 0 )
  {
    print "SQL Commdn Error !!!!<br>";
print $sql;
exit;
  }
}


วิธีใช้งาน

            $tbName = 'employee_tb';// กำหนดชื่อ ตาราง

  $field['em_user'] = $em_user; // ใส่ชื่อ Field ในตัวแปร Array พร้อมกำหนดค่า
  $field['em_pass'] = $em_pass;
  $field['em_name'] = $em_name;
  $field['em_lname'] = $em_lname;
  $field['em_lv'] = $em_lv;// ใส่ชื่อ Field ในตัวแปร Array พร้อมกำหนดค่า

  $add_data($field,$tbName);// รูปแบบการเรียกใช้ Paramiter $field คือ ตัวแปร Array , $tbName คือ ชื่อตาราง


เขียนเองมั่ว ๆ เหมาะไม่เหมาะอย่างไร รบกวน คนเก่ง ๆ ช่วยแก้ทีนะครับ  :P

หวังว่าจะเป็นประโยชน์นะครับ   :)

เอามาให้ ลองดูกันครับ
:)
   
function InsertDB($table, $field, $values) {
       
        if(!$table) return false;
        if(!$field) return false
       
        $sql = "insert into " . $table . "(" . $field . ") values (" . $values . ")";

        return mysql_query($sql) or die(mysql_error());

    }
    function InsertDBbyArr($table,$params){
            if(!$table || !$params) return false;

            foreach($params as $key => $val){
                $field .= $key.",";
                $value .= "'".$val."',";
            }
            $field =substr($field,0,-1);
            $value =substr($value,0,-1);

            return InsertDB($table,$field,$value);
               
    }


** แก้ เอา $this-> ออก
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: pugkung ใน 09 สิงหาคม 2008, 15:43:46
^
^
^
ว้าว สั้นกว่า และท่าทางจะเร็วกว่าด้วย ขอบคุณครับ  :)
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EThaiZone ใน 09 สิงหาคม 2008, 18:15:16
if(!$table || !$params) return false;

เวลาจะเช็คตัวแปร แนะนำใช้ empty ดีกว่านะครับ (เครดิตจากคุณ icez)

if(empty($table) || empty($params)) return false;

:P
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: Kazamatsuri ใน 09 สิงหาคม 2008, 18:41:23
พูดถึง empty() แล้ว งั้นขอถามต่อล่ะกันครับ

การใช้ empty() กับ isset() มีผลต่างกันยังไงครับ

อะไรคือข้อแตกต่างกันแบบชัดเจนในการเลือกใช้งาน :P
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EixQzUnG ใน 09 สิงหาคม 2008, 18:55:37
อ้างถึงจาก: EThaiZone ใน 08 สิงหาคม 2008, 08:40:12
ตัวอย่าง

$cache_record_rows = "record_rows.txt";

//Make Cache
if(!file_exists($cache_record_rows)) {
$query2="SELECT COUNT(*) FROM tablesName WHERE condition LIMIT 50;";
$rows=mysql_query($query2);
if(empty($rows) $rows = "0";
file_put_contents($cache_record_rows, $rows); //คำสั่งนี้มีใน php5 เท่านั้น ถ้า php4 ก็ใช้ fopen เปิด แล้วค่อยสั่งเขียนเอา
}

//Get Rows
$rows = @intval(@file_get_contents($cache_record_rows));
echo "Found $rows<br>";

//Add Rows
$rows++;
file_put_contents($cache_record_rows, $rows);
echo "Update Rows!<br>";

//Get Rows
$rows = @intval(@file_get_contents($cache_record_rows));
echo "Found $rows<br>";

//Remove Rows
$rows--;
file_put_contents($cache_record_rows, $rows);
echo "Remove Rows!<br>";

//Get Rows
$rows = @intval(@file_get_contents($cache_record_rows));
echo "Found $rows<br>";


ประมาณนี้


แจ่ม เลยครับ คุณโจ้ ผมคิด อะไรออกเยอะแยะเลย


แต่ว่า ผมจะเก็บหลายๆ ข้อมูลไว้ในไฟล์เดียว เขียนยังไงดี

เช่นข้อมูล ใน record_rows.txt มีชัก 3 อย่าง ละ ครับ

แบบ คำสังเดียว แต่ รับค่า มา ถ้าเขียน เป็น แนว function จะ ยากไปไหมนะ

stat_id : 10
stat_user : 15
stat_view_page : xxx


เวลาเรา จะเปลี่ยน แปลง ค่า  เฉพาะ stat_id เขียนยังไงให้เข้า ถึง ละครับ


เปลี่ยนแปลงเฉพาะค่า stat_id ส่วน stat_user และอืนๆ คงค่าเดิมไว้
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EThaiZone ใน 09 สิงหาคม 2008, 22:27:57
อ้างถึงจาก: Kazamatsuri ใน 09 สิงหาคม 2008, 18:41:23
พูดถึง empty() แล้ว งั้นขอถามต่อล่ะกันครับ

การใช้ empty() กับ isset() มีผลต่างกันยังไงครับ

อะไรคือข้อแตกต่างกันแบบชัดเจนในการเลือกใช้งาน :P

empty ใช้ตรวจหาว่าตัวแปรนั้นมันว่างหรือไม่

แต่กับ isset ใช้จตรวจว่าตัวแปรนั้นมีอยู่จริงหรือไม่

การใช้ isset จะไม่เหมาะกับพวกการรับข้อมูลเช่น GET POST
ยกตัวอย่าง ถ้ามีคนเรียกแบบนี้ download.php?id=

ถ้าใช้ empty($_GET['id']) มันจะคืน true แปลว่าตัวแปรนั้นว่าง
แต่ถ้า isset($_GET['id']) มันจะคืน true แปลว่าตัวแปรนั้นมี แต่เราไม่รู้ว่ามันว่างหรือไม่

ดังนั้นการใช้ empty จะชัวร์กว่า ในเรื่องตัวแปรนั้นๆ มีข้อมูลมาจริงๆ

อ้างถึงจาก: zunkz ใน 09 สิงหาคม 2008, 18:55:37
แจ่ม เลยครับ คุณโจ้ ผมคิด อะไรออกเยอะแยะเลย


แต่ว่า ผมจะเก็บหลายๆ ข้อมูลไว้ในไฟล์เดียว เขียนยังไงดี

เช่นข้อมูล ใน record_rows.txt มีชัก 3 อย่าง ละ ครับ

แบบ คำสังเดียว แต่ รับค่า มา ถ้าเขียน เป็น แนว function จะ ยากไปไหมนะ

stat_id : 10
stat_user : 15
stat_view_page : xxx


เวลาเรา จะเปลี่ยน แปลง ค่า  เฉพาะ stat_id เขียนยังไงให้เข้า ถึง ละครับ


เปลี่ยนแปลงเฉพาะค่า stat_id ส่วน stat_user และอืนๆ คงค่าเดิมไว้

สมมุติว่าข้อมูลนั้นเป็น array แล้วนะครับ
เวลาก่อนจะเก็บลงไฟล์ ก็นำเอาอาเรย์นั้นไปเข้า serialize ก่อน
แล้วถ้าอยากเรียกมาแก้ไข ก็สั่งอ่านไฟล์ แล้วใช้ unserialize มาแปลงกลับเป็นอาเรย์
แล้วปรับค่าอาเรย์นั้นตามสะดวกเลย แล้วก่อนบันทึกกลับ ก็เข้า serialize ก่อนด้วยครับ

serialize และ unserialize เป็นฟังค์ชั่นคู่กัน ตัวหนึ่งใช้เข้า ตัวหนึ่งใช้ถอด
โดยจะแปลงตัวแปรหรืออาเรย์นั้นๆ เป็น text ในรูปที่ใช้บันทึกได้

โดยจะบันทึกทั้งชื่อ โครงสร้าง ชนิด ของตัวแปรนั้นๆ
เรียกง่ายๆ คือมันเหมาะกับการทำแคชของตัวแปรมากที่สุดครับ

:) (วิธีใช้ลองหาอ่านใน php.net นะครับ)
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: Kazamatsuri ใน 09 สิงหาคม 2008, 23:59:18
อ้างถึงจาก: EThaiZone ใน 09 สิงหาคม 2008, 22:27:57
อ้างถึงจาก: Kazamatsuri ใน 09 สิงหาคม 2008, 18:41:23
พูดถึง empty() แล้ว งั้นขอถามต่อล่ะกันครับ

การใช้ empty() กับ isset() มีผลต่างกันยังไงครับ

อะไรคือข้อแตกต่างกันแบบชัดเจนในการเลือกใช้งาน :P

empty ใช้ตรวจหาว่าตัวแปรนั้นมันว่างหรือไม่

แต่กับ isset ใช้จตรวจว่าตัวแปรนั้นมีอยู่จริงหรือไม่

การใช้ isset จะไม่เหมาะกับพวกการรับข้อมูลเช่น GET POST
ยกตัวอย่าง ถ้ามีคนเรียกแบบนี้ download.php?id=

ถ้าใช้ empty($_GET['id']) มันจะคืน true แปลว่าตัวแปรนั้นว่าง
แต่ถ้า isset($_GET['id']) มันจะคืน true แปลว่าตัวแปรนั้นมี แต่เราไม่รู้ว่ามันว่างหรือไม่

ดังนั้นการใช้ empty จะชัวร์กว่า ในเรื่องตัวแปรนั้นๆ มีข้อมูลมาจริงๆ

ตายแระ โดนเต็ม ๆเลย ปกติผมใช้ isset กับพวกนี้ตลอดเลยอ่ะ :o

ต้องไปปรับการเขียนโค๊ดใหม่หน่อยแระ :-[
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: pHasIs ใน 10 สิงหาคม 2008, 02:40:19
อยากจับน้องโจ้มาต้มกิน  ;D ;D
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EixQzUnG ใน 10 สิงหาคม 2008, 05:15:56
 :P :P :P :P ไปศึกษาก่องได้เรื่องไงเดียว ค่อยมาโฟ้  ;D ;D ;D
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: pugkung ใน 10 สิงหาคม 2008, 09:30:01
อ้างถึงจาก: pHasIs ใน 10 สิงหาคม 2008, 02:40:19
อยากจับน้องโจ้มาต้มกิน  ;D ;D

ไม่ใช่ ลองของ นะท่าน จะได้กินคนอื่นแล้วได้ความสามารถมา    :D
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: ฉันไม่มีตัวตน ใน 10 สิงหาคม 2008, 09:36:11
เก่ง+ไอเดีย = รวย
หมวดเดิมผมยังก๊อบโคดไม่หมดเลย...
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: hunsa ใน 11 สิงหาคม 2008, 00:36:30
อยากทำ http://www.pantip.com/tech/market/price/index.php?

การค้นหาข้อมูลมาแสดงเพื่อนการตัดสินใจ ต้องทำอย่างไรค่ะ  ตอนนี้กำลังเริ่มต้นศึกษา php ค่ะ

ขอแค่ ตรวจสอบราคา NOTEBOOK   ขอบคุณมากค่ะ  :)
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: คนจน ใน 11 สิงหาคม 2008, 01:03:19
php5 อัพโหลดรูปแก้ไขยังไงครับ

Code เดิม
if ( $MPic == ""){
echo "";
}else{
$size = getimagesize($MPic);
if($size[0] > $config[imgWidth]) {
echo "<br><br><center><font size=3><b>ความกว้างของรูปมากกว่า $config[imgWidth] pixels กรุณาตรวจสอบและแก้ไข<br><br><a href='javascript:history.back(1)'>[ กลับไปแก้ไข ]</a></b></font></center>";
exit();
}
}


Code นี้อัพโหลดรูปไม่ติดครับแก้ไขยังไง ผมใช้ php5 ครับ
ขอบคุณมากครับ
:-* :-*
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EThaiZone ใน 11 สิงหาคม 2008, 10:37:12
อ้างถึงจาก: pHasIs ใน 10 สิงหาคม 2008, 02:40:19
อยากจับน้องโจ้มาต้มกิน  ;D ;D
ง่ะ พี่ชอบกินผู้ชายเหรอ  :o

อ้างถึงจาก: คนจน ใน 11 สิงหาคม 2008, 01:03:19
php5 อัพโหลดรูปแก้ไขยังไงครับ

Code เดิม
if ( $MPic == ""){
echo "";
}else{
$size = getimagesize($MPic);
if($size[0] > $config[imgWidth]) {
echo "<br><br><center><font size=3><b>ความกว้างของรูปมากกว่า $config[imgWidth] pixels กรุณาตรวจสอบและแก้ไข<br><br><a href='javascript:history.back(1)'>[ กลับไปแก้ไข ]</a></b></font></center>";
exit();
}
}


Code นี้อัพโหลดรูปไม่ติดครับแก้ไขยังไง ผมใช้ php5 ครับ
ขอบคุณมากครับ
:-* :-*


เอาโค้ดมาไม่หมด ผมตอบไม่ได้ครับ
แต่ให้เดาเอา ปัญหาเรื่องไม่รับ PHP5 ส่วนมากจะเจอกันเยอะคือเรื่อง register globall off

นั้นก็คือปัญหาการรับค่า GET (ค่าที่ต่อท้าย ? ใน url) กับค่า POST (ค่าที่มาจากการซัพมิทแบบฟอร์ม)
จากเดิมเราสามารถอ้างอิงเรียกได้โดยตรง แต่ใน PHP5 ได้โดนตั้งไว้ให้เรียกตามนี้

แบบ GET ใช้ $_GET['ตัวแปร']
แบบ POST ใช้ $_POST['ตัวแปร']

ถ้าให้ผมเดาจากโค้ดด้านบน คงต้องเป็นแบบ POST แน่ๆ (ไม่เคยเห็นใครทำส่งไฟล์ด้วย GET เลย  :D)
ก็น่าจะเป็นประมาณนี้
if ( $_POST['MPic'] == ""){
echo "";
}else{
$size = getimagesize($_POST['MPic']);
if($size[0] > $config[imgWidth]) {
echo "<br><br><center><font size=3><b>ความกว้างของรูปมากกว่า $config[imgWidth] pixels กรุณาตรวจสอบและแก้ไข<br><br><a href='javascript:history.back(1)'>[ กลับไปแก้ไข ]</a></b></font></center>";
exit();
}
}


:P

อ้างถึงจาก: hunsa ใน 11 สิงหาคม 2008, 00:36:30
อยากทำ http://www.pantip.com/tech/market/price/index.php?

การค้นหาข้อมูลมาแสดงเพื่อนการตัดสินใจ ต้องทำอย่างไรค่ะ  ตอนนี้กำลังเริ่มต้นศึกษา php ค่ะ

ขอแค่ ตรวจสอบราคา NOTEBOOK   ขอบคุณมากค่ะ  :)
ของเว็บพันทิพเอง ก็มีแค่เรียกข้อมูลใน DB มาแสดง
ซึ่งตัว DB นั้น ก็มีคนคีย์เอง เป็นระบบธรรมดาๆ เพียงแต่ต้องหาคนมาเป็นคนอัพเดตราคาครับ

เหมือนทั่วไป คือข้างนอกก็ query มาแสดงเป็น table
แต่ด้านหลัง ก็ต้องทำแบบฟอร์มเพื่อ input ข้อมูลเข้าไป
และทำส่วนลบข้อมูลของเก่าทิ้ง

และจะมีอีกวิธีคือ web scraping  ไว้เดียวจะมาเขียนให้ดูเป็นกรณีศึกษาครับ

:) (แต่ขอติดเป็นวันหลังนะ งานตรึม)
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: kudjung ใน 11 สิงหาคม 2008, 10:50:02
สอบถามเรื่อง Script PHP ย่อรูป  GIF ที่เป็นภาพเคลื่อนไหว ผมย่อที่ไร กลายเป็นภาพนิ่งทุกที่  :P
แต่เห็นเว็บของเมืองนอก ที่รับฝากไฟล์ มันย่ิอแล้วภาพยังเคลื่อนไหวเหมือนเ้ดิมครับ
ไม่รู้ว่าทำอย่างไรครับ
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EThaiZone ใน 11 สิงหาคม 2008, 10:56:39
อ้างถึงจาก: kudjung ใน 11 สิงหาคม 2008, 10:50:02
สอบถามเรื่อง Script PHP ย่อรูป  GIF ที่เป็นภาพเคลื่อนไหว ผมย่อที่ไร กลายเป็นภาพนิ่งทุกที่  :P
แต่เห็นเว็บของเมืองนอก ที่รับฝากไฟล์ มันย่ิอแล้วภาพยังเคลื่อนไหวเหมือนเ้ดิมครับ
ไม่รู้ว่าทำอย่างไรครับ

ผมยังไม่เคยเจอ class ที่ว่าแบบนั้น (ยังไม่มีโอกาสใช้)

แต่ถ้าเป็นผม คงจะใ้ช้ IMagick (ชื่อเต็ม ImageMagick)
เป็น extension ตัวหนึ่ง ที่ใช้จัดการรูปได้ดีกว่า GD
แค่ resize รูป ยังดูสวยกว่าเลย

ลองอ่านเรื่อง imagick จากเว็บนี้นะครับ (มีโหลดตัวสำหรับ windows ด้วย)
http://valokuva.org/

:D
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: thenetxx ใน 11 สิงหาคม 2008, 12:50:13
 :o

กะแล้วต้องโดนว่าเรื่องไม่ยอมใช้ empty

แต่โดยส่วนตัว  !$ มันพิมง่ายกว่า  เพราะขี้เกียจ วะฮ่า ๆๆ  ;D
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: kudjung ใน 11 สิงหาคม 2008, 13:36:34
อ้างถึงจาก: EThaiZone ใน 11 สิงหาคม 2008, 10:56:39
อ้างถึงจาก: kudjung ใน 11 สิงหาคม 2008, 10:50:02
สอบถามเรื่อง Script PHP ย่อรูป  GIF ที่เป็นภาพเคลื่อนไหว ผมย่อที่ไร กลายเป็นภาพนิ่งทุกที่  :P
แต่เห็นเว็บของเมืองนอก ที่รับฝากไฟล์ มันย่ิอแล้วภาพยังเคลื่อนไหวเหมือนเ้ดิมครับ
ไม่รู้ว่าทำอย่างไรครับ

ผมยังไม่เคยเจอ class ที่ว่าแบบนั้น (ยังไม่มีโอกาสใช้)

แต่ถ้าเป็นผม คงจะใ้ช้ IMagick (ชื่อเต็ม ImageMagick)
เป็น extension ตัวหนึ่ง ที่ใช้จัดการรูปได้ดีกว่า GD
แค่ resize รูป ยังดูสวยกว่าเลย

ลองอ่านเรื่อง imagick จากเว็บนี้นะครับ (มีโหลดตัวสำหรับ windows ด้วย)
http://valokuva.org/

:D

ขอบคุณครับ  :) เดี๋ยวไปลองดูก่อน
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: icez ใน 11 สิงหาคม 2008, 13:55:24
อ้างถึงจาก: thenetxx ใน 11 สิงหาคม 2008, 12:50:13
:o

กะแล้วต้องโดนว่าเรื่องไม่ยอมใช้ empty

แต่โดยส่วนตัว  !$ มันพิมง่ายกว่า  เพราะขี้เกียจ วะฮ่า ๆๆ  ;D
ไว้ว่างๆ ลองเปิดดู php error สิครับ
ไม่ใช้คำสั่งพวก empty , isset นี่ขึ้น error มายุบยับเลยแหละ
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: คนจน ใน 11 สิงหาคม 2008, 19:21:38
สวัสดีครับเอา code มาให้ใหม่ครับ


// ตรวจสอบความกว้างของรูป
if ( $MPic == ""){
echo "";
}else{
$size = getimagesize($MPic);
if($size[0] > $config[imgWidth]) {
echo "<br><br><center><font size=3><b>ความกว้างของรูปมากกว่า $config

[imgWidth] pixels กรุณาตรวจสอบและแก้ไข<br><br><a href='javascript:history.back(1)'>[ กลับไปแก้ไข ]</a></b></font></center>";
exit();
}
}

// ตรวจสอบขนาดของรูป
if($MPic_size>$Image_size) {
echo "<br><b><center><font size=3 color=red >ขนาดของภาพเกิน $Image_size bytes

[$Image_msg]</font></center></b><br>";
echo "<br><b><center><font size=3 color=red >[&nbsp;<a href='javascript:history.back

(1)'>กลับไปแก้ไข</a>&nbsp;]</font></center></b>";
exit();
}

// ตั้งชื่อรูปภาพ
$ppdate = date(Ymd);
$pmdate = date(His);
$QPic_name = "$ppdate"."_"."$pmdate";

// แปลงนามสกุล และทำการ upload
if ( $MPic_type == "image/gif" )
{
$filename = $QPic_name.".gif";
}
if ( $MPic_type == "image/bmp" )
{
$filename = $QPic_name.".bmp";
}
elseif (($MPic_type=="image/jpg")||($MPic_type=="image/jpeg")||($MPic_type=="image/pjpeg"))
{
$filename = $QPic_name.".jpg";
}
copy ($MPic , "$path/" . $filename );


upload รูปใน php5 ไม่ขึ้นครับ แก้ไขยังไง
ขอบคุณครับ
:-* :-*
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: rapeedu ใน 11 สิงหาคม 2008, 19:44:55
ขอถามครับ พอจะมีความรู้ด้าน mySQL บ้างไหมครับ เช่น
1. การ optimize ให้ทำงานได้รวดเร็ว เช่น index
2. การ optimize ในส่วนของ Query หรืออื่นๆ
3. การใช้งานอื่นๆ ที่ควรทำหรือไม่ควรทำใน mysql

ถามมาากไปหน่อย แต่หลาย ๆคนคงอยากรู้ครับ จะได้นำไปพัฒนาเว็บ
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: icez ใน 11 สิงหาคม 2008, 19:57:46
_http://www.icez.net/blog/tags/mysql
เขียนทิ้งไว้จนลืมไปแล้วครับว่าจะต่อยังไง - -'
เรื่องมันยาวน่ะครับ
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: rapeedu ใน 11 สิงหาคม 2008, 20:16:17
อ้างถึงจาก: icez ใน 11 สิงหาคม 2008, 19:57:46
_http://www.icez.net/blog/tags/mysql
เขียนทิ้งไว้จนลืมไปแล้วครับว่าจะต่อยังไง - -'
เรื่องมันยาวน่ะครับ
ตามไปอ่านแล้ว ยังรอการเขียนต่อครับ ว่า ใช้งานยังไง  :)
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: oldgame ใน 11 สิงหาคม 2008, 20:21:34
ยังตามติดเป็นระยะ ๆ ครับ

พี่ icez ได้ปล่อย script เว็บ upload รูปตัวใหม่รึเปล่าครับ ผมใช้ตัวเก่าของพี่อยู่ครับ

ใช้ดีมากเลย เห็นตัวใหม่พี่ upทีได้หลายรูปเลย  :-*
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EThaiZone ใน 11 สิงหาคม 2008, 21:08:06
กรณีศึกษา Web scraping กับเว็บพันทิพย์

นี้เป็นตัวอย่างโค้ดง่ายๆ นะครับ ที่ใช้การเขียน regex (Regular expression)
มาให้แบ่งส่วนข้อความ

ผมคงไม่ร่ายอะไรมาก เอาโค้ดไปลองรันดู ตรงไหนไม่เข้าใจ
ให้เอาชื่อฟังค์ชั่น ไปต่อท้าย php.net/ เช่น php.net/file_get_contents
ไปเปิดใน browser ก็จะขึ้นข้อมูลของฟังค์ชั่นนั้นๆ มาให้ดูครับ

<?php

//Example code by EThaiZone

$page file_get_contents("http://www.pantip.com/tech/market/price/index.php?NBK=on");

preg_match_all("#<tr[^>]+><td>(.*)</td><td>(.*)</td><td>(.*)</td></tr>#"$page$matches);

echo 
"<h2>Notebook Price @ Pantip</h2><table><tr style='font-weight: bold; color: #000066;'><td>Brand</td><td>Detail</td><td>Price</td></tr>";
foreach(
$matches[0] as $key => $value) {
echo "<tr ".($key%"style='background-color: #eee;'" "style='background-color: #bbb;'").">";
echo "<td>".$matches[1][$key]."</td>";
echo "<td>".$matches[2][$key]."</td>";
echo "<td>".$matches[3][$key]."</td>";
echo "</tr>";
}
echo 
"</table>";

?>


ข้อมูลของ Regex เบื้องต้น

อ้างถึงRegular expressions

Some hints about the syntax of regular expressions:

Text:
  . Any single character
  [chars] One  of chars
  [^chars] None of chars
  text1|text2 text1 or text2

Quantifiers:
  ? 0 or 1 of the preceding text
  * 0 or N of the preceding text (N > 0)
  + 1 or N of the preceding text (N > 1)

Grouping:
  (text) Grouping of text

Anchors:
  ^ Start of line anchor
  $ End of line anchor

Escaping:
  \ char escape that particular char



Pattern Matching metacharacter Definitions
\     Use before any of the following characters to escape or null the meaning or it. \* \. \$ \+ \[ \]
^    Start matching at this point
$    End point of the match
.    Any character
[]    Starts a range
|    Starts alternative match this|that would mean match this or that
()    starts a back reference point
?    match 0 or 1 time Quantifier
+    match atleast 1 or more times Quantifier
*    match 0 to infinite times Quantifier
{}    match minimum to maximum Quantifier {0,3} match up to 3 times


Range Definitions []
^     Negates the class. [^A-Z]+ means don't match any uppercases
\    Use before any of the following characters to escape or null the meaning or it. [\+]+
-    Range for matching [0-9]+ [a-zA-Z]+
อ้างอิงจาก http://www.thaiseoboard.com/index.php/topic,3675.0.html

อ่านเพิ่ม
http://th2.php.net/manual/en/regexp.reference.php

ผมเขียน regex จนโปรไปแล้ว  :-X




โค้ดของคุณคนจน ยังเอามาไม่หมดครับ
ยังไม่รู้ที่มาของ $MPic_size  $MPic_type เลย



อ้างถึงจาก: rapeedu ใน 11 สิงหาคม 2008, 19:44:55
ขอถามครับ พอจะมีความรู้ด้าน mySQL บ้างไหมครับ เช่น
1. การ optimize ให้ทำงานได้รวดเร็ว เช่น index
2. การ optimize ในส่วนของ Query หรืออื่นๆ
3. การใช้งานอื่นๆ ที่ควรทำหรือไม่ควรทำใน mysql

ถามมาากไปหน่อย แต่หลาย ๆคนคงอยากรู้ครับ จะได้นำไปพัฒนาเว็บ

เป็นคำถามที่ผมคิดว่าคงตอบไม่หมดครับ มันเยอะมากๆ
ผมคงตอบได้แค่ว่า (ตอบรวบๆ นะครับ)
1. อย่าลืมสิ่งที่ควรทำ พวกตั้ง primary key หรือการทำดัชนี (ก็ index นั้นแหละ)
หรือแม้แต่การเลือกชนิดของฟิลด์ให้เหมาะสมกับข้อมูล พวกนี้ก็สำคัญมาก
(อยากให้คุณ icez มาเขียนเรื่องนี้จริงๆ เขาเทพเรื่อง Mysql มากๆ)
2. ใช้ DB ให้เหมาะกับงาน เช่นเว็บฝากรูปที่มีการใช้ Mysql
ถ้าเราแค่ใช้ทำปกติ เช่นเก็บข้อมูลรูป อีเมล์ รหัสลบรูป อะไรพวกนี้
ก็สามารถซอย DB ให้เล็กลงเป็นหลายๆ table ได้
ข้อนี้อาจฟังดูยากๆ แต่พวกนี้ถ้าดูระบบออก สักวันเราจะสร้างระบบเป็น
(อย่ามองระบบเป็นโปรแกรมอย่างเดียว แต่ระบบคือกลุ่มการทำงานที่ทำไปพร้อมๆ กัน)
3. อะไรที่ใช้บ่อย ก็แคชไปเถอะ เช่นระบบ Tags ในบางเว็บ
เราอาจตั้งเวลาแคชนานๆ แม้ต้องแลกกับความสดของข้อมูลหน่อย
แต่สมมุติว่ามี PV ในหน้านั้นๆ สักหลักพัน ถ้าทำแคชไว้สัก 1 วัน
ก็ลดเวลาการ process โดยรวมได้เยอะแล้ว

มีหลายเว็บดังๆ ก็ใช้เทคนิคอื่นเข้าช่วย เช่นจากปากคำพี่ตี๋
เว็บส. ก็ใช้ memcache มาเก็บข้อมูลที่ใช้บ่อยๆ
แถมยังมีการสร้างระบบอื่นๆ เพิ่มมาใช้ เพื่อลดขนาดข้อมูลที่ต้ิองเก็บ
ซึ่งเป็นอัลกอริทึ่มเขียนเอง จากที่เคยคุยกันวันนั้น ถึงวันนี้ผมก็ยังไม่เก็ทสักที

เรื่องพวกนี้ผมและท่านๆ ก็จะไม่เก็ท จนกว่าจะได้ลองใช้จริงๆ :-X

ปล. ผมจะไม่ตอบกระทู้นี้หลายวันหน่อยนะ เพราะงานค้างจัด รายงานด้วยอีก (ย้ำอีกที ผมยังเรียนป.ตรี อยู่ ^^")
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: icez ใน 12 สิงหาคม 2008, 19:26:44
หลักๆ ก็...

1. primary key ต้องเป็นตัวเลขเท่านั้นครับ ไม่ว่าจะเก็บอะไรก็ตาม ไม่งั้นจะช้ามากถึงมากที่สุด
2. ต้องใช้ where id = 123 สำหรับ field ประเภทตัวเลขทั้งหมดเท่านั้น ห้ามใช้ where id = '123' ในการค้นหาตัวเลขโดยเด็ดขาด (เจอมากับตัว)
3. การ search จาก primary key เป็นอะไรที่เร็วสุดๆ และไม่กินระบบเลยด้วย เพราะฉะนั้น จงอ้างอิงจาก primary key ให้ได้มากที่สุด
4. กรณีที่ไม่อยากเอา primary key มาเสี่ยง (เพราะโดยมาก จะเป็น auto increment number ทำให้เดาเล่นกันได้) ให้ไปทำ index ใน field ที่เป็น key อื่นแทน แต่ยังไงก็ขอให้เป็นตัวเลข เพราะเร็วกว่ากันเยอะมากๆ (อาจจะทำ crc32 ก็ได้ แต่เลี่ยง md5 ได้เป็นดี)
5. query เอาเฉพาะัที่ใช้ เร็วกว่า select * นะครับ
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: ball6847 ใน 12 สิงหาคม 2008, 19:47:10
อ้างถึงจาก: icez ใน 11 สิงหาคม 2008, 13:55:24
อ้างถึงจาก: thenetxx ใน 11 สิงหาคม 2008, 12:50:13
:o

กะแล้วต้องโดนว่าเรื่องไม่ยอมใช้ empty

แต่โดยส่วนตัว  !$ มันพิมง่ายกว่า  เพราะขี้เกียจ วะฮ่า ๆๆ  ;D
ไว้ว่างๆ ลองเปิดดู php error สิครับ
ไม่ใช้คำสั่งพวก empty , isset นี่ขึ้น error มายุบยับเลยแหละ

เอ... ปกติคุณ icez ใช้ error_reporting ระดับไหนหรอคับ แสดงว่าเขียนแบบกะไม่ให้มี error แม้แต่ระดับ notice เลยหรอคับ มีผลกับการทำงานของโปรแกรมั้ยคับ หรือว่าต้องทำให้ติดเป็นนิสัยหรอคับ จะได้เปลี่ยนมั่ง ปกติผมใช้แค่ธรรมดาเอง
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: icez ใน 12 สิงหาคม 2008, 21:38:43
อ้างถึงจาก: ball6847 ใน 12 สิงหาคม 2008, 19:47:10
อ้างถึงจาก: icez ใน 11 สิงหาคม 2008, 13:55:24
อ้างถึงจาก: thenetxx ใน 11 สิงหาคม 2008, 12:50:13
:o

กะแล้วต้องโดนว่าเรื่องไม่ยอมใช้ empty

แต่โดยส่วนตัว  !$ มันพิมง่ายกว่า  เพราะขี้เกียจ วะฮ่า ๆๆ  ;D
ไว้ว่างๆ ลองเปิดดู php error สิครับ
ไม่ใช้คำสั่งพวก empty , isset นี่ขึ้น error มายุบยับเลยแหละ

เอ... ปกติคุณ icez ใช้ error_reporting ระดับไหนหรอคับ แสดงว่าเขียนแบบกะไม่ให้มี error แม้แต่ระดับ notice เลยหรอคับ มีผลกับการทำงานของโปรแกรมั้ยคับ หรือว่าต้องทำให้ติดเป็นนิสัยหรอคับ จะได้เปลี่ยนมั่ง ปกติผมใช้แค่ธรรมดาเอง
error_reporting ปกติใช้ E_ALL ครับ
notice ก็ไม่เว้น เพราะมันจะไปส่งผลกระทบกับขั้นตอนการประมวลผลน่ะครับ
ทำให้โดนหน่วงลงไปอีกหน่อยนึง
มีผลไม่เยอะหรอกครับ ไม่ถึง 0.01% แต่พอดีมันมีการทำงานเยอะ (หลักหมื่นต่อนาที)
พอเอามาคูณแล้วก็เลยเยอะเอาเรื่อง


จริงๆ เขียนให้ติดนิสัย ประเภท error reporting ALL / register globals off / safe mode on ไว้ก็ดีครับ
เวลาเจองานประเภทที่ต้อง optimize รีดพลังงาน cpu กันจนหยดสุดท้าย
หรืองานประเภท secure กันสุดขีด จะได้ไม่ต้องเหนื่อยแก้กันมากเท่าไหร่


ปล. เว็บผม(ที่เขียนเองหมด)นี่ เปิด display error ไว้หมดนะครับ
ใครหา error เจอซักตัวนี่เก่งนะเนี่ย ฮาๆ
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: thenetxx ใน 12 สิงหาคม 2008, 21:50:32
อ้างถึงจาก: icez ใน 12 สิงหาคม 2008, 21:38:43
อ้างถึงจาก: ball6847 ใน 12 สิงหาคม 2008, 19:47:10
อ้างถึงจาก: icez ใน 11 สิงหาคม 2008, 13:55:24
อ้างถึงจาก: thenetxx ใน 11 สิงหาคม 2008, 12:50:13
:o

กะแล้วต้องโดนว่าเรื่องไม่ยอมใช้ empty

แต่โดยส่วนตัว  !$ มันพิมง่ายกว่า  เพราะขี้เกียจ วะฮ่า ๆๆ  ;D
ไว้ว่างๆ ลองเปิดดู php error สิครับ
ไม่ใช้คำสั่งพวก empty , isset นี่ขึ้น error มายุบยับเลยแหละ

เอ... ปกติคุณ icez ใช้ error_reporting ระดับไหนหรอคับ แสดงว่าเขียนแบบกะไม่ให้มี error แม้แต่ระดับ notice เลยหรอคับ มีผลกับการทำงานของโปรแกรมั้ยคับ หรือว่าต้องทำให้ติดเป็นนิสัยหรอคับ จะได้เปลี่ยนมั่ง ปกติผมใช้แค่ธรรมดาเอง
error_reporting ปกติใช้ E_ALL ครับ
notice ก็ไม่เว้น เพราะมันจะไปส่งผลกระทบกับขั้นตอนการประมวลผลน่ะครับ
ทำให้โดนหน่วงลงไปอีกหน่อยนึง
มีผลไม่เยอะหรอกครับ ไม่ถึง 0.01% แต่พอดีมันมีการทำงานเยอะ (หลักหมื่นต่อนาที)
พอเอามาคูณแล้วก็เลยเยอะเอาเรื่อง


จริงๆ เขียนให้ติดนิสัย ประเภท error reporting ALL / register globals off / safe mode on ไว้ก็ดีครับ
เวลาเจองานประเภทที่ต้อง optimize รีดพลังงาน cpu กันจนหยดสุดท้าย
หรืองานประเภท secure กันสุดขีด จะได้ไม่ต้องเหนื่อยแก้กันมากเท่าไหร่


ปล. เว็บผม(ที่เขียนเองหมด)นี่ เปิด display error ไว้หมดนะครับ
ใครหา error เจอซักตัวนี่เก่งนะเนี่ย ฮาๆ


ชอบดิสเพลเออเร่อ เหมือนกันเลย เพราะไม่ชอบนั่งดู log
รีดพลัง cpu นี่ทำประจำเลยครับ เริ่มจากไล่ sql ก่อน แล้วไปดูพวก recursive ไฟล์ แล้วไปไล่พวก header
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: rapeedu ใน 12 สิงหาคม 2008, 23:52:35
ผมเจอปัญหากับ mysql ที่ hostgator ตอนนี้ครับ มัน เกิด over head ตลอดเลย อยากจะถามว่า มันเกิดจากอะไรครับ แล้วจะแก้ได้อย่างไรบ้าง เพราะมันลบ records ผมทุก ๆ ครั้งที่ overhead เลยครับ

ผมลอง repair กับ optimize ทุกครั้งที่ใช้ table ก็ยังคงเกิดอีก

ผม set primary key ไว้ เป็น auto increment และสร้าง index ไว้กับ text


ผมควรแก้ไขอย่างไรดีครับ ขอบคุณมากครับ  :-X
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: icez ใน 13 สิงหาคม 2008, 01:14:50
1) query อะไรบ้างครับ

2) โครงสร้างตารางเป็นยังไง
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EixQzUnG ใน 13 สิงหาคม 2008, 01:41:22
ว่าง สอน การ index หรือว่า join mysql บ้างจิ หา อ่าน ย๊าก ยาก  ;D ;D
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: rapeedu ใน 13 สิงหาคม 2008, 09:51:01
อ้างถึงจาก: icez ใน 13 สิงหาคม 2008, 01:14:50
1) query อะไรบ้างครับ

2) โครงสร้างตารางเป็นยังไง
ที่ผมเจอคือ แค่ select เองครับ ไม่ได้ join แค่ อีกตารางนึงโดยใช้ key เป็นตัวเลขแบบ auto

คือง่าย ๆครับ www.apply-job.com เว็บงาน

ตารางหลัก ๆ ก็มี listing ของงานและ employer ของบริษัท ส่วนใหญ่ใช้แค่นี้เองครับ แล้วพอทำไปสักระยะ db มันลบเองตลอด นี่ผมทดสอบเมื่อคือ 1109 มาตอนเช้าเหลือ 800  มันเป็นอะไรกันเนี่ย ของ hostgator ครับ

รูปแบบตาราง listing ครับ
(http://upfile.in.th/view.aspx?ItemID=e6cc272b-e468-dd11-b0d8-00e08127749e)
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: lowprofile ใน 13 สิงหาคม 2008, 13:18:52
อ้างถึงจาก: icez ใน 08 สิงหาคม 2008, 12:23:52
สำหรับ innodb (หรือ engine อื่นก็ได้) เค้าให้ใช้แบบนี้ครับ
เร็วสุด ประหยัด resource มากที่สุด


$sql = mysql_query("SHOW TABLE STATUS LIKE 'ชื่อตาราง'");
$row = mysql_fetch_assoc($sql);
$numrows = $row['Rows'];


สำหรับ innodb จะได้เป็นค่าประมาณจำนวนแถวมา ไม่ใกล้เคียงเท่าไหร่หรอกครับ แต่ก็พอไหว
ดีกว่า query SELECT COUNT(*) เยอะ

เข็มขัดสั้นด้วยคนครับ คิดได้ไง? ผมเลยไปค้นหาเพิ่มเติม จนไปเจอที่ narisa อีกอันครับ เผื่อจะมีประโยชน์
http://www.narisa.com/forums/index.php?s=&showtopic=13689&view=findpost&p=68039

คุณ pat แนะนำให้ไปดูต่อที่
http://dev.mysql.com/doc/refman/5.1/en/tables-table.html
http://dev.mysql.com/doc/refman/5.1/en/information-schema.html

ผมลองแล้ว ไม่ work :-X
#1142 - select command denied to user: 'xxxxxx@localhost' for table 'TABLES'
จริงๆ แล้วน่าจะwork แต่เพราะไม่มีเหตุให้ใช้ db ตอนนี้ครับ เลยขี้เกียจแก้ไข หรือทำอะไรต่อ


อ้างถึงจาก: rapeedu ใน 12 สิงหาคม 2008, 23:52:35
ผมเจอปัญหากับ mysql ที่ hostgator ตอนนี้ครับ มัน เกิด over head ตลอดเลย อยากจะถามว่า มันเกิดจากอะไรครับ แล้วจะแก้ได้อย่างไรบ้าง เพราะมันลบ records ผมทุก ๆ ครั้งที่ overhead เลยครับ

ผมลอง repair กับ optimize ทุกครั้งที่ใช้ table ก็ยังคงเกิดอีก

ผม set primary key ไว้ เป็น auto increment และสร้าง index ไว้กับ text


ผมควรแก้ไขอย่างไรดีครับ ขอบคุณมากครับ  :-X

ลอง tune ด้วยคำสั่ง EXPLAIN หรือยังครับ?


จาก Optimizing MySQL: Queries and Indexes
http://www.databasejournal.com/features/mysql/article.php/1382791




พูดถึง Hostgator เลยขอเอามะพร้าวห้าวมาขายสวน
เอา script นับ inode มาฝากครับ แต่ไม่รู้ว่ามันนับถูกหรือเปล่านะครับ
พอดีมีคนหามาให้ เลยใช้ๆ ไปน่ะครับ ไม่รู้เรื่อง linux ซักกะติ๊ด

echo "<b>";
system('cd ~/public_html; pwd');
echo "</b>: ";
system('cd ~/public_html; find . | wc -l');
echo " inodes<br />\n<b>";
system('cd ~; pwd');
echo "</b>: ";
system('cd ~; find . | wc -l');
echo " inodes";
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: rapeedu ใน 13 สิงหาคม 2008, 15:03:37
อ้างถึงจาก: lowprofile ใน 13 สิงหาคม 2008, 13:18:52

ลอง tune ด้วยคำสั่ง EXPLAIN หรือยังครับ?


จาก Optimizing MySQL: Queries and Indexes
http://www.databasejournal.com/features/mysql/article.php/1382791
ตอนนี้ผมลองแก้แบบง่ายสุด คือ เป็น data type ให้เหมาะสมครับ ก็ไ่ม่เห็นมีการลบ db สับสนครับ เด๋วผมขอเทสข้ามวันก่อนว่ามันจะมีการลบอีกหรือเปล่า

ขอบคุณมากครับสำหรับ เว็บที่ให้ไปอ่าน ผมจะลองศึกษาดูครับ
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: topsitemp4 ใน 13 สิงหาคม 2008, 15:21:13
อะโห :-*
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: Dr.K ใน 13 สิงหาคม 2008, 16:00:00
ผมเกรงว่ากระทู้นี้ถ้ายาวไป จะมั่วมากเลย หาอะไรไม่เจอแน่ :P
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: pugkung ใน 13 สิงหาคม 2008, 16:57:28
ผมก็ว่างั้น น่าจะมีระบบ จัดการ หน่อยนะครับ กลัวว่าจะเป็นเหมือน

แชร์ PHP  :)
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: payu ใน 13 สิงหาคม 2008, 17:12:07

สารบัญไง .. มั้ง ...

ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: thenetxx ใน 13 สิงหาคม 2008, 17:41:13
วันนี้เอา SEO ทิปเล็ก ๆ มาฝาก ง่าย ๆ แต่ได้ผล

ปกติเมื่อเราจะทำลิ้งที่เปิด popup มักจะใช้ function javascript
โดยการเปิด popup ที่ใช้กัน ก็มักจะเป็น function ที่แถมมากะ dreamweaver คือ

ประมาณนี้


<a href="#" onClick="MM_openBrWindow('http://www.xxx.com/popup.php','','width=20,height=20');">เปิดโปปุ๊บ</a>


แต่มันเป็นปัญหาคือ SE ไม่ยอมเข้าไปเก็บ หน้า popup.php ซึ่งส่วนมากมักจะเป็น dynamic page

เราสามารถแก้ปัญหานี้ได้ด้วยการ เขียนอย่างนี้ครับ


<a href="http://www.xxx.com/popup.php" onClick="MM_openBrWindow('http://www.xxx.com/popup.php','','width=20,height=20'); return false;">เปิดโปปุ๊บ</a>


1.ใส่ลิ้งเข้าไปใน href เท่านี้บอทก็จะสามารถตามเก็บลิ้ง จาก href ได้แล้ว
2. return false; ใส่เพื่อไม่ให้มันเปลี่ยนหน้าตามไปด้วยจากการใช้ href เพราะมัน return false; และสามารถเปิด popupได้ปกติ

เท่านี้ คุณก็ได้ index จากกูเกิ้ลเพิ่มมากขึ้น ครับ

:)

ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: lowprofile ใน 13 สิงหาคม 2008, 18:49:38
เจ๋งเลยครับ อ้วนทันตาเห็นเลย (เข็มขัดสั้น, คาดไม่ถึง)
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: oldgame ใน 14 สิงหาคม 2008, 16:11:27
ขอขุดมารอรับความรู้่ใหม่ ๆ นะครับ  :)

ชอบห้องนี้มาก ๆ เลย  :-[

ซักวันจะเก่งมาแบ่งให้คนอื่นมั่ง
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: noob ใน 16 สิงหาคม 2008, 03:45:50
อ้างถึงจาก: thenetxx ใน 08 สิงหาคม 2008, 20:44:45
เห็นเค้าแชร์กัน อยากแชร์มั่ง
คอนแรกจะแชร์  ajax class ที่ใช้งานง่าย
เรียกแค่ 2 ไฟล์ ใช้ได้ทั้งเว็บ แต่กลัวมันจะยาวเกินไป


เลยแชร์ทริปง่าย ๆ ละกันเป็น  function java ใช้ ซ่อน/แสดง div


<input type="button" value="ซ่อน" onClick="hide_div_id('content');">
<input type="button" value="แสดง"  onClick="show_div_id('content');">

<div id="content">xxx content xxxx</div>
<script>
function show_div_id(id){
   document.getElementById(id).style.visibility = "visible";
   document.getElementById(id).style.display = 'inline';
}

function hide_div_id(id){
   document.getElementById(id).style.visibility = "hidden";
   document.getElementById(id).style.display = 'none';
}
</script>


:D

แล้วถ้าเริ่มมาต้องการให้ข้อความมันถูกซ่อนอยู่แล้ว แล้วเราค่อยกดให้มันแสดงออกมานี่ต้องทำยังไงครับ

แล้วขอถามอีกข้อนะครับ อยากทราบวิธรเช็คว่าข้อมูลในตารางอยู่ในลำดับที่เท่าไหร่ต้องทำยังไงครับ อย่างเช่นอยากทราบว่า id16 อยู่อันดับที่เท่าไหร่ในตาราง
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: izakub ใน 16 สิงหาคม 2008, 04:16:51
รบกวนพี่นิดนึงครับ คือผมอยากใส่รูlogoลงไปในบาวซ์เซอร์แบบในรูปอ่ะครับ ไม่ทราบว่าต้องใส่แบบไหนหรอครับขอบคุณครับ

(http://u-clip.co.cc/wp-content/uploads/2008/08/e0b894e0b8b91.jpg)
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: บอท! ใน 16 สิงหาคม 2008, 04:28:57
อ้างถึงจาก: izakub ใน 16 สิงหาคม 2008, 04:16:51
รบกวนพี่นิดนึงครับ คือผมอยากใส่รูlogoลงไปในบาวซ์เซอร์แบบในรูปอ่ะครับ ไม่ทราบว่าต้องใส่แบบไหนหรอครับขอบคุณครับ

(http://u-clip.co.cc/wp-content/uploads/2008/08/e0b894e0b8b91.jpg)

<link href="/favicon.ico" rel="shortcut icon" type="image/x-icon" />
ใส่ส่วนของ head
ทำรูปที่ต้องการ แล้วเซฟเป็นชื่อ favicon.ico
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: izakub ใน 16 สิงหาคม 2008, 04:38:38
อ้างถึงจาก: kradarndum ใน 16 สิงหาคม 2008, 04:28:57
อ้างถึงจาก: izakub ใน 16 สิงหาคม 2008, 04:16:51
รบกวนพี่นิดนึงครับ คือผมอยากใส่รูlogoลงไปในบาวซ์เซอร์แบบในรูปอ่ะครับ ไม่ทราบว่าต้องใส่แบบไหนหรอครับขอบคุณครับ

(http://u-clip.co.cc/wp-content/uploads/2008/08/e0b894e0b8b91.jpg)

<link href="/favicon.ico" rel="shortcut icon" type="image/x-icon" />
ใส่ส่วนของ head
ทำรูปที่ต้องการ แล้วเซฟเป็นชื่อ favicon.ico

ขอบคุณมากๆครับ
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: monkboom ใน 16 สิงหาคม 2008, 14:30:46
ผมอยากเรียนphpบ้างครับควรเริ่มจากตรงไหนเหลอครับซื้อหนังสือมาแล้วเล่มหนึ่งของKTP คัวภีร์ PHP โดยกิตติ ภักดีวัฒนะกุล
เลิ่มนี้ดีไหมครับ :'( :'(
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: au8ust ใน 16 สิงหาคม 2008, 15:45:35
ต้องมีคนทำ Index แล้วครับ
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EixQzUnG ใน 16 สิงหาคม 2008, 16:55:58
อยากได้ class pager อะ แบ่งหน้าๆๆๆๆ  ;D ;D ;D เขียน เองเห่ยชะไม่มี  ;D ;D ;D ;D ;D
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: ITAXIz ใน 16 สิงหาคม 2008, 17:49:37
ช่ายๆๆ พี่โจ้ จัดเรยๆ

แก้อันแรกได้แค่คนเดียว

หรือ mod ก้ได้

แวะซักแปปนุง

:P
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: antie ใน 16 สิงหาคม 2008, 19:20:57
โอ้โห..ความรู้เพียบเลยครับห้องนี้  ของเค้าดีจริง อิอิ ;)
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EThaiZone ใน 16 สิงหาคม 2008, 19:37:36
อ้างถึงจาก: zunkz ใน 16 สิงหาคม 2008, 16:55:58
อยากได้ class pager อะ แบ่งหน้าๆๆๆๆ  ;D ;D ;D เขียน เองเห่ยชะไม่มี  ;D ;D ;D ;D ;D

มีแต่ไม่ใช่คลาส  เคยแจกไว้ของเก่า  แสดงแนว Google

http://www.thaiseoboard.com/index.php/topic,23894.0.html

ลองดูละกัน :P

อ้างถึงจาก: ITAXIz ใน 16 สิงหาคม 2008, 17:49:37
ช่ายๆๆ พี่โจ้ จัดเรยๆ

แก้อันแรกได้แค่คนเดียว

หรือ mod ก้ได้

แวะซักแปปนุง

:P

ตอนนี้งานจี้ตูดผมแล้วครับ  :-X
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EixQzUnG ใน 16 สิงหาคม 2008, 19:40:33
ขอบคุณครับ คุณโจ้ เป็น ผู้ ญ นิ รัก ตายเลย  ;D ;D ;D
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: thenetxx ใน 16 สิงหาคม 2008, 19:46:52
   
    function pageNavigator($totalpage, $pathlink, $page = 1){
        $pageno = $page;
        $showlink = "<Font class="nav">Page : ";                 
        for($i=1; $i<=$totalpage; $i++){
                if($pageno == $i){
                    $showlink .=" <b>[".$i."]</b> ";
                }else{
                    $showlink .=  "<a href=\"".$pathlink.",".$i."\">$i</a> ";
                }
        }
        $showlink.= " </Font>";
        return $showlink; 
    }


ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: oldgame ใน 18 สิงหาคม 2008, 13:11:40
มีวิธีเรียงจากหลังมาหน้าโดยไม่ต้องใช้ order by มั้ยครับ ฐานข้อมูลใหญ่ ๆ มันอืด ๆ ไงไม่รู้สิครับ  :-*
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: thenetxx ใน 18 สิงหาคม 2008, 14:18:02
อ้างถึงจาก: oldgame ใน 18 สิงหาคม 2008, 13:11:40
มีวิธีเรียงจากหลังมาหน้าโดยไม่ต้องใช้ order by มั้ยครับ ฐานข้อมูลใหญ่ ๆ มันอืด ๆ ไงไม่รู้สิครับ  :-*

ลอง query แบบไม่ต้อง order มาก่อน

แล้ว จับใส่ array โดยให้ key เป็น id
แล้วใช้ array_sort()

มันจะไม่ไปดึง cpu ตอน query

แต่มันจะไปดึง ram ตอน sort ใน array แทน (มั้ง :P)
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: oldgame ใน 18 สิงหาคม 2008, 14:23:06
อ้างถึงจาก: thenetxx ใน 18 สิงหาคม 2008, 14:18:02
อ้างถึงจาก: oldgame ใน 18 สิงหาคม 2008, 13:11:40
มีวิธีเรียงจากหลังมาหน้าโดยไม่ต้องใช้ order by มั้ยครับ ฐานข้อมูลใหญ่ ๆ มันอืด ๆ ไงไม่รู้สิครับ  :-*

ลอง query แบบไม่ต้อง order มาก่อน

แล้ว จับใส่ array โดยให้ key เป็น id
แล้วใช้ array_sort()

มันจะไม่ไปดึง cpu ตอน query

แต่มันจะไปดึง ram ตอน sort ใน array แทน (มั้ง :P)

ไม่มีง่ายกว่านี้แล้วเหรอครับ  :'(
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: jiw ใน 18 สิงหาคม 2008, 16:29:37
คือ อยากรู้ ip ว่า ipv6 คืออะไร คำสั่งอะไรอะครับ

ลองหาอยู่นานสองนานยังไม่เจอ -*-


ขอบคุณล่วงหน้าครับผม ^^
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: ball6847 ใน 19 สิงหาคม 2008, 07:51:26
ว่าจะตั้งทู้ใหม่แต่ มาถามทู้นี้ดีก่า คนเปิดอ่านบ่อยกว่า

ตอนนี้ผมกำลังมีปัยหากับการแปลงอักขระคับ

ผมใช้ function iconv ในการแปลงจาก "TIS-620" ไป "UTF-8" แต่เกิดปัญหาที่ว่า มีอักขระบางตัว (entity) ที่ไม่อยู่ในชุดตัวอักษรของ TIS-620 ฟังก์ชั่นมันแปลไม่ถูกมันเลยตัดข้อความ return กลับมาถึงแค่ตรงนั้นอ่ะ ทั้งที่มันต้องมีไปอีก แต่มันตัดถึงตรงที่มันแปลงไม่ได้อ่ะ

ทำงัยดีหว่า  :'( เด๋วไปลองวิธีผมเองก่อน แล้วจะกลับมารายงาน
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: ITAXIz ใน 19 สิงหาคม 2008, 09:06:39
อ้างถึงจาก: jiw ใน 18 สิงหาคม 2008, 16:29:37
คือ อยากรู้ ip ว่า ipv6 คืออะไร คำสั่งอะไรอะครับ

ลองหาอยู่นานสองนานยังไม่เจอ -*-


ขอบคุณล่วงหน้าครับผม ^^

รู้แต่ว่า ที่เราใช้กันอยุ่มันเป็น ip4 ป่ะครับ

ส่วน ipv6 ก็จะมี xxx.xxx.xxx.xxx.xxx.xxx อะไรประมานนี้

เอาไว้รองรับกับการโตของ internet

http://www.ipv6.nectec.or.th/

อิอิ

ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: ball6847 ใน 19 สิงหาคม 2008, 10:32:54
อ้างถึงจาก: ball6847 ใน 19 สิงหาคม 2008, 07:51:26
ว่าจะตั้งทู้ใหม่แต่ มาถามทู้นี้ดีก่า คนเปิดอ่านบ่อยกว่า

ตอนนี้ผมกำลังมีปัยหากับการแปลงอักขระคับ

ผมใช้ function iconv ในการแปลงจาก "TIS-620" ไป "UTF-8" แต่เกิดปัญหาที่ว่า มีอักขระบางตัว (entity) ที่ไม่อยู่ในชุดตัวอักษรของ TIS-620 ฟังก์ชั่นมันแปลไม่ถูกมันเลยตัดข้อความ return กลับมาถึงแค่ตรงนั้นอ่ะ ทั้งที่มันต้องมีไปอีก แต่มันตัดถึงตรงที่มันแปลงไม่ได้อ่ะ

ทำงัยดีหว่า  :'( เด๋วไปลองวิธีผมเองก่อน แล้วจะกลับมารายงาน

เอาล่ะ กลับมาต่อ ได้วิธีที่ iconv เตรียมไว้ให้ คือหากเจอตัวที่ไม่สามารถแปลได้ ให้ ข้ามไป แปลตัวถัดไปเลย


<?php

echo iconv("TIS-620" "UTF-8" "ฮัลโหล "เทสๆ"") . "\n";
echo 
iconv("TIS-620" "UTF-8//IGNORE" "ฮัลโหล "เทสๆ"");

?>




ฮัลโหล
ฮัลโหล เทสๆ
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EThaiZone ใน 19 สิงหาคม 2008, 12:40:46
ู^
^
ใช้โค้ดแปลงไม่ได้เหรอครับ ในกระทู้ php room
มีโค้ดแปลง tis620 เป็น utf8 อะ

:P
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: pugkung ใน 19 สิงหาคม 2008, 13:15:51
อ้างถึงจาก: EThaiZone ใน 19 สิงหาคม 2008, 12:40:46
ู^
^
ใช้โค้ดแปลงไม่ได้เหรอครับ ในกระทู้ php room
มีโค้ดแปลง tis620 เป็น utf8 อะ

:P

ว่าจะโพสบอกเหมือนกัน เพราะผมใช้อยู่  :D ใช้ดีมากด้วย  :)
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EixQzUnG ใน 21 สิงหาคม 2008, 15:07:42
ถ้า ผม จะขอระบบ ค้นหา ใครมีบ้างนะ แบบว่า

$tags = "บ้าน,ที่ดิน,รถ";
$tags = explode(",", $tags );
$result = mysql_query("......................... "); // เขียนยังไงดีครับ  :P :P :P แบบว่ามีคำคล้ายๆละ นำมาแสดง เลย


ถ้าผมอยาก ให้มันค้นหา แบบ ที่ มีคำว่า บ้าน,ที่ดิน .... โดยใช้ ตัว , แยกผมแยกได้ละนะครับ  :P :P :P

ลองทำเองไม่ work เท่าไหล่  ;D ;D ;D
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: pugkung ใน 21 สิงหาคม 2008, 15:10:44
ใน php room มีคำตอบให้ครับ คุณ โจ้ เขียนไว้ ประมาณหน้า 3 หรือ 4 นี้ล่ะผมจำไม่ได้   :)
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EixQzUnG ใน 21 สิงหาคม 2008, 15:16:46
$result = mysql_query("select * FROM table_list WHERE tags REGEXP '[[:<:]]".$tags."[[:>:]]' ");

อันนี้ใช่ป่ะครับ ลองละครับ ได้สำหรับคำเดียวถ้าผมจะหา แบบ array หลายๆ คำ ทำไง น่อ  :P :P
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: pugkung ใน 21 สิงหาคม 2008, 15:19:47
ถ้าไม่ใช้ loop ก็คงต้องรอถามคนอื่นล่ะครับ

สมองผมคิดได้เท่านี้   :P
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: oldgame ใน 21 สิงหาคม 2008, 16:52:49
คือมีปัญหามาถามครับผม  :P

ในฐานข้อมูลข่าวขนาดใหญ่ 50000 - 60000 row
ผมเก็บ id,name,type,text,date แบบนี้ครับผม

ปรกติผมเรียกใช้ดูข่าวใหม่ไปเก่่าแบบนี้ครับ


select id,name,text,date from news where type='ข่าวสด' order by id desc limit 10


หลัง ๆ มานี้มันอืดขึ้นเลื่อย ๆ ตามขนาดของฐานข้อมูล
เห็นพี่ ๆ บอกว่า order by มันไม่ดี พอจะมีวิธีเอามันออกแล้วยังทำงานได้เหมือนเดิมด้วยวิธีอื่น หรือมีวิธีเขียนใหม่ให้มันเร็วขึ้นมั้ยครับ
จนปัญญาแล้วครับ  :-X
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: icez ใน 21 สิงหาคม 2008, 19:13:29
alter table news add index(type);

เอาไป query ใน phpmyadmin ซักทีครับ
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: pugkung ใน 21 สิงหาคม 2008, 19:27:54
select id,name,text,date from news where [color=red]type='ข่าวสด'[/color] order by id desc limit 10

ที่มันอืดคือการ query จาก text ใช่ไหมครับ

หรือว่าอย่างไร อยากให้ช่วยอธิบายทีครับ

ขอบคุณ คุณ icez มากนะครับ
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EixQzUnG ใน 21 สิงหาคม 2008, 19:59:05
อ้างถึงจาก: icez ใน 21 สิงหาคม 2008, 19:13:29
alter table news add index(type);

เอาไป query ใน phpmyadmin ซักทีครับ


ขยาย ให้กระจ่างหน่อย จิ  ;D ;D ตัวอย่างก็ได้ครับ
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: thenetxx ใน 21 สิงหาคม 2008, 20:01:13
อ้างถึงจาก: zunkz ใน 21 สิงหาคม 2008, 19:59:05
อ้างถึงจาก: icez ใน 21 สิงหาคม 2008, 19:13:29
alter table news add index(type);

เอาไป query ใน phpmyadmin ซักทีครับ


ขยาย ให้กระจ่างหน่อย จิ  ;D ;D ตัวอย่างก็ได้ครับ

เซ็ต field 'type' ให้เป็น index ครับ จะได้ค้นหาง่าย ๆ ไม่เหนื่อย DB  :)
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: oldgame ใน 21 สิงหาคม 2008, 20:37:47
อ้างถึงจาก: thenetxx ใน 21 สิงหาคม 2008, 20:01:13
อ้างถึงจาก: zunkz ใน 21 สิงหาคม 2008, 19:59:05
อ้างถึงจาก: icez ใน 21 สิงหาคม 2008, 19:13:29
alter table news add index(type);

เอาไป query ใน phpmyadmin ซักทีครับ


ขยาย ให้กระจ่างหน่อย จิ  ;D ;D ตัวอย่างก็ได้ครับ

เซ็ต field 'type' ให้เป็น index ครับ จะได้ค้นหาง่าย ๆ ไม่เหนื่อย DB  :)

เป็น index อยู่ก่อนแล้วครับ  :-X
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: icez ใน 22 สิงหาคม 2008, 00:53:11
งั้นคงต้องจำกัดขอบเขตการ query ล่ะครับ

อาจต้องเพิ่ม where id > xxxx เข้ามาช่วยด้วยอีกหน่อย
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EThaiZone ใน 22 สิงหาคม 2008, 02:48:49
หลายวันมานี้ เหมือนผมผ่านอะไรมาเยอะเลย เหมือนอยู่ที่แปลกๆ มาไกล
วันนี้พอโพสสั้นๆ นะครับ แบบว่าเหนื่อยมาก~~




"เขียน .htaccess สำหรับ Modrewrite อย่างไรให้ใช้งานได้ทุกโฮส"

เรื่องคราวนี้ ผมเขียนให้สำหรับคนเขียน .htaccess เป็นแล้วนะครับ
หลักการมีไม่กี่ข้อครับ ถ้าทำตามนี้ได้ จะใช้งานได้เกือบทุกโฮสเลย
(แน่ๆ อย่าง Netfirms ที่ว่ามีปัญหาบ่อย ก็ใช้งานได้ปกติ)

1. ระบุ RewriteBase ด้วยพาทแบบซัพโฟลเดอร์โดยนับจากโดเมน และปิดหัวท้ายด้วย "

ยกตัวอย่าง .htaccess บนพาทเว็บ www.example.com/myscript/
จะต้องเขียน RewriteBase เป็น
RewriteBase "/myscript/"

2. ระบุพาทของ url หลังกฎของ rewrite ด้วยพาทแนวเดียวกันกับข้อ 1

จากตัวอย่างข้อหนึ่ง สมมุติผมจะเขียน rewrite แปลง  [keyword].html เป็น page.php?kw=[keyword]
โดยทั้งหมดอยู่ใน www.example.com/myscript/  จะเขียนได้เป็น

RewriteRule ^([^\.]+)\.html$ "/myscript/page.php?kw=$1" [L]


ถ้าทำตาม 2 ข้อนี้  ก็จะทำให้สคริปทำงานได้อย่างเต็มที่แล้วครับ  :)




เบื้องหลังทำไมต้องเป็นแบบนี้

1. ทำไมต้องระบุพาทเต็ม
เหตุมาจาก modrewrite ทำงานด้วยความสามารถของ apache
แล้วการกำหนดค่าโดเมน จะอิงกับโฟลเดอร์รากที่ใช้แสดงรากของโดเมนนั้นๆ
(นึกภาพไม่ออก ก็ไปลองแงะไฟล์ตั้งค่าของ apache ดู)
ทำให้เวลาการกำหนดพาท จึงต้องอิงจากรากโดเมนเป็นหลัก

2. ทำไมต้องมี " ปิดหัวท้าย
เหตุเพราะเพื่อรองรับในกรณีโฟลเดอร์หรือไฟล์มี ช่องว่าง
เป็นสาเหตุตกม้าตายของใครต่อหายคนมานักต่อนักแล้ว
เพื่อกันไม่ให้ระบบเข้าใจผิดว่าหลังช่องว่างคือ flag จึงต้องใส่ " ปิดหัวท้าย

:)
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EThaiZone ใน 22 สิงหาคม 2008, 03:04:52
อ้างถึงจาก: zunkz ใน 21 สิงหาคม 2008, 15:07:42
ถ้า ผม จะขอระบบ ค้นหา ใครมีบ้างนะ แบบว่า

$tags = "บ้าน,ที่ดิน,รถ";
$tags = explode(",", $tags );
$result = mysql_query("......................... "); // เขียนยังไงดีครับ  :P :P :P แบบว่ามีคำคล้ายๆละ นำมาแสดง เลย


ถ้าผมอยาก ให้มันค้นหา แบบ ที่ มีคำว่า บ้าน,ที่ดิน .... โดยใช้ ตัว , แยกผมแยกได้ละนะครับ  :P :P :P

ลองทำเองไม่ work เท่าไหล่  ;D ;D ;D

ทำฟิลด์นั้นๆ เป็น fulltext ก่อน  แก้ใน phpmyadmin ก็ได้ หรือคำสั่ง sql ก็

ALTER TABLE ชื่อตาราง ADD FULLTEXT(ชื่อฟิลด์)

แล้วเวลาค้นก็ง่ายๆ เลย

SELECT * FROM ชื่อตาราง WHERE MATCH(ชื่อฟิลด์) AGAINST('บ้าน,ที่ดิน,รถ');

แบบนี้เลย

แหล่งอ้างอิง (อยากให้อ่านอันล่าง น่าใช้กว่าแบบที่ผมยกตัวอย่างอีก)
http://dev.mysql.com/doc/refman/5.0/en/fulltext-search.html
http://dev.mysql.com/doc/refman/5.0/en/fulltext-boolean.html


:)
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: oldgame ใน 22 สิงหาคม 2008, 14:07:51
อ้างถึงจาก: icez ใน 22 สิงหาคม 2008, 00:53:11
งั้นคงต้องจำกัดขอบเขตการ query ล่ะครับ

อาจต้องเพิ่ม where id > xxxx เข้ามาช่วยด้วยอีกหน่อย

ตามที่คุณ icez บอก หมายความว่า หลักในการ order by นี่ มันจะ ดูเงื่อนไข ก่อนที่จะจัดเรียงใช่มั้ยครับ

ถ้าทำยิ่งแคบก็จะช่วยให้ไวขึ้น ถูกมั้ยครับ  :-*
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EThaiZone ใน 22 สิงหาคม 2008, 14:11:59
^
^
ตามนั้นเลยครับ  :)
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: oldgame ใน 22 สิงหาคม 2008, 14:31:54
กระจ่างแล้วครับ  :-*

ขอบคุณมากครับผม ต้องกลับไปปรับใหญ่แล้ว  :P
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: MrWebmonster ใน 25 สิงหาคม 2008, 15:23:32
- ใช้ criteria มาช่วยกรองจะทำให้ค้นหาได้เร็วขึ้นครับ
- การสร้าง index ใน table ก็ช่วยได้เช่นกันครับ  ::)
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: oldgame ใน 27 สิงหาคม 2008, 15:49:37
วันนี้ได้คำชี้แนะจากพี่เปิ้ล แห่ง appservhosting มาครับ เพราะความบ้าบอของผมเอง

ด้วยว่าฐานข้อมูลของผมไปสร้า่งปัญหาเอาไว้เยอะ แฮะ ๆ :P

จากที่พี่เปิ้ลแนะนำ

อ้างถึง
พี่เปิ้ล : พวก หมวดอะไรพวกนี้
พี่เปิ้ล : เวลา ดึงให้ดึงเป็น key แบบ number
พี่เปิ้ล : a='1' ไม่ต้อง a='manager'  <<< (ไอ้ตรงนี้แหละที่ทำเอาเว็บอืดเป็นเต่าคลานเพราะความบ้าบอของผม :-[)
พี่เปิ้ล : a='1' แบบนี้เลย
พี่เปิ้ล : อะไรที่ where name='xxx';
พี่เปิ้ล : field name ก็ให้ Add Index
พี่เปิ้ล : มันถึงจะไว

เอามาให้ดูไว้เป็นแบบอย่าง เฮ้ย!! ... อย่าเอาเป็นเยี่ยงอย่างนะครับ  :P
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: icez ใน 27 สิงหาคม 2008, 16:00:38
การ query ภาษา sql จะทำงานจาก ซ้ายไปขวา บนลงล่าง ครับ
ตาม syntax ของมันน่ะนะ

ตามนี้ครับ

SELECT [field]
FROM

WHERE [condition]
GROUP BY [field]
HAVING [condition]
ORDER BY [field]
LIMIT [start], [count]


เพราะฉะนั้น ถ้าเราจำกัดขอบเขตการค้นหาใน WHERE ก็จะไปมีผลใน ORDER BY ด้วย
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: thenetxx ใน 28 สิงหาคม 2008, 10:39:02
วันนี้ มาแชร์ฟังชั่นนรก กันมั่งดีกว่า

ฟังชั่นนี้ใช้ดี เป็นศรีแก่ตัว ใช้มั่วระวังหัวจะมีสี(สีแดง) นะค้าบบบ :P


function clonePage($url){
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($ch);       
curl_close($ch);
return $output;
}

echo clonePage('http://blog.aanthe.com');
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: pugkung ใน 28 สิงหาคม 2008, 11:00:03
อ้างถึงจาก: thenetxx ใน 28 สิงหาคม 2008, 10:39:02
วันนี้ มาแชร์ฟังชั่นนรก กันมั่งดีกว่า

ฟังชั่นนี้ใช้ดี เป็นศรีแก่ตัว ใช้มั่วระวังหัวจะมีสี(สีแดง) นะค้าบบบ :P


function clonePage($url){
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($ch);      
curl_close($ch);
return $output;
}

echo clonePage('http://blog.aanthe.com');


อธิบายได้ไหมครับว่า แต่ละบรรทัดคืออะไร ผมยัง งง ๆ  เรื่อง curl อยู่แล้วก็อยากใช้เป็นด้วย
เปิดบอร์ดสอนไหมครับ เอาแบบ basic เลยเอาภาษาพูดง่าย ๆ ก็ดีนะครับ อธิบายแบบบ้าน ๆ เลยผมชอบ  :D
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: thenetxx ใน 28 สิงหาคม 2008, 11:09:50
อ้างถึงจาก: pugkung ใน 28 สิงหาคม 2008, 11:00:03
อ้างถึงจาก: thenetxx ใน 28 สิงหาคม 2008, 10:39:02
วันนี้ มาแชร์ฟังชั่นนรก กันมั่งดีกว่า

ฟังชั่นนี้ใช้ดี เป็นศรีแก่ตัว ใช้มั่วระวังหัวจะมีสี(สีแดง) นะค้าบบบ :P


function clonePage($url){
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($ch);      
curl_close($ch);
return $output;
}

echo clonePage('http://blog.aanthe.com');


อธิบายได้ไหมครับว่า แต่ละบรรทัดคืออะไร ผมยัง งง ๆ  เรื่อง curl อยู่แล้วก็อยากใช้เป็นด้วย
เปิดบอร์ดสอนไหมครับ เอาแบบ basic เลยเอาภาษาพูดง่าย ๆ ก็ดีนะครับ อธิบายแบบบ้าน ๆ เลยผมชอบ  :D

กำแทะ


ดูได้ที่
http://th.php.net/manual/en/function.curl-setopt.php

ใน code .ใช้ 1= true, 0= false

หรือจะใช้

// create a new cURL resource
$ch = curl_init();

// set URL and other appropriate options
$options = array(CURLOPT_URL => 'http://www.example.com/',
                 CURLOPT_HEADER => false
                );

curl_setopt_array($ch, $options);

// grab URL and pass it to the browser
curl_exec($ch);

// close cURL resource, and free up system resources
curl_close($ch);

ยังงี้ก็ได้ set option โดยใช้ array
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: pugkung ใน 28 สิงหาคม 2008, 11:26:52
ขอบคุณครับ  :P
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: rapeedu ใน 28 สิงหาคม 2008, 15:56:28
อ้างถึงจาก: oldgame ใน 27 สิงหาคม 2008, 15:49:37
วันนี้ได้คำชี้แนะจากพี่เปิ้ล แห่ง appservhosting มาครับ เพราะความบ้าบอของผมเอง

ด้วยว่าฐานข้อมูลของผมไปสร้า่งปัญหาเอาไว้เยอะ แฮะ ๆ :P

จากที่พี่เปิ้ลแนะนำ

อ้างถึง
พี่เปิ้ล : พวก หมวดอะไรพวกนี้
พี่เปิ้ล : เวลา ดึงให้ดึงเป็น key แบบ number
พี่เปิ้ล : a='1' ไม่ต้อง a='manager'  <<< (ไอ้ตรงนี้แหละที่ทำเอาเว็บอืดเป็นเต่าคลานเพราะความบ้าบอของผม :-[)
พี่เปิ้ล : a='1' แบบนี้เลย
พี่เปิ้ล : อะไรที่ where name='xxx';
พี่เปิ้ล : field name ก็ให้ Add Index
พี่เปิ้ล : มันถึงจะไว

เอามาให้ดูไว้เป็นแบบอย่าง เฮ้ย!! ... อย่าเอาเป็นเยี่ยงอย่างนะครับ  :P
ยังงงอยู่ดีครับ คือถ้าผมมี field นึงที่เก็บ text หรือ tag ผมควร set เป็น index ไว้หรือครับ แล้วเวลา query จะต้องทำยังไง

เห็นว่า a='1' แล้ว 1 นี่มาจากไหนอ่ะคับ งง

ช่วยอธิบายด้วยครับ อยาก optimize ครับ
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: oldgame ใน 28 สิงหาคม 2008, 16:35:37
อ้างถึงจาก: rapeedu ใน 28 สิงหาคม 2008, 15:56:28
ยังงงอยู่ดีครับ คือถ้าผมมี field นึงที่เก็บ text หรือ tag ผมควร set เป็น index ไว้หรือครับ แล้วเวลา query จะต้องทำยังไง

เห็นว่า a='1' แล้ว 1 นี่มาจากไหนอ่ะคับ งง

ช่วยอธิบายด้วยครับ อยาก optimize ครับ

อย่าง tag ก็คงต้องเก็บเป็น text แหละครับ เพราะมันไม่ตายตัว ก็ควรจะติด index ด้วยเพราะใช้ในการ query บ่อย (ตามผมเข้าใจนะ :P)


ส่วน a='1' นี่เค้ายกตัวอย่างมาครับ

อย่างทุกทีผมแยกข่าวแบบนี้ตรง ๆ ครับ a='ข่าวกีฬา' ,a='ข่าวการเมือง',... อีกมากมาย เวลาเรียกใช้ผมก็ดึงด้วย text มา ตอนแรก ๆ มันก็ไม่มีปัญหาครับ แต่พอฐานข้อมูลใหญ่ขึ้นก็เริ่มมีปัญหาแบบทวีคูณเลยทีเดียวเยอะขึ้นหนักมากขึ้นเท่าตัว พี่เค้าเลยแนะนำมาว่า

เราก็เก็บอีกตารางว่า 1='ข่าวกีฬา', 2='ข่าวการเมือง',3='อะไรก็ว่าไป' ...

ละก็เก็บเป็นตัวเลขในตารางเดิม เวลาจะใช้ก็เรียก ด้วย number หรือจะมา join กันอะไรแบบนี้อะครับ


ผมก็ยังเข้าใจไม่กระจ่างหมดนะครับ ลึก ๆ อาจจะต้องให้ พี่ ๆ ช่วยตอบ

sql ช่างลึกซึ้งจริง ๆ
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: thenetxx ใน 28 สิงหาคม 2008, 19:53:25
ขออนุญาต copy ความรู้นี้ไปลงบอร์ดผมนะครับ

:)

ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: inDexTop10 ใน 28 สิงหาคม 2008, 20:01:18
-->
Warning: include() [function.include]: Failed opening 'layouts/Select a layout:' for inclusion (include_path='.;C:\php5\pear')

-->

ถ้ามัน เป็นอย่างนี้หมายความว่าไงครับ

ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: thenetxx ใน 28 สิงหาคม 2008, 20:13:10
อ้างถึงจาก: matha048 ใน 28 สิงหาคม 2008, 20:01:18
-->
Warning: include() [function.include]: Failed opening 'layouts/Select a layout:' for inclusion (include_path='.;C:\php5\pear')

-->

ถ้ามัน เป็นอย่างนี้หมายความว่าไงครับ



ระบุ path ผิดมั้งครับ หาไฟล์ที่จะ include ไม่เจอ
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: inDexTop10 ใน 28 สิงหาคม 2008, 20:41:54
ูููู^^

ขอบคุณครับ

ไม่เกียวกับ php5 ใช่ปะ
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: rapeedu ใน 28 สิงหาคม 2008, 21:24:39
อ้างถึงจาก: oldgame ใน 28 สิงหาคม 2008, 16:35:37
อ้างถึงจาก: rapeedu ใน 28 สิงหาคม 2008, 15:56:28
ยังงงอยู่ดีครับ คือถ้าผมมี field นึงที่เก็บ text หรือ tag ผมควร set เป็น index ไว้หรือครับ แล้วเวลา query จะต้องทำยังไง

เห็นว่า a='1' แล้ว 1 นี่มาจากไหนอ่ะคับ งง

ช่วยอธิบายด้วยครับ อยาก optimize ครับ

อย่าง tag ก็คงต้องเก็บเป็น text แหละครับ เพราะมันไม่ตายตัว ก็ควรจะติด index ด้วยเพราะใช้ในการ query บ่อย (ตามผมเข้าใจนะ :P)


ส่วน a='1' นี่เค้ายกตัวอย่างมาครับ

อย่างทุกทีผมแยกข่าวแบบนี้ตรง ๆ ครับ a='ข่าวกีฬา' ,a='ข่าวการเมือง',... อีกมากมาย เวลาเรียกใช้ผมก็ดึงด้วย text มา ตอนแรก ๆ มันก็ไม่มีปัญหาครับ แต่พอฐานข้อมูลใหญ่ขึ้นก็เริ่มมีปัญหาแบบทวีคูณเลยทีเดียวเยอะขึ้นหนักมากขึ้นเท่าตัว พี่เค้าเลยแนะนำมาว่า

เราก็เก็บอีกตารางว่า 1='ข่าวกีฬา', 2='ข่าวการเมือง',3='อะไรก็ว่าไป' ...

ละก็เก็บเป็นตัวเลขในตารางเดิม เวลาจะใช้ก็เรียก ด้วย number หรือจะมา join กันอะไรแบบนี้อะครับ


ผมก็ยังเข้าใจไม่กระจ่างหมดนะครับ ลึก ๆ อาจจะต้องให้ พี่ ๆ ช่วยตอบ

sql ช่างลึกซึ้งจริง ๆ
อ๋อ คือเก็บเป็น id หมดเลย ไม่ใช่ text ขอบคุณมากครับ
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EThaiZone ใน 28 สิงหาคม 2008, 21:35:48
^
^
ผมว่ามันเรื่องปกตินะ

ผมเคยไปเจอเคสหนึ่งของบริษัทหนึ่ง มีระบบฐานข้อมูลในนั้่น
ไปดูทั้งหมด สรุประบบไม่ดีเอาซะเยอะ

เหตุมาจากแบบปัญหาด้านบน คือเก็บข้อมูลซ้ำๆ กัน
ไม่ได้ใช้การอ้างอิง id

จริงอยู่มันดูสบายในตอน query แบบปกติ
แต่พอมาเจอ where กำหนดหาค่าที่ไม่ใช่ primary key เข้า ก็ถึงกับอืดเลย

แถมจะมาพัฒนาเป็น web app ก็ยากกว่าเก่า
บัดนี้ยังไม่ไปถึงไหนเลย ได้แต่ส่ายหัวปลงๆ เพราะงานช้างทำคนเดียวไม่ได้

:-X
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: rapeedu ใน 28 สิงหาคม 2008, 22:54:16
ผมเก็บเป็น id มานานแล้วครับ แต่ผมไม่ได้ทำเพื่อให้เร็ว แต่เพือให้ง่ายในการปรับปรุงแก้ไขหรือเพิ่มเติม เพิ่งรู้ว่ามันทำให้เร็วได้ด้วย อิอิ  :'(
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: tinnoi ใน 29 สิงหาคม 2008, 09:13:47
ผมอยากจะทำเว็บแหล่งข้อมูลข่าว เพื่อ feed ข้อมูลให้เว็บอื่น เนี่ยเราควรทำแบบไหนดีครับ
ผมไม่เก่ง php มากเท่าไหร่ เลยคิด concept ได้ประมาณ

- query ข่าวออกมา เป็นระยะ ๆ แล้ว gen เป็น text file ให้ เว็บอื่น ๆ มา get content  หรือ

- มีหน้า query ข่าว ทำมาเป็น XML เลย ดี  ( แต่จะ xml เอาไปใช้ต่อยังไง  )  หรือ

- ทำเว็บเป็น wordpress แล้วมันจะมี Feed RSS ที่ wordpress feed ออกมา ..
แต่นึกไม่ออกว่าตรงนี้จะคนอื่นจะเอาไปใส่ในเว็บเขายังไง


คิดว่าจะทำแบบไหนดีครับ ให้คนอยากเอาข่าวเราไปใส่ในเว็บเขาได้ง่าย ๆ ไม่ต้องรู้เรื่อง programming มาก
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: pugkung ใน 29 สิงหาคม 2008, 11:49:43
อ้างถึงจาก: tinnoi ใน 29 สิงหาคม 2008, 09:13:47
ผมอยากจะทำเว็บแหล่งข้อมูลข่าว เพื่อ feed ข้อมูลให้เว็บอื่น เนี่ยเราควรทำแบบไหนดีครับ
ผมไม่เก่ง php มากเท่าไหร่ เลยคิด concept ได้ประมาณ

- query ข่าวออกมา เป็นระยะ ๆ แล้ว gen เป็น text file ให้ เว็บอื่น ๆ มา get content  หรือ

- มีหน้า query ข่าว ทำมาเป็น XML เลย ดี  ( แต่จะ xml เอาไปใช้ต่อยังไง  )  หรือ

- ทำเว็บเป็น wordpress แล้วมันจะมี Feed RSS ที่ wordpress feed ออกมา ..
แต่นึกไม่ออกว่าตรงนี้จะคนอื่นจะเอาไปใส่ในเว็บเขายังไง


คิดว่าจะทำแบบไหนดีครับ ให้คนอยากเอาข่าวเราไปใส่ในเว็บเขาได้ง่าย ๆ ไม่ต้องรู้เรื่อง programming มาก

ก็ทำแบบนี้ มีหน้า query ข่าว ทำมาเป็น XML เลย ดี  ( แต่จะ xml เอาไปใช้ต่อยังไง  ) ก็ได้ครับ

แล้วเราก็ เจน code javascript เพื่อให้มาดึงข้อมูลจาก หน้า php ของเราเหมือน Rssfeed ของ rssthai
<script language="JavaScript" type="text/JavaScript" src="http://www.rssthai.com/rssreader.aspx?rssuri=http://www.rssthai.com/rss/entertain.xml&rowcount=5"></script>
โค้ดประมาณนี้ เสร็จแล้วก็ให้ สมาชิกหรือคนที่จะเอาข่าวเราไปลงเว็บ ก็อบ โค้ดนี้ไปอ่ะครับ

แต่ผมก็ไม่รู้นะครับว่าเค้าสร้าง โค้ดยังไง  :P
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: tinnoi ใน 29 สิงหาคม 2008, 18:56:37
โอเคครับ งั้นเดี๋ยวผม จะลอง gen text file เป็น XML มาก่อนนะครับ

ถ้าได้ออกมาแล้วจะ  มาถามต่ออีกที ว่าจะเล่นกับมันยังไง
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: kudjung ใน 31 สิงหาคม 2008, 14:29:16
ระบบฐานข้อมูลของเว็บนี่สำคัญนะครับ ผมจะออกแบบในกระดาษก่อน เพื่อให้เห็นภาพความสัมพันธ์ของแต่ละ
ตาราง พยามลดความซ้ำซ้อนของข้อมูล แล้วค่อยเอามาทำในโปรแกรมฐานข้อมูล
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EThaiZone ใน 31 สิงหาคม 2008, 19:40:22
ใครที่ไม่ถนัดเรื่องระบบฐานข้อมูล
อยากให้หัดใส้ช ms access จริงๆ

เพราะเรื่อง relation ในโปรแกรมนี้
เวลาออกแบบมันเป็นความต้องการขั้นพื้นฐานของมันเลย

ถ้าเข้าใจ จะสามารถสร้างระบบที่ต้องการน้อย
แต่ใช้งานได้ครอบคลุมครับ

:P
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: TBZS ใน 31 สิงหาคม 2008, 20:17:03
Question  ?

???

ผมอยากทราบเรื่องการใช้ subdomain  มีหลักการใช้ยังไงถึงจะถูกจะเหมาะ


รึว่ามั่วๆไปได้ ไม่มีปัญหาอะไร
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EThaiZone ใน 31 สิงหาคม 2008, 21:22:17
อ้างถึงจาก: AntacticA ใน 31 สิงหาคม 2008, 20:17:03
Question  ?

???

ผมอยากทราบเรื่องการใช้ subdomain  มีหลักการใช้ยังไงถึงจะถูกจะเหมาะ


รึว่ามั่วๆไปได้ ไม่มีปัญหาอะไร

ใช้เหมือนโดเมนปกติแหละครับ
เวลาจะเลือกใช้ชื่ออะไร เวลาจะทำอะไร ก็คิดซะว่าเหมือนโดเมนปกติ
อย่างเช่นคงไม่มีใครทำเว็บศาสนา ในซัพโดเมนว่า girl

- content ในซัพโดเมนมีความสัมพันธ์กันตัวชื่อซัพโดเมน
- ไม่ใช่ชื่อที่ยาวเกินไป เหมือนกับการจดโดเมนปกติที่ชื่อไม่ควรยาวเกินจำเป็น
- ทำลิงค์เข้าด้วย เพราะบอทมันไม่รู้ได้เองว่ามีซัพโดเมนเกิดใหม่
- ไซต์แม็พก็จำเป็น (ถ้่ามี) เพราะไซต์แม็พของซัพโดเมนตามหลัก จะไม่ใช่ร่วมกับของเว็บหลัก
- การทำ backlink เข้าซัพโดเมน จะไม่มีผลกับโดเมนหลัก (ยกเว้นทำลิงค์จากซัพโดเมนเข้าโดเมนหลักอีกที)

และสุดท้าย ก็เข้าใจง่ายๆ ว่า
subdomain เป็น sub ของ domain หลัก
และ domain หลัก เป็น sub ของ tld อีกที

** tld = top-level domain such as .com .net .org... etc.
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: TBZS ใน 31 สิงหาคม 2008, 21:38:23
ok คับ

ดูท่าแตกมากไปจะทำเสียวลำบาก


:)

ขอบคุณคับ
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: BosnoS ใน 02 กันยายน 2008, 21:44:32
รบกวนคุณโจ้ ขอ ไอเดียหน่อยคัรบ

คือผม กำลัง ลองเขียนสคริป นับจำนวนคนออนไลน์ขณะนี้ และ มีใครออนไลน์บ้าง

ถ้าเป็นสมาชิกที่ login ก็จะโชว์ชื่อ ถ้าไม่ได้ login จะนับเป็น guest

ซึ่งตรงนี้ผมตอบโจทย์ได้หมดแล้ว (แต่ดูไม่ค่อยได้เรื่อง code รก)  แต่ไม่เป็นไร มั่วๆ ดู สนุกดี

แต่ที่ผมติดปัญหาก็คือ

ผมจะใช้อะไรเป็นตัวแยกความแตกต่าง ว่า คน 2 คน เข้ามา ถือเป็นคนละคนกัน

เช่น

ผม ไม่ได้ login เข้าเว็บ มา ระบบจะ เซ้ตชื่อเป็น Guest แล้วนับเป้น 1
คุณโจ้ ก็ไม่ได้ login เข้าเว็บ มา ระบบจะ เซ้ตชื่อเป็น Guest แล้วนับเป้น 2

แต่ผม ลองทำดู ในเมื่อ เซ็ตชื่อเป้น Guest มันก็เลยมองว่าซ้ำกัน

มีคนบอกว่า ใช้ session_id  ผมลองแล้ว มันช่วยได้ระดับหนึ่ง แต่ถ้าคนนั้น ปิดเว็บแล้วเข้ามาใหม่ session_id ก็เปลี่ยน ทำให้กลายเป็น 2 คน ทั้งๆ ที่คนเดียวกัน

ผมก็เลยคิดว่า จะ จับ ip ด้วย แล้วนำมาเช็ค ถ้า ip ซ้ำกัน ก็ถือว่าคนเดียวกัน แต่ดูๆแล้วมันแปลกๆ คิดว่าที่เขาทำๆ กัน ไม่ใช่วิธีนี้


คุณโจ้แนะนำผมหน่อยซิคัรบ


ลืมบอกไป ระบบที่ผมคิดเอง คือ ใช้ sql ด้วยนะ  ใช้ text ไม่เป็นเลย


มีคนเข้า ก็เช็คว่า login หรือยัง ถ้ายัง ก็เซตเป็น guest เช็คเวลาเข้าเว็บด้วย แล้วยัดลง sql  ก่อนยัดก็เช็คดูก่อนว่า ใน sql มีคนนี้หรือยัง ถ้ามีแล้วก็ลบทิ้งก่อนจะเขียนทับ

ประมาณนี้นะคับ ที่ผมคิดได้
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EThaiZone ใน 03 กันยายน 2008, 11:28:01
สำหรับแนวคิดข้างบน ถ้าเป็นผมๆ จะทำกึ่ง session + คุ๊กกี้

ผมเคยเจอเคสหนึ่งที่ลูกค้า request มาว่า อยากเก็บให้คนดูเก็บข้อมูลบางอย่าง
ที่ได้ทำกับเว็บแล้ว เมื่อกลับมาคราวหลัง ยังสามารถเข้าถึงข้อมูลนั้นได้

ผมก็เหมือนคุณ bosnos เลย คือติดว่า session มันหายเมื่อปิด และ สมาชิกไม่ต้องสมัคร
(เน้นความสบายของคนเข้าชม)

ปัญหาที่ว่าเลยแก้โดยเก็บค่าคุกกี้ตัวหนึ่ง ซึ่งเป็น session ตัวแรกที่เขาเข้าเว็บเรา
(พิมพ์ด้วย Google Chrome มันพิมพ์ไทยปัญหาเยอะมาก)
และ session นี้จะโดนกลับมาใช้อีกครั้งในการเข้าครั้งต่อไป

$cookie_sessid = "user_id";  //ตรงนี้ก็ปรับค่ากันเอาเอง ใช้เก็บเซสชั่นแรกสุดที่คนเข้ามาดู

if(empty($_COOKIE[$cookie_sessid])) {
unset($_COOKIE[session_name()]);
session_regenerate_id(true);
$sessid = session_id();
setcookie($cookie_sessid, $sessid, time()+3600*24*30, "/");
} else {
if($_COOKIE[$cookie_sessid] != session_id()) {
unset($_COOKIE[session_name()]);
setcookie(session_name(), $_COOKIE[$cookie_sessid], time()+3600);
session_id($_COOKIE[$cookie_sessid]);  //ตรงนี้เป็นจุดที่เราเอา session เก่ามาทับของใหม่
}
$sessid = session_id();
}


สามารถนำโค้ดนี้ไปใช้ได้ครับ
เวลาจะเรียกเอา session ของคนดู ก็เอาจาก $sessid เลย

ปล. กลับไปใช้ firefox ดีกว่า ปัญหาพิมพ์ไทยมันเยอะจัด
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: BosnoS ใน 03 กันยายน 2008, 11:37:56
ล่าสุด ผมเ้ช็ค ip แทนครับ ตามคำแนะนำคุณไอซ์

เมื่อคืนลองทำเสร็จล่ะ เด๊่ยวจะลองเอา code คุณโจ้ ไปเล่นอีกทีครับ
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: tinnoi ใน 03 กันยายน 2008, 15:27:56
ถ้าผมเขียนคำสั่ง setcookie ไว้ใน ไฟล์ที่อยู่ใน folder ย่อย อีกทีไม่ได้อยู่ในหน้าเว็บหลัก
หมายความว่า cookie ที่เราสร้างไว้ จะไม่สามารถใช้ในหน้าหลักได้เหรอครับ

เช่น _http://www.myweb.com/service/createcookie.php   มีการ setcookie("user","tinnoi",time()+10000);



จะทำยังไงให้ ในหน้า  _http://www.myweb.com/ จะเรียก cookie   $_COOKIE[user]  ออกมาได้ครับ

ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EThaiZone ใน 03 กันยายน 2008, 15:55:22
กำหนดแบบนี้ครับ

setcookie("user","tinnoi",time()+10000, "/");

ตรงนี้ผมก็มักลืมกำหนดบ่อยๆ แต่เพราะคุ๊กกี้ไม่ค่อยได้ใช้มาก

และมักจะกำหนดคุ๊กกี้จากหน้าแรกเสมอๆ  :P
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: panus_l ใน 03 กันยายน 2008, 17:32:57
ทำ web เกี่ยวกับดูทีวี Online เขาทำกันอย่างไงครับ ...  :-*
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EThaiZone ใน 03 กันยายน 2008, 19:00:40
อ้างถึงจาก: panus_l ใน 03 กันยายน 2008, 17:32:57
ทำ web เกี่ยวกับดูทีวี Online เขาทำกันอย่างไงครับ ...  :-*

ไม่กล้าบอกครับ เดี๋ยวผมโดนพี่บิ้วอุ้มไปหมกใน Recycle Bin  ;D ;D ;D

------------------------------------

ทำเหมือนเว็บปกติครับ แต่ต้องอาศัยความสามารถที่เชี่ยวชาญ
เรื่อง HTML Code กับ File Structure และ Media Transfer
บางครั้งอาจต้องลึกถึงกับ Protocal อีกด้วย (โอเวอร์เนอะ  :D)

ฟังเหมือนยาก (ซึ่งถ้าเป็นผมเมื่อ 5 ปีก่อน ก็ว่ายากจริงๆ น่ะแหละ)
แต่จริงๆ ถ้าทำเว็บไปสักพัก ลองไปเรื่อยๆ จะรู้เอง
ตัวพี่บิ้วที่ทำเว็บดูทีวีออนไลน์ราคาเหยียบแสนนั่น
เขายังเขียน php ไม่เป็นเลย (ความรู้ข้างต้น นั่นเป็น Requirement ในการศึกษา php เลยล่ะ)

แต่เมื่อลองทำระดับหนึ่ง จะรู้ได้เองครับ  :)

บอกไปเล่าไปหลายวันก็ไม่จบครับ  :P
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: panus_l ใน 04 กันยายน 2008, 08:10:18
อ้างถึงจาก: EThaiZone ใน 03 กันยายน 2008, 19:00:40
อ้างถึงจาก: panus_l ใน 03 กันยายน 2008, 17:32:57
ทำ web เกี่ยวกับดูทีวี Online เขาทำกันอย่างไงครับ ...  :-*

ไม่กล้าบอกครับ เดี๋ยวผมโดนพี่บิ้วอุ้มไปหมกใน Recycle Bin  ;D ;D ;D

------------------------------------

ทำเหมือนเว็บปกติครับ แต่ต้องอาศัยความสามารถที่เชี่ยวชาญ
เรื่อง HTML Code กับ File Structure และ Media Transfer
บางครั้งอาจต้องลึกถึงกับ Protocal อีกด้วย (โอเวอร์เนอะ  :D)

ฟังเหมือนยาก (ซึ่งถ้าเป็นผมเมื่อ 5 ปีก่อน ก็ว่ายากจริงๆ น่ะแหละ)
แต่จริงๆ ถ้าทำเว็บไปสักพัก ลองไปเรื่อยๆ จะรู้เอง
ตัวพี่บิ้วที่ทำเว็บดูทีวีออนไลน์ราคาเหยียบแสนนั่น
เขายังเขียน php ไม่เป็นเลย (ความรู้ข้างต้น นั่นเป็น Requirement ในการศึกษา php เลยล่ะ)

แต่เมื่อลองทำระดับหนึ่ง จะรู้ได้เองครับ  :)

บอกไปเล่าไปหลายวันก็ไม่จบครับ  :P
.......................................................

ขอบคุณครับ..
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: au8ust ใน 06 กันยายน 2008, 17:09:08
อยากฟังเรื่อง memcached อ่ะครับ  :-*
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EThaiZone ใน 06 กันยายน 2008, 19:18:15
อ้างถึงจาก: au8ust ใน 06 กันยายน 2008, 17:09:08
อยากฟังเรื่อง memcached อ่ะครับ  :-*

เอาเรื่อง APC ได้ม๊ะ ^^" (แบบว่าไม่ค่อยจะว่าง)

มันก็เหมือน memcache เพียงแต่
memcache จะเก็บคนละเครื่อง ส่วน APC จะอยู่ในเครื่องเดียวกัน

http://www.thaiseoboard.com/index.php/topic,21529.0.html
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: au8ust ใน 06 กันยายน 2008, 20:04:23
อ้างถึงจาก: EThaiZone ใน 06 กันยายน 2008, 19:18:15
อ้างถึงจาก: au8ust ใน 06 กันยายน 2008, 17:09:08
อยากฟังเรื่อง memcached อ่ะครับ  :-*

เอาเรื่อง APC ได้ม๊ะ ^^" (แบบว่าไม่ค่อยจะว่าง)

มันก็เหมือน memcache เพียงแต่
memcache จะเก็บคนละเครื่อง ส่วน APC จะอยู่ในเครื่องเดียวกัน

http://www.thaiseoboard.com/index.php/topic,21529.0.html
ขอบคุณงับ : )
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: lowprofile ใน 09 กันยายน 2008, 00:50:20
APC นี่ส่วนมากเอาไปใช้ในลักษณะไหนครับ?
อย่างเช่น
- ผมจะเอาไว้เก็บตัวแปร $config ที่ภายในนั้นมี array ซับซ้อนวุ่นวาย
- หรือถ้าจะเอาไว้เก็บ xml ของ amazon ที่มีการใช้งานบ่อยๆ จะได้ไม่ต้องดูดมาใหม่ทุกครั้ง อย่างพวก topseller

แบบนี้ถูกต้องหรือเปล่าครับ หรือมีการใช้งานที่มีประโยชน์กว่านี้ พอจะแนะนำได้มั้ยครับ
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EThaiZone ใน 09 กันยายน 2008, 01:25:06
อ้างถึงจาก: lowprofile ใน 09 กันยายน 2008, 00:50:20
APC นี่ส่วนมากเอาไปใช้ในลักษณะไหนครับ?
อย่างเช่น
- ผมจะเอาไว้เก็บตัวแปร $config ที่ภายในนั้นมี array ซับซ้อนวุ่นวาย
- หรือถ้าจะเอาไว้เก็บ xml ของ amazon ที่มีการใช้งานบ่อยๆ จะได้ไม่ต้องดูดมาใหม่ทุกครั้ง อย่างพวก topseller

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

ให้อธิบายง่ายๆ นะครับ

APC จะทำการแคชค่าตัวแปรที่เราสั่ง cache รายตัวนั้นเก็บเข้า RAM ของเครื่อง
ทำให้เมื่อเรามีการเรียกใช้งานหน้าหรือสคริปนั้นในครั้งต่อไป

เราจะสามารถดึงค่านั้นจาก RAM มาได้เลย ซึ่งจะเร็วกว่าการแคชค่าตัวแปรลงไฟล์
ซึ่งต้องมีการเขียนทับที่กินเวลา หรือกระทั่งการอ่านเขียนทับซ้อนจนไฟล์เสียหาย (ถึงโอกาสจะน้อยก็เถอะ แต่ก็เสี่ยง)

และจากที่พี่ icez ได้พูดเสริมไว้ ก็คือมันเก็บกระทั่ง complie ของ php ไว้ด้วย
ซึ่งจะทำให้ทำงานได้เร็วขึ้นด้วย

พวกเว็บใหญ่อย่างสนุกก็ใช้พวกนี้เหมือนกัน เพราะต่อให้แคชลงไฟล์ ก็ยังต้องมีการอ่าน (หมุน hdd จนเปลือง)
เลยสู้อัดแีรมเยอะๆ ไปแล้วค่อยใช้แรมให้เต็มที่จะดีกว่าครับ

ถ้าพูดแคชค่าตัวแปรดูเหมือนชิวๆ แต่ถ้าเปลี่ยนเป็นแคช output จากการ query sql ล่ะ
มันลดเวลาไปได้เยอะไม่ใช่น้อยเลย

:)
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: icez ใน 09 กันยายน 2008, 02:30:15
config ถ้าประกาศเป็น array ตรงๆ ไม่มีการดึงข้อมูลจาก sql
ก็ไม่ต้องเก็บใส่ apc หรอกครับ เก็บใส่ apc มันช้ากว่าซะอีก
แต่ถ้าดึงมาจาก sql ด้วยก็ใส่ๆ ไปก็ดีครับ

ส่วนเรื่องเก็บ xml... เนื่องด้วยขนาดของมัน (คิดว่าใหญ่น่าดู)
แนะนำให้เก็บลง text ดีกว่าครับ
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: au8ust ใน 09 กันยายน 2008, 09:48:16
ขอคำแนะนำครับ

มีเว็บนึงที่ดูแลอยู่ ตอนแรกเปิดใช้นั้น ใน database มันเป็น latin1 แต่ตัวเว็บมันเก็บข้อมูลเป็น utf8 ในฐานข้อมูลก็เลยแสดงผลเพี้ยน แต่หน้าเว็บปกติ ซึ่งมีจำนวน tables เยอะมาก ตอนนี้จะแก้ให้มันอ่านได้ปกติทั้งในฐานข้อมูล และหน้าเว็บ คิดออกจะ alter จาก latin1 ไป bin แล้วกลับไป utf8 ตามเดิม

อยากทราบว่า จะใช้วิธีไหนจะง่าย และประหยัดเวลาที่สุดครับ?

ขอบคุณครับ : D
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EThaiZone ใน 09 กันยายน 2008, 10:12:07
ู^
^
รอพี่ icez มาตอบละกัน เรื่อง DB ผมไม่เชี่ยวเลย  :P
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: icez ใน 09 กันยายน 2008, 17:33:40
ใช้ mysqldump --compatible=mysql40
สั่ง export แล้วแก้แฟ้ม sql แล้วค่อย import ใหม่ครับ



หรือไม่งั้นก็ทำแบบที่คุณบอก... แต่เขียน script ช่วยเอานิดหน่อย
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: au8ust ใน 09 กันยายน 2008, 19:32:17
ได้แล้วครับ แจ๋วไปเลย ใช้วิธี export ออกมาโดย mysqldump แล้วแก้ encoding สองคลิกก็กลายเป็น utf8 แล้ว

เทพพพพพพ (http://i237.photobucket.com/albums/ff133/onionethan/onion_Emoticons/070_goodjob.gif)

ขอบคุณมากคร้าบบบ ~
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: ฟาร์มเฮ้า ใน 12 กันยายน 2008, 02:45:48
อยากสอบถามเกี่ยวกับ mysql นิดนึงครับ

คือว่า ผมทำเว็บแล้วมีการใช้ mod_rewrite เป็นแบบ show.php?pagename=what-do-you-want rewrite เป็น what-do-you-want.html

คราวนี้ เวลาเรียกข้อมูลจาก mysql ผมก็จะมี field ชื่อ url ไว้เก็บค่า what-do-you-want ซึ่งผมอยากจะให้เครื่องใช้ทรัพยากรน้อยที่สุด เลยคิดว่าจะทำ field นี้เป็น primary key ดีไหม แต่เห็นคุณ Icez บอกไว้ว่า Primary key ต้องเป็นตัวเลขเท่านั้น ไม่งั้นจะช้า แบบนี้ผมควรทำไงกับ field url ดีครับ ตั้งเป็น unique (เพราะชื่อจะไม่ซ้ำกันอยู่แล้ว) หรือทำ index ดีครับ

อยากทราบเกี่ยวกับ unique กับการทำ index ด้วยครับ ว่าแบบไหนจะทำให้เครื่องเรียกใช้ได้เร็วกว่า และใช้ทรัพยากรน้อยกว่า

แล้วการทำ unique นี่ถ้าเปรียบกับ primary key จะทำให้ใช้ทรัพยากรได้น้อยเทียบเท่า primary key ไหมครับ
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EThaiZone ใน 12 กันยายน 2008, 09:00:08
ู^
^
ตัดปัญหาโดยแปลง string เป็น ตัวเลขไปเลยดีกว่า  ;D

<?

function str2int($str) {
return sprintf("%u", crc32($str));
}
$url = "what-do-you-want";
echo str2int($url);

?>
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: oldgame ใน 12 กันยายน 2008, 09:29:20
อ้างถึงจาก: EThaiZone ใน 12 กันยายน 2008, 09:00:08
ู^
^
ตัดปัญหาโดยแปลง string เป็น ตัวเลขไปเลยดีกว่า  ;D

<?

function str2int($str) {
return sprintf("%u", crc32($str));
}
$url = "what-do-you-want";
echo str2int($url);

?>


โอ้วสุดยอดครับคุณโจ้ ขอบคุณครับ นี่แหละที่ผมหามานาน  :'(

แล้วมันแปลงกลับได้มั้ยครับ

ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EThaiZone ใน 12 กันยายน 2008, 09:37:18
อ้างถึงจาก: oldgame ใน 12 กันยายน 2008, 09:29:20
อ้างถึงจาก: EThaiZone ใน 12 กันยายน 2008, 09:00:08
ู^
^
ตัดปัญหาโดยแปลง string เป็น ตัวเลขไปเลยดีกว่า  ;D

<?

function str2int($str) {
return sprintf("%u", crc32($str));
}
$url = "what-do-you-want";
echo str2int($url);

?>


โอ้วสุดยอดครับคุณโจ้ ขอบคุณครับ นี่แหละที่ผมหามานาน  :'(

แล้วมันแปลงกลับได้มั้ยครับ



แปลงกลับไมไ่ด้ครับ เพราะ crc32 เป็น one way hash
ส่วนที่ใช้ sprintf ไปด้วย เพราะหลายครั้งมันจะคืนค่าเป็นติดลบครับ
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: oldgame ใน 12 กันยายน 2008, 09:52:06
แล้วจะเอาไปช่วยในการ query ได้มั้ยครับ

เป็นตัวเลขก็จริง แต่เห็นเป็นหลักพันล้านเลย

หรือตัวเลขแม้ 1 หน่วย หรือ 10 หน่วย เวลาเอาไป query มันไม่ต่างกันครับ  ???
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: pugkung ใน 12 กันยายน 2008, 10:25:23
อ้างถึงจาก: oldgame ใน 12 กันยายน 2008, 09:52:06
แล้วจะเอาไปช่วยในการ query ได้มั้ยครับ

เป็นตัวเลขก็จริง แต่เห็นเป็นหลักพันล้านเลย

หรือตัวเลขแม้ 1 หน่วย หรือ 10 หน่วย เวลาเอาไป query มันไม่ต่างกันครับ  ???

นั่นดิ่ อยากรู้เหมือนกัน แต่ คิดว่า ยังไงก็คงจะเร็วกว่า str ครับ

แต่ int Vs. int นี้ไม่แน่ใจนะว่า ถ้าตัวเลขเยอะ ๆ จะเร็วกว่าตัวเลข น้อย ๆ หรือปล่าว
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EThaiZone ใน 12 กันยายน 2008, 11:22:01
อ้างถึงจาก: pugkung ใน 12 กันยายน 2008, 10:25:23
อ้างถึงจาก: oldgame ใน 12 กันยายน 2008, 09:52:06
แล้วจะเอาไปช่วยในการ query ได้มั้ยครับ

เป็นตัวเลขก็จริง แต่เห็นเป็นหลักพันล้านเลย

หรือตัวเลขแม้ 1 หน่วย หรือ 10 หน่วย เวลาเอาไป query มันไม่ต่างกันครับ  ???

นั่นดิ่ อยากรู้เหมือนกัน แต่ คิดว่า ยังไงก็คงจะเร็วกว่า str ครับ

แต่ int Vs. int นี้ไม่แน่ใจนะว่า ถ้าตัวเลขเยอะ ๆ จะเร็วกว่าตัวเลข น้อย ๆ หรือปล่าว

เชื่อเถอะ มันไวกว่าครับ

ลองเอาสคริปนี้ไปรันเล่นๆ ดูละกัน เทียบการเรียงลำดับ
ทั้งตัวเลข crc32 และ md5

ดูว่าอะไรมันไวกว่ากัน  :P

<?

//Integer XXXX
for($i=0; $i<10000; $i++)
$arr[] = rand(1000, 9999);
$start = microtime(); sort($arr); $stop = microtime();
echo ($stop-$start)." sec (integer xxxx)<br/>";

unset($arr);

//Integer XXXXXXXXXX
for($i=0; $i<10000; $i++)
$arr[] = rand(1000000000, 9999999999);
$start = microtime(); sort($arr); $stop = microtime();
echo ($stop-$start)." sec (integer xxxxxxxxxxx)<br/>";

//Integer XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
for($i=0; $i<10000; $i++)
$arr[] = rand(10000000000000000000000000000000, 99999999999999999999999999999999);
$start = microtime(); sort($arr); $stop = microtime();
echo ($stop-$start)." sec (integer xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx)<br/>";

unset($arr);

//CRC32
for($i=0; $i<10000; $i++)
$arr[] = crc32($i);
$start = microtime(); sort($arr); $stop = microtime();
echo ($stop-$start)." sec (crc32)<br/>";

unset($arr);

//MD5
for($i=0; $i<10000; $i++)
$arr[] = md5($i);
$start = microtime(); sort($arr); $stop = microtime();
echo ($stop-$start)." sec (md5)<br/>";

?>


ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: powerpc ใน 12 กันยายน 2008, 11:50:10
ลองสไตล์ผมไหมครับ

id   title
1    what do you want
2    where are you

ไม่ค่อยสวยนัก แต่แรงจัด
- ทำการ query id และ title มา
- และ str_replace(" ","-",$title)."-".$id.".html"
โดยจะออกมาเป็น
what-do-you-want-1.html
where-are-you-2.html


RewriteRule ^([_a-zA-Z0-9-]+)-([0-9]+).html$ index.php?id=$2 [L]


แล้วก็เอา id ไป query ได้เลย

ปล. โค้ดไม่สมบูรณ์ แต่ก็ประมาณนี้
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EThaiZone ใน 12 กันยายน 2008, 12:53:34
ู^
^

แบบนี้ก็ดีครับ แต่มีจุดระวังคือการโดนแปลงในค่าส่วน header นะครับ
ยกตัวอย่างดันมีตาสีตาสามาแปะลิงค์ให้คุณ แล้วมันมีตกบางตัว ระหว่าง

web.com/what-do-you-want-1.html
web.com/what-do-you-1.html

2 ลิงค์นี้จะเหมือนกันแด๊ะ เพราะตัวเลขถูก เลยทำให้เกิด dup อีก

ดังนั้นจุดแนะนำคือ ตอน query ให้ดึงค่า title มาด้วย
แล้วเช็ค title กับ url ที่มีคนเข้ามา ถ้าตรงก็เป็นอันใช้ได้

ตัวอย่างที่ให้เห็น เช่น rapidshare จะใช้เลข id ของเขากับ url ในส่วนกลาง
ยกตัวอย่างลิงค์ (เก็บจาก Google ไม่รู้อะไรเหมือนกัน = =")
http://rapidshare.com/files/53726733/mdfhacoaoedu20.rar.html

53726733 ก็คือเลขไอดีเขา
ถ้าเราไปแก้ mdfhacoaoedu20.rar เป็นอย่างอื่นแค่ตัวอักษรเดียว ก็จะเข้าไปโหลดไม่ได้เลย
(The file could not be found. Please check the download link.)

:)

ปล. ลืมบอกว่า จริงๆ ที่เขาแก้ จุดประสงค์เพื่อกันพวกสนุกชอบรันเลขไล่ดาว์นโหลด
(ประมาณว่าอยากรู้ชาวบ้านเขาชอบฝา่กอะไรไว้บ้าง 555+)

ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: movemore ใน 12 กันยายน 2008, 12:56:40
^
^
ลายเซ็นต์แนวดีท่าน ethaizone
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EThaiZone ใน 12 กันยายน 2008, 13:00:10
อ้างถึงจาก: movemore ใน 12 กันยายน 2008, 12:56:40
^
^
ลายเซ็นต์แนวดีท่าน ethaizone

รำลึกเรื่องหมั่นโถวพิษครับ (ฮา)
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: movemore ใน 12 กันยายน 2008, 13:02:55
อ้างถึงจาก: EThaiZone ใน 12 กันยายน 2008, 13:00:10
อ้างถึงจาก: movemore ใน 12 กันยายน 2008, 12:56:40
^
^
ลายเซ็นต์แนวดีท่าน ethaizone

รำลึกเรื่องหมั่นโถวพิษครับ (ฮา)
เหอๆ แบบนี้เค้าเรียกว่า วัยทองรำลึก ป่าวว คนเราเริ่มแก่ ก็จะเริ่มย้อนถึงความหลังเมื่อวันวานน่ะครับ
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EThaiZone ใน 12 กันยายน 2008, 13:05:13
อ้างถึงจาก: movemore ใน 12 กันยายน 2008, 13:02:55
อ้างถึงจาก: EThaiZone ใน 12 กันยายน 2008, 13:00:10
อ้างถึงจาก: movemore ใน 12 กันยายน 2008, 12:56:40
^
^
ลายเซ็นต์แนวดีท่าน ethaizone

รำลึกเรื่องหมั่นโถวพิษครับ (ฮา)
เหอๆ แบบนี้เค้าเรียกว่า วัยทองรำลึก ป่าวว คนเราเริ่มแก่ ก็จะเริ่มย้อนถึงความหลังเมื่อวันวานน่ะครับ
เปล่าฮะ อารมณ์คนใกล้อยากจะตาย (ฮา)
อยู่บ้านก็เครียด มีใครอยากเก็บผมไปเลี้ยงไหม  :D

ปล. เดี๋ยวไปปั่นงานต่อ  :-X
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: movemore ใน 12 กันยายน 2008, 13:06:18
แป่ววว อายุเท่าไหร่แล้วท่านน เด๊่ยวถามแฟนให้ว่าสนใจเก็บ ethaizone มาอยู่ในบ้านอีกซักคนจะไหวป่าวว (ฮ่่าๆๆ)  :o
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EThaiZone ใน 12 กันยายน 2008, 13:16:30
อ้างถึงจาก: movemore ใน 12 กันยายน 2008, 13:06:18
แป่ววว อายุเท่าไหร่แล้วท่านน เด๊่ยวถามแฟนให้ว่าสนใจเก็บ ethaizone มาอยู่ในบ้านอีกซักคนจะไหวป่าวว (ฮ่่าๆๆ)  :o
อายุ 20 เองครับ เหอๆ
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: movemore ใน 12 กันยายน 2008, 13:18:19
อ้างถึงจาก: EThaiZone ใน 12 กันยายน 2008, 13:16:30
อ้างถึงจาก: movemore ใน 12 กันยายน 2008, 13:06:18
แป่ววว อายุเท่าไหร่แล้วท่านน เด๊่ยวถามแฟนให้ว่าสนใจเก็บ ethaizone มาอยู่ในบ้านอีกซักคนจะไหวป่าวว (ฮ่่าๆๆ)  :o
อายุ 20 เองครับ เหอๆ
เหอๆยังไม่แก่ อย่าเพิ่งปลงกับชีวิตนะท่าน ว่างๆแวะมาจดโดเมนกันได้ 275 บาท 555+

แต่บางทีผมก็รู้สึกแบบนี้เหมือนกันนะ ลองไปบ่นๆ ระบายๆ กับคนข้างๆดูสิ ช่วยได้เยอะเลย
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EThaiZone ใน 12 กันยายน 2008, 13:26:07
อ้างถึงจาก: movemore ใน 12 กันยายน 2008, 13:18:19
อ้างถึงจาก: EThaiZone ใน 12 กันยายน 2008, 13:16:30
อ้างถึงจาก: movemore ใน 12 กันยายน 2008, 13:06:18
แป่ววว อายุเท่าไหร่แล้วท่านน เด๊่ยวถามแฟนให้ว่าสนใจเก็บ ethaizone มาอยู่ในบ้านอีกซักคนจะไหวป่าวว (ฮ่่าๆๆ)  :o
อายุ 20 เองครับ เหอๆ
เหอๆยังไม่แก่ อย่าเพิ่งปลงกับชีวิตนะท่าน ว่างๆแวะมาจดโดเมนกันได้ 275 บาท 555+

แต่บางทีผมก็รู้สึกแบบนี้เหมือนกันนะ ลองไปบ่นๆ ระบายๆ กับคนข้างๆดูสิ ช่วยได้เยอะเลย
่ช่วงนี้ผมบ่นกับไอ้แดงครับ
(หมาที่บ้านเลี้ยงไว้ เลี้ยงตั้งแต่ตอนมันเพิ่งหลุดจากท้องแม่มันเลย เพราะไปช่วยมันตอนฝนตกน้ำท่วม)

จะบ่นแค่ไหน มันก็ฟัง (ตราบใดที่ผมเอาข้าวเย็นให้มันทุกวันนะ)
และกระดิกหางรับเสมอ (เหตุที่คนชอบหมาก็เพราะ หมากระดิกหาง
ก็เหมือนคนยิ้มให้กัน เพราะมีความเป็นมิตรแฝงอยู่)

บ่นกะมันจนบางครั้งคนมองนึกว่าบ้าไปแล้ว (ฮา)

^^"
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: powerpc ใน 12 กันยายน 2008, 15:50:43
อ้างถึงจาก: EThaiZone ใน 12 กันยายน 2008, 12:53:34
ู^
^

แบบนี้ก็ดีครับ แต่มีจุดระวังคือการโดนแปลงในค่าส่วน header นะครับ
ยกตัวอย่างดันมีตาสีตาสามาแปะลิงค์ให้คุณ แล้วมันมีตกบางตัว ระหว่าง

web.com/what-do-you-want-1.html
web.com/what-do-you-1.html

2 ลิงค์นี้จะเหมือนกันแด๊ะ เพราะตัวเลขถูก เลยทำให้เกิด dup อีก

ดังนั้นจุดแนะนำคือ ตอน query ให้ดึงค่า title มาด้วย
แล้วเช็ค title กับ url ที่มีคนเข้ามา ถ้าตรงก็เป็นอันใช้ได้

ตัวอย่างที่ให้เห็น เช่น rapidshare จะใช้เลข id ของเขากับ url ในส่วนกลาง
ยกตัวอย่างลิงค์ (เก็บจาก Google ไม่รู้อะไรเหมือนกัน = =")
http://rapidshare.com/files/53726733/mdfhacoaoedu20.rar.html

53726733 ก็คือเลขไอดีเขา
ถ้าเราไปแก้ mdfhacoaoedu20.rar เป็นอย่างอื่นแค่ตัวอักษรเดียว ก็จะเข้าไปโหลดไม่ได้เลย
(The file could not be found. Please check the download link.)

:)

ปล. ลืมบอกว่า จริงๆ ที่เขาแก้ จุดประสงค์เพื่อกันพวกสนุกชอบรันเลขไล่ดาว์นโหลด
(ประมาณว่าอยากรู้ชาวบ้านเขาชอบฝา่กอะไรไว้บ้าง 555+)


ขอบคุณที่เติมเต็มครับ เธอคือส่วนที่ขาด  ::)
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: oldgame ใน 16 กันยายน 2008, 10:44:44
ขอขุดเพื่อรอรับความรู้ใหม่ ๆ นะครับ  :)
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EThaiZone ใน 16 กันยายน 2008, 10:47:36
อ้างถึงจาก: oldgame ใน 16 กันยายน 2008, 10:44:44
ขอขุดเพื่อรอรับความรู้ใหม่ ๆ นะครับ  :)

ไม่มีมุขจะเขียนครับ งานก็ล้นด้วย ^^"
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: kudjung ใน 17 กันยายน 2008, 11:26:36
สอบถามครับ ผมอยากจะดึงข้อมูลที่อยู่ใน Tag TD เช่น <td>ข้อความที่ต้องการ</td> หรือ <td class="xxx">ข้อความที่ต้องการ</td>
ออกมาโดยใช้ preg_match แต่ติดหลายๆที่

1.ติดตรงที่มี ช่องว่าง และ เครื่องหมายขึ้นบรรทัดใหม่ไม่รู้ว่าจะตรวจสอบยังไงดี
2.ถ้าเป็น <td class="xxx">ข้อความที่ต้องการจะเขียนจะตรวจยังไง

เพราะผมรู้แค่

$pattern = "|<body>(.*)</body>|s"; // mode 's' means dot (.)  matches all newline characters (\n)
preg_match( $pattern , $html , $match );


ไม่สามารถดึงข้อมูลจากด้านล่างนี้ไ่ม่ได้ครับ ผมลองประยุกต์ดูแ้ล้วตาม pattern ตัวอย่าง

<td class="setFont" bgcolor="red"><span class="normal-blue">
                   
                    <a href="/upload/document/type2/2551/09/docUploadFile11221559625356.pdf" target="_blank" class="normal-blue">ระเบียบวาระการประชุม สถ. ครั้งที่ 3/2551 และประเด็นในการหารือการปฏิบัติราชการฯ (ด่วนที่สุด ที่ มท 0801.2/ว532)</a>
                    &nbsp;
                   
                  </span></td>

  :-* :-*
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: ball6847 ใน 17 กันยายน 2008, 11:35:58
^
^
^
^

ลองดูนะ ผมไม่ค่อยแน่ใจ


<?php

preg_match_all
("|<td[^>]*>(.*)</td>|" $html  $match);

print_r($match);

?>



ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: kudjung ใน 17 กันยายน 2008, 15:32:27
ขอบคุณครับพอดีลองหาจาก Google แล้วก็มาเจอ

http://www.thaiseoboard.com/index.php?action=printpage;topic=12190.0

เหอๆ เลยเอามารวมๆกับคุณ ball6847 ตอนนี้ได้ละครับ  :'(
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: ball6847 ใน 17 กันยายน 2008, 15:40:01
อ้างถึงจาก: kudjung ใน 17 กันยายน 2008, 15:32:27
ขอบคุณครับพอดีลองหาจาก Google แล้วก็มาเจอ

http://www.thaiseoboard.com/index.php?action=printpage;topic=12190.0

เหอๆ เลยเอามารวมๆกับคุณ ball6847 ตอนนี้ได้ละครับ  :'(

อ้อ เข้าใจแระ หมายถึง ใช้วิธีการตัด \r\n จากกระทู้นั้น แล้วเอา regex ของผมดึงข้อมูลป่ะ

มิทันคิด แหะๆ  :'(
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: iPhoenix ใน 17 กันยายน 2008, 17:12:37
มาอ่านกระทู้นี้ ทำให้ผมต้องเปลี่ยนการเขียนโค้ด PHP ใหม่หมดเลย  :P

ไม่มีอะไรมาแชร์ความรู้ยังไม่ถึงขั้น  :) :) :)

ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: kudjung ใน 17 กันยายน 2008, 18:10:17
อ้างถึงจาก: ball6847 ใน 17 กันยายน 2008, 15:40:01
อ้างถึงจาก: kudjung ใน 17 กันยายน 2008, 15:32:27
ขอบคุณครับพอดีลองหาจาก Google แล้วก็มาเจอ

http://www.thaiseoboard.com/index.php?action=printpage;topic=12190.0

เหอๆ เลยเอามารวมๆกับคุณ ball6847 ตอนนี้ได้ละครับ  :'(

อ้อ เข้าใจแระ หมายถึง ใช้วิธีการตัด \r\n จากกระทู้นั้น แล้วเอา regex ของผมดึงข้อมูลป่ะ

มิทันคิด แหะๆ  :'(

ถูกต้องละครับ +1 ไปเลย
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: siamman ใน 17 กันยายน 2008, 18:24:59
อยากได้แนวคิดสำหรับเก็บเพจวิวแบบนับไอพีครับ ปัจจุบันผมเขียนเก็บในดาต้าเบส ซึ่งคิดว่ามันน่าจะหนักดาต้าเบสพอสมควรเพราะต้องเก็บ ip ทุก ip เลยอยากหาวิธีที่เบากว่านี้ครับ ไม่ทราบว่าท่านอื่นเก็บกันลักษณะใหนบ้าง
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: ball6847 ใน 17 กันยายน 2008, 19:04:07
เป็นผมคงแยกตารางเก็บ ip และข้อมูลอื่นที่พอจะเชื่อต่อกะ ip ออกมาตะหาก คงจะใช้ชื่อตารางว่า visitor มั้ง แล้วตารางหลักก็ไม่เก็บ ip แต่จะอ้างอิง visitor_id จากอีกตาราง ซึ่งตารางนั้นอาจจะเก็บ ip หรือประเทศ หรืออื่นๆ ทีนี้พอมีเพจวิวซ้ำๆ จะได้ไม่ต้องใส่ ip หรือ ประเทศซ้ำๆไปทุก record ตารางหลักก็เก็บข้อมูลอื่นๆ เช่นพวกเวลา useragent หรือ page ประมาณนี้อ่ะมั้ง
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: iPhoenix ใน 17 กันยายน 2008, 19:16:40
อ้างถึงจาก: siamman ใน 17 กันยายน 2008, 18:24:59
อยากได้แนวคิดสำหรับเก็บเพจวิวแบบนับไอพีครับ ปัจจุบันผมเขียนเก็บในดาต้าเบส ซึ่งคิดว่ามันน่าจะหนักดาต้าเบสพอสมควรเพราะต้องเก็บ ip ทุก ip เลยอยากหาวิธีที่เบากว่านี้ครับ ไม่ทราบว่าท่านอื่นเก็บกันลักษณะใหนบ้าง

เก็บเป็น .txt ไฟล์ไม่ได้เหรอครับ เวลามีการเปิดเพจวิวแล้วก็เอา ip ไปเที่ยบใน .txt ไฟล์ ถ้ามันมีซ้ำก็ไม่ต้องเขียนลง แต่ไม่ซ้ำก็เขียนลงไปในไฟล์ พอจะนับก็นับเป็นแถวใน .txt เอาครับ เก็บเป็นแบบนี้อะ

ip1
ip2
ip3
...
ipn

แต่ไม่รู้มันจะมีปัญหาอื่นอีกหรือป่าวครับ
ผิดถูกยังไงเซียนช่วยแก้ไขให้ด้วยนะครับ

:) :) :)
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: jiw ใน 17 กันยายน 2008, 19:23:56
ไม่เคยลองเขียนแบบ คุณ iPhoenix

แต่ถ้าผมคิดได้ ก็ทำแบบคุณ ball6847 อะ

ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: icez ใน 17 กันยายน 2008, 23:30:37
โครงสร้างตาราง

create table pageview (
ip varchar(15) not null default '',
counter int not null default '0',
primary key (ip)
) engine=MyISAM



query ในหน้าเว็บ

insert into pageview(ip,counter) values('123.45.67.89', 1) on duplicate key update counter = counter +1


จบครับ
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: ball6847 ใน 18 กันยายน 2008, 00:27:45
โอ้ว กำ สุดยอด จบจิงๆ ท่านไอซ์รับประทานฐานข้อมูลเป็นอาหารหรืออย่างไร เจ๋งจิงๆ

พลังน้ำใจ+1
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: siamman ใน 18 กันยายน 2008, 01:31:08
อ้างถึงจาก: icez ใน 17 กันยายน 2008, 23:30:37
โครงสร้างตาราง

create table pageview (
ip varchar(15) not null default '',
counter int not null default '0',
primary key (ip)
) engine=MyISAM



query ในหน้าเว็บ

insert into pageview(ip,counter) values('123.45.67.89', 1) on duplicate key update counter = counter +1


จบครับ

:D ขอบคุณมากมายครับ จบจริงๆ
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: siamman ใน 18 กันยายน 2008, 01:34:06
อ้างถึงจาก: icez ใน 17 กันยายน 2008, 23:30:37
insert into pageview(ip,counter) values('123.45.67.89', 1) on duplicate key update counter = counter +1


:'( ปกติผมดึงมาเช็คnum_rowก่อนว่าซ้ำมั้ยค่อยอัปเดท แต่หลังจากนี้คงต้องคิดใหม่ทำไหม่แล้ว ขอบคุณคุณไอซ์ อะเกนครับ :'(
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: oldgame ใน 18 กันยายน 2008, 07:21:22
ขอบคุณครับพี่ icez

ได้เวลาปรับระบบ counter อีกแล้ว  :-[

ชอบกระทู้นี้อย่างจัง  :'(
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EThaiZone ใน 18 กันยายน 2008, 08:31:20
อ้างถึงจาก: siamman ใน 17 กันยายน 2008, 18:24:59
อยากได้แนวคิดสำหรับเก็บเพจวิวแบบนับไอพีครับ ปัจจุบันผมเขียนเก็บในดาต้าเบส ซึ่งคิดว่ามันน่าจะหนักดาต้าเบสพอสมควรเพราะต้องเก็บ ip ทุก ip เลยอยากหาวิธีที่เบากว่านี้ครับ ไม่ทราบว่าท่านอื่นเก็บกันลักษณะใหนบ้าง

ผมเข้าใจว่าเหมือนแบบ ziddu ก็คือจำนวนนับดาว์นโหลด uip
และันับแยกกันหลายตัว ใช่ปะ ?

เก็บรายการ ip เข้า apc ในรูป array

แล้วถ้ามีคนเข้าใหม่ ไอพีไม่ตรงกับ array ที่มี
ก็ค่อยจัดการนับ + เข้าส่วนที่เรานับ

แล้วถ้าแนวคิดนับ uip ทุกๆ วัน
ทุกๆ เที่ยงคืนก็ค่อยเคลียร์ความจำใน apc ทิ้ง (cron สั่งทับตัวแปรว่างลงไปก็ได้)

ผมพูดแบบกรณีเรามีเซิร์ฟเองอะน่ะ  :P
แต่ต้องอัดแรมเพิ่มหน่อยนะ
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: zo501 ใน 18 กันยายน 2008, 08:56:28
รบกวนครับ[php] คือถ้าเรามีการดึงข้อมูลมาใส่ในตัวแปร แล้วในข้อมูลนั้นมีตัวแปรพิเศษอย่างเช่น $ อะครับ เราจะต้อง convert ข้อมูลตรงนี้อย่างไรให้สามารถแสดงผลลัพธ์ของข้อมูลได้ทั้งหมด

เช่น ผมดึงข้อมูลมา aabb$aabb-$11 แล้วจะต้องทำอย่างไรเมื่อเวลา echo แล้วข้อมูลจะแสดงเป็น aabb$aabb-$11 เหมือนเดิมครับ

:-* :-* :-* :-*

ขอบคุณครับ
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EThaiZone ใน 18 กันยายน 2008, 09:01:15
echo "aabb\$aabb-\$11";

echo 'aabb$aabb-$11';


:)
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: หมวยแว๊น ใน 18 กันยายน 2008, 09:05:13
ขอฝากตัวเป็นศิษย์โจ้โจ้ซังด้วยนะ เทอมหน้าอาจจะได้มาฝึกยุทธกะท่าน  :-[
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: zo501 ใน 18 กันยายน 2008, 09:29:42
อ้างถึงจาก: EThaiZone ใน 18 กันยายน 2008, 09:01:15
echo "aabb\$aabb-\$11";

echo 'aabb$aabb-$11';


:)

เออ คือไม่ใช่อะครับ เราดึงข้อมูลมาจากที่อื่น อะครับ แล้วมันมีตัว $ ติดมาด้วยครับ เวลา echo แล้วมันมีปัญหาอะครับ

พอทราบไหมครับว่ามี fn อะไรที่แก้ไขตรงนี้บ้าง ลองใช้ htmlspecialchars ก็ยังแก้ไม่ได้ หรือว่าต้องเขียน fn ขึ้นมาเองอะครับ

ขอบคุณครับ
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EThaiZone ใน 18 กันยายน 2008, 12:07:34
^
^
ต้องยกตัวอย่างมาสักหน้าครับ
ถ้าหมายถึงการดึงข้อมูลจากเว็บอื่นมาด้วย function อะน่ะ

ผมไม่สามารถแก้ process กับตอบ output ได้
ถ้าไม่รู้ input ซะก่อนอะน่ะ

:P
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: zo501 ใน 18 กันยายน 2008, 14:28:57
อ้างถึงจาก: EThaiZone ใน 18 กันยายน 2008, 12:07:34
^
^
ต้องยกตัวอย่างมาสักหน้าครับ
ถ้าหมายถึงการดึงข้อมูลจากเว็บอื่นมาด้วย function อะน่ะ

ผมไม่สามารถแก้ process กับตอบ output ได้
ถ้าไม่รู้ input ซะก่อนอะน่ะ

:P


ยกตัวอย่างนะครับ ผมไปดึง feed จาก amazon มาครับ แล้วตรงข้อมูล ในส่วนของ titile product อะครับ มันเป็น

title =>  Electronic Items $0-$200 - Repair

แล้วพอเวลา echo อะครับ มันแสดง Electronic Items -0 - Repair อะไรประมาณนี้อะครับ

คือว่าเราจะแก้ไขเวลาเรา echo แล้วมันขึ้นว่า Electronic Items -0 - Repair ให้แสดงเป็น Electronic Items $0-$200 - Repair ได้โดยใช้ fn อะไรหรือครับ

ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EThaiZone ใน 18 กันยายน 2008, 14:35:14
แปลกนะ ถ้าหมายถึงแบบนี้ ผมไม่เคยเจอ แสดงหมดนะ
ยิ่งกะ feed amazon นี้ ผมเล่นจนไม่รู้จะเล่นยังไงแล้ว
(ดึง xml แปลงเป็น array แล้วค่อยมาใช้งาน)

ผมว่าน่าเป็นโค้ดของคุณหรือเปล่าที่บังเอิญมีเขียนไปแปลง $ เป็นช่องว่างอะ
:P

จริงๆ ปัญหาเรื่อง $ กับ php
มันจะมีแค่ตอน echo กับค่าที่เขียนลง php
แล้วมันสับสนว่าเป็นตัวแปรหรือไม่

มีแค่กรณีนี้เองครับ  :P
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: zo501 ใน 18 กันยายน 2008, 15:02:48
อ้างถึงจาก: EThaiZone ใน 18 กันยายน 2008, 14:35:14
แปลกนะ ถ้าหมายถึงแบบนี้ ผมไม่เคยเจอ แสดงหมดนะ
ยิ่งกะ feed amazon นี้ ผมเล่นจนไม่รู้จะเล่นยังไงแล้ว
(ดึง xml แปลงเป็น array แล้วค่อยมาใช้งาน)

ผมว่าน่าเป็นโค้ดของคุณหรือเปล่าที่บังเอิญมีเขียนไปแปลง $ เป็นช่องว่างอะ
:P

จริงๆ ปัญหาเรื่อง $ กับ php
มันจะมีแค่ตอน echo กับค่าที่เขียนลง php
แล้วมันสับสนว่าเป็นตัวแปรหรือไม่

มีแค่กรณีนี้เองครับ  :P

OK. ครับ ผมแก้ได้แล้วครับ โง่+ขี้เกียจหาข้อมูลเอง เลยต้องรบกวนท่านให้เหนื่อยปล่าวๆ ใช้ fn str_replace ครับ

$data = str_replace('$', '\$', $data);

ขอบคุณมากๆครับ +1
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EThaiZone ใน 18 กันยายน 2008, 16:16:06
แบบนั้นหายเหรอครับ สงสัยต้องเก็บไว้เป็นกรณีศึกษา  :P
ปกติผมไม่เคยต้องทำแบบนั้น คือส่วนมากมันจะไม่มีปัญหาตรงนี้นะครับ  :P
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EThaiZone ใน 18 กันยายน 2008, 16:35:55
รวมฟังค์ชั่นใช้งานบ่อยๆ Update 18/9/51

[linkpr]http://th.php.net/manual/en/function.array.php[/linkpr] - สร้างอาเรย์
[linkpr]http://th.php.net/range[/linkpr] - สร้างอาเรย์ด้วยขอบเขตที่กำหนดไว้
[linkpr]http://th.php.net/array_merge[/linkpr] - ใช้รวมค่าอาเรย์มากกว่าหนึ่ง
[linkpr]http://th.php.net/array_rand[/linkpr] - สุ่มค่าในอาเรย์ คืนค่าเป็น index ของ array
[linkpr]http://th.php.net/array_search[/linkpr] - หาค่าในอาเรย์ คืนค่าเป็น boolean
[linkpr]http://th.php.net/array_unique[/linkpr] - กรองค่าซ้ำในอาเรย์ทิ้ง
[linkpr]http://th.php.net/explode[/linkpr] - แยก string เป็น array
[linkpr]http://th.php.net/implode[/linkpr] - รวม array เป็น string

[linkpr]http://th.php.net/for[/linkpr] - วนลูปตามจำนวนรอบนับ
[linkpr]http://th.php.net/foreach[/linkpr] - วนลูปตามจำนวนในอาเรย์
[linkpr]http://th.php.net/while[/linkpr] - วนลูปจนกว่าเงื่อนไขจะเป็นเท็จ
[linkpr]http://th.php.net/manual/en/control-structures.do.while.php[/linkpr] - ทำงานจนกว่าเงื่อนไขจะเป็นเท็จ

[linkpr]http://th.php.net/str_replace[/linkpr] - แทนที่คำทั่วไป
[linkpr]http://th.php.net/strtr[/linkpr] - แทนที่คำโดยอ้างอิงจากชุด array
[linkpr]http://th.php.net/preg_replace[/linkpr] - แทนที่คำด้วย Regex
[linkpr]http://th.php.net/preg_match[/linkpr] - ตรวจหาคำด้วย pattern ที่เขียนด้วย regex

[linkpr]http://th.php.net/include[/linkpr] - เรียกใช้ชุดคำสั่ง php มาทำงาน
[linkpr]http://th.php.net/require[/linkpr] - เรียกใช้ชุดคำสั่ง php มาทำงาน
[linkpr]http://th.php.net/file_get_contents[/linkpr] - เรียกเนื้อหาของ content มาแสดง (เหมาะกับใช้ภายนอก)
[linkpr]http://th.php.net/curl[/linkpr] - (กลุ่มชุดคำสั่ง) เปิดการติดต่อกับเว็บภายนอก (เหมาะใช้แทน file_get_contents)
[linkpr]http://th.php.net/manual/en/function.mail.php[/linkpr] - ใช้ส่งอีเมล์
[linkpr]http://th.php.net/readfile[/linkpr] - อ่าน source ของไฟล์ (เหมาะกับใช้ภายใน)
[linkpr]http://th.php.net/file_put_contents[/linkpr] - (PHP5) ใช้เขียนไฟล์
[linkpr]http://th.php.net/serialize[/linkpr] - แปลงค่าตัวแปรกลับเป็น string สำหรับจัดเ้ก็บบันทึกลงไฟล์หรือ db
[linkpr]http://th.php.net/unserialize[/linkpr] - แปลงค่า string ที่ serialize กลับเป็นตัวแปร

[linkpr]http://th.php.net/echo[/linkpr] - แสดงผล
[linkpr]http://th.php.net/printf[/linkpr] - แสดงผลโดยอ้างอิงจากโค้ดคุมการแสดงผล
[linkpr]http://th.php.net/sprintf[/linkpr] - คืนค่าโดยไม่แสดงผล อ้างอิงจากโค้ดคุมการแสดงผล
[linkpr]http://th.php.net/print_r[/linkpr] - แสดงค่า array (ถ้าอยากให้คืนค่า ให้กำหนด parameter ตัวที่ 2 เป็น true)
[linkpr]http://th.php.net/var_dump[/linkpr] - แสดงข้อมูลของตัวแปร
[linkpr]http://th.php.net/phpinfo[/linkpr] - แสดงข้อมูลของ php

[linkpr]http://th.php.net/trim[/linkpr] - กำจัดช่องว่างก่อนและหลังของ string
[linkpr]http://th.php.net/strtolower[/linkpr] - แปลงทุกอักษรเป็นพิมพ์เล็ก
[linkpr]http://th.php.net/strtoupwer[/linkpr] - แปลงทุกอักษรเป็นพิมพ์ใหญ่
[linkpr]http://th.php.net/strpos[/linkpr] - หาตำแหน่งของอักษร คืนค่าเป็นตำแหน่ง len
[linkpr]http://th.php.net/substr[/linkpr] - ตัดคำโดยอ้างอิงตำแหน่ง len
[linkpr]http://th.php.net/substr_replace[/linkpr] - แทนที่คำโดยอ้างอิงตำแหน่ง len
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EThaiZone ใน 18 กันยายน 2008, 17:26:11
อ้างถึงจาก: ClickToBan ใน 18 กันยายน 2008, 17:20:43
:-X

หมายความว่าไงเนี่ย หรือว่าที่ผมพิมพ์ไปมันไม่ดี

จะได้ลบทิ้ง
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: zo501 ใน 18 กันยายน 2008, 17:30:31
อ้างถึงจาก: EThaiZone ใน 18 กันยายน 2008, 17:26:11
อ้างถึงจาก: ClickToBan ใน 18 กันยายน 2008, 17:20:43
:-X

หมายความว่าไงเนี่ย หรือว่าที่ผมพิมพ์ไปมันไม่ดี

จะได้ลบทิ้ง

โถ่ๆๆ อย่าน้อยใจเลยครับ สงสัยเค้า  :-X เพราะว่ามันเป็นภาษาอังกฤษมั้งครับ  ;D ;D ;D ;D
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: pugkung ใน 18 กันยายน 2008, 19:37:59
อ้างถึงจาก: EThaiZone ใน 18 กันยายน 2008, 16:35:55
รวมฟังค์ชั่นใช้งานบ่อยๆ Update 18/9/51

[linkpr]http://th.php.net/manual/en/function.array.php[/linkpr] - สร้างอาเรย์
[linkpr]http://th.php.net/range[/linkpr] - สร้างอาเรย์ด้วยขอบเขตที่กำหนดไว้
[linkpr]http://th.php.net/array_merge[/linkpr] - ใช้รวมค่าอาเรย์มากกว่าหนึ่ง
[linkpr]http://th.php.net/array_rand[/linkpr] - สุ่มค่าในอาเรย์ คืนค่าเป็น index ของ array
[linkpr]http://th.php.net/array_search[/linkpr] - หาค่าในอาเรย์ คืนค่าเป็น boolean
[linkpr]http://th.php.net/array_unique[/linkpr] - กรองค่าซ้ำในอาเรย์ทิ้ง
[linkpr]http://th.php.net/explode[/linkpr] - แยก string เป็น array
[linkpr]http://th.php.net/implode[/linkpr] - รวม array เป็น string

[linkpr]http://th.php.net/for[/linkpr] - วนลูปตามจำนวนรอบนับ
[linkpr]http://th.php.net/foreach[/linkpr] - วนลูปตามจำนวนในอาเรย์
[linkpr]http://th.php.net/while[/linkpr] - วนลูปจนกว่าเงื่อนไขจะเป็นเท็จ
[linkpr]http://th.php.net/manual/en/control-structures.do.while.php[/linkpr] - ทำงานจนกว่าเงื่อนไขจะเป็นเท็จ

[linkpr]http://th.php.net/str_replace[/linkpr] - แทนที่คำทั่วไป
[linkpr]http://th.php.net/strtr[/linkpr] - แทนที่คำโดยอ้างอิงจากชุด array
[linkpr]http://th.php.net/preg_replace[/linkpr] - แทนที่คำด้วย Regex
[linkpr]http://th.php.net/preg_match[/linkpr] - ตรวจหาคำด้วย pattern ที่เขียนด้วย regex

[linkpr]http://th.php.net/include[/linkpr] - เรียกใช้ชุดคำสั่ง php มาทำงาน
[linkpr]http://th.php.net/require[/linkpr] - เรียกใช้ชุดคำสั่ง php มาทำงาน
[linkpr]http://th.php.net/file_get_contents[/linkpr] - เรียกเนื้อหาของ content มาแสดง (เหมาะกับใช้ภายนอก)
[linkpr]http://th.php.net/curl[/linkpr] - (กลุ่มชุดคำสั่ง) เปิดการติดต่อกับเว็บภายนอก (เหมาะใช้แทน file_get_contents)
[linkpr]http://th.php.net/manual/en/function.mail.php[/linkpr] - ใช้ส่งอีเมล์
[linkpr]http://th.php.net/readfile[/linkpr] - อ่าน source ของไฟล์ (เหมาะกับใช้ภายใน)
[linkpr]http://th.php.net/file_put_contents[/linkpr] - (PHP5) ใช้เขียนไฟล์
[linkpr]http://th.php.net/serialize[/linkpr] - แปลงค่าตัวแปรกลับเป็น string สำหรับจัดเ้ก็บบันทึกลงไฟล์หรือ db
[linkpr]http://th.php.net/unserialize[/linkpr] - แปลงค่า string ที่ serialize กลับเป็นตัวแปร

[linkpr]http://th.php.net/echo[/linkpr] - แสดงผล
[linkpr]http://th.php.net/printf[/linkpr] - แสดงผลโดยอ้างอิงจากโค้ดคุมการแสดงผล
[linkpr]http://th.php.net/sprintf[/linkpr] - คืนค่าโดยไม่แสดงผล อ้างอิงจากโค้ดคุมการแสดงผล
[linkpr]http://th.php.net/print_r[/linkpr] - แสดงค่า array (ถ้าอยากให้คืนค่า ให้กำหนด parameter ตัวที่ 2 เป็น true)
[linkpr]http://th.php.net/var_dump[/linkpr] - แสดงข้อมูลของตัวแปร
[linkpr]http://th.php.net/phpinfo[/linkpr] - แสดงข้อมูลของ php

[linkpr]http://th.php.net/trim[/linkpr] - กำจัดช่องว่างก่อนและหลังของ string
[linkpr]http://th.php.net/strtolower[/linkpr] - แปลงทุกอักษรเป็นพิมพ์เล็ก
[linkpr]http://th.php.net/strtoupwer[/linkpr] - แปลงทุกอักษรเป็นพิมพ์ใหญ่
[linkpr]http://th.php.net/strpos[/linkpr] - หาตำแหน่งของอักษร คืนค่าเป็นตำแหน่ง len
[linkpr]http://th.php.net/substr[/linkpr] - ตัดคำโดยอ้างอิงตำแหน่ง len
[linkpr]http://th.php.net/substr_replace[/linkpr] - แทนที่คำโดยอ้างอิงตำแหน่ง len

หายากนะครับ คน จะมาอธิบายเป็นไทย ให้แบบนี้

ขอบคุณครับ :)

ประจบ ซะหน่อย เด๋ว เทพหาย  :D
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: baby-bride ใน 20 กันยายน 2008, 10:10:46
  อ่านมา 13 หน้า 2 วัน
  เยี่ยมเหมือนเดิม ที่ผมชอบ+พอรู้เรื่อง รวม ได้แบบนี้เผื่อคนไม่มีเวลาอ่าน จะได้ประโยชน์

  ช่วยเขียนกันต่อกัน เลย

อ้างถึง
"รูปภาพเจ้าปัญหา กับการให้มันอยู่ตรงกลางห้อง"
<img id="logo" src="logo.jpg">
#logo {
   position: absolute;
   left: 50%;
   top: 50%;
   margin-left: -xxx;
   margin-top: -yyy;
}
ค่า xxx เอามาจากความกว้างของรูปไปหารสอง
ค่า yyy เอามาจากความสูงของรูปไปหารสอง
เช่น ถ้ารูปกว้าง 300 สูง 150 ก็จะใส่เป็น
"เทคนิคหากินเทพๆ กับการสวมเขา PHP"

เผื่อหลายคนที่อาจยังไม่รู้ ซึ่งคิดว่าเยอะเหมือนกัน
กับเทคนิคหนึ่งที่อาศัยความร่วมมือจาก .htaccess

ทำให้เราสามารถสวมเขา ให้โ้ค้ด php ของเราได้

เคยมีบ้างไหมที่อยากแก้หรือเพิ่มโค้ด php ทั้งหมด
แต่ดันขี้เกียจ หรือไม่อยากตามแก้เมื่อยามที่ไฟล์ใหม่เพิ่มมา

*** อย่าละเลยเรื่องนี้ เพราะเป็นเทคนิคหากินของใครอีกหลายคน ไม่มีใครโง่พอมาเล่าให้ฟังครับ (คงมีแต่ผมมั้ง )

ขั้นแรกให้สร้างไฟล์ PHP  ที่จะเป็นเขามาสักไฟล์
สมมุติว่าชื่อ head.php ละกัน

พอเราสร้าง ให้ลองใส่โค้ดนี้ลงไป
โค๊ด:
echo "I am Head of PHP.";
แล้วเซฟ

ต่อมาให้แก้ .htaccess เพิ่มโค้ดนี้ลงไป
โค๊ด:
php_value auto_prepend_file head.php
แล้วเซฟ


เท่านี้ เราก็จะสามารถสวมเขาให้ไฟล์ php ทุกไฟล์ได้แล้ว
ลองเปิด php หน้าไหนก็ได้่ ข้อความ I am Head of PHP. จะไปติดอยู่ข้างบนเสมอ

ข้อดีของมันจริงๆ คืออะไร มันแล้วแต่คนประยุกต์ (กึ๋น)
ยกตัวอย่าง... ถ้าผมทำฟรีโฮส แล้วอยากติดแบนเนอร์บนทุุกหน้าล่ะ อิๆ
------------------
"ภาคต่อกับการต่อหางให้ PHP"

ต่อจากภาคที่แล้ว

ขั้นแรกให้สร้างไฟล์ PHP  ที่จะเป็นเขามาสักไฟล์
สมมุติว่าชื่อ foot.php ละกัน

พอเราสร้าง ให้ลองใส่โค้ดนี้ลงไป
โค๊ด:
echo "I am Foot of PHP.";  แล้วเซฟ

ต่อมาให้แก้ .htaccess เพิ่มโค้ดนี้ลงไป
โค๊ด:
php_value auto_append_file foot.php แล้วเซฟ

เท่านี้ เราก็จะสามารถต่อหางให้ไฟล์ php ทุกไฟล์ได้แล้ว
ลองเปิด php หน้าไหนก็ได้่ ข้อความ I am Foot of PHP. จะไปติดอยู่ข้างล่างเสมอ

ข้อดีของมันจริงๆ คืออะไร มันแล้วแต่คนประยุกต์ (กึ๋น)
ยกตัวอย่าง... มันคงจะง่าย ถ้าผมอยากยัดโค้ดตรวจ status
โดยไม่ต้องแก้โค้ดเดิมให้ยุ่งยาก
"cron job"
http://www.thaiseoboard.com/index.php/topic,30624.0.html


วันนี้มาต่อกับ "การสวมหัวโขนให้ HTML"

** โพสนี้ไม่เกี่ียวข้องกับศิลปะ และนาฎศิลป์แขนงใดๆ ทั้งสิ้น โปรดอย่าสับสน
ลักษณะจะเหมือนกับการสวมเขาต่อหางให้ PHP เพียงแต่เป็นการทำกับ HTML
และโค้ดจะต่างกันไป


ขั้นแรกให้สร้างไฟล์ PHP  ที่จะเป็นหัวโขนมาสักไฟล์ สมมุติว่าชื่อ mask_html.php ละกัน

พอเราสร้าง ให้ลองใส่โค้ดนี้ลงไป
โค๊ด:
<?php
echo "It's a head!<br>";

//แสดงผล html (สำคัญ ห้ามลบ)
echo file_get_contents($_SERVER['PATH_TRANSLATED']);

echo "<br>It's a foot!";
?>
แล้วเซฟ

ต่อมาให้แก้ .htaccess เพิ่มโค้ดนี้ลงไป
โค๊ด:
Action init_html_php /path-from-web-root/mask_html.php
AddHandler init_html_php .html .htm

โดยตรง path-from-web-root ก็คือต้องกำหนด path ให้ถูก โดยนับจากกรณีมีซัพโฟลดอร์หรือไม่

ยกตัวอย่าง localhost/
ก็จะเป็น Action init_html_php /mask_html.php

ยกตัวอย่าง localhost/web/html/
ก็จะเป็น Action init_html_php /web/html/mask_html.php

เมื่อกำหนดพาทเสร็จ ก็เซฟ

เท่านี้ เราก็จะสามารถสวมหัวโขนให้ไฟล์ html ทุกไฟล์ได้แล้ว ทดลองด้วยการเปิด HTML สักไฟล์ที่อยู่ในโฟลเดอร์นั้นได้เลยครับ
เทคนิคสำหรับ PHP นั้น ลักษณะคือการ attach โค้ดนั้นๆ เข้ากับการทำงานของโค้ดเดิม

แต่ HTML จะเป็นการเพิ่มการกระทำให้ PHP เข้าไปทำงานแทน HTML ที่โดนเรียก
จึงต้องมีการใช้ file_get_contents ในการทำงานด้วย
วันนี้เอา SEO ทิปเล็ก ๆ มาฝาก ง่าย ๆ แต่ได้ผล

ปกติเมื่อเราจะทำลิ้งที่เปิด popup มักจะใช้ function javascript
โดยการเปิด popup ที่ใช้กัน ก็มักจะเป็น function ที่แถมมากะ dreamweaver คือ

ประมาณนี้
โค๊ด:
<a href="#" onClick="MM_openBrWindow('http://www.xxx.com/popup.php','','width=20,height=20');">เปิดโปปุ๊บ</a>

แต่มันเป็นปัญหาคือ SE ไม่ยอมเข้าไปเก็บ หน้า popup.php ซึ่งส่วนมากมักจะเป็น dynamic page

เราสามารถแก้ปัญหานี้ได้ด้วยการ เขียนอย่างนี้ครับ
โค๊ด:
<a href="http://www.xxx.com/popup.php" onClick="MM_openBrWindow('http://www.xxx.com/popup.php','','width=20,height=20'); return false;">เปิดโปปุ๊บ</a>

1.ใส่ลิ้งเข้าไปใน href เท่านี้บอทก็จะสามารถตามเก็บลิ้ง จาก href ได้แล้ว
2. return false; ใส่เพื่อไม่ให้มันเปลี่ยนหน้าตามไปด้วยจากการใช้ href เพราะมัน return false; และสามารถเปิด popupได้ปกติ

เท่านี้ คุณก็ได้ index จากGoogleเพิ่มมากขึ้น ครับ

หลายวันมานี้ เหมือนผมผ่านอะไรมาเยอะเลย เหมือนอยู่ที่แปลกๆ มาไกล
วันนี้พอโพสสั้นๆ นะครับ แบบว่าเหนื่อยมาก~~
________________________________________

"เขียน .htaccess สำหรับ Modrewrite อย่างไรให้ใช้งานได้ทุกโฮส"

เรื่องคราวนี้ ผมเขียนให้สำหรับคนเขียน .htaccess เป็นแล้วนะครับ
หลักการมีไม่กี่ข้อครับ ถ้าทำตามนี้ได้ จะใช้งานได้เกือบทุกโฮสเลย
(แน่ๆ อย่าง Netfirms ที่ว่ามีปัญหาบ่อย ก็ใช้งานได้ปกติ)

1. ระบุ RewriteBase ด้วยพาทแบบซัพโฟลเดอร์โดยนับจากโดเมน และปิดหัวท้ายด้วย "

ยกตัวอย่าง .htaccess บนพาทเว็บ
โค๊ด:
www.example.com/myscript/
จะต้องเขียน RewriteBase เป็น
โค๊ด:
RewriteBase "/myscript/"

2. ระบุพาทของ url หลังกฎของ rewrite ด้วยพาทแนวเดียวกันกับข้อ 1

จากตัวอย่างข้อหนึ่ง สมมุติผมจะเขียน rewrite แปลง  [keyword].html เป็น page.php?kw=[keyword]
โดยทั้งหมดอยู่ใน
โค๊ด:
www.example.com/myscript/
  จะเขียนได้เป็น
โค๊ด:
RewriteRule ^([^\.]+)\.html$ "/myscript/page.php?kw=$1" [L]


ถ้าทำตาม 2 ข้อนี้  ก็จะทำให้สคริปทำงานได้อย่างเต็มที่แล้วครับ 
เบื้องหลังทำไมต้องเป็นแบบนี้

1. ทำไมต้องระบุพาทเต็ม
เหตุมาจาก modrewrite ทำงานด้วยความสามารถของ apache แล้วการกำหนดค่าโดเมน จะอิงกับโฟลเดอร์รากที่ใช้แสดงรากของโดเมนนั้นๆ (นึกภาพไม่ออก ก็ไปลองแงะไฟล์ตั้งค่าของ apache ดู) ทำให้เวลาการกำหนดพาท จึงต้องอิงจากรากโดเมนเป็นหลัก

2. ทำไมต้องมี " ปิดหัวท้าย เหตุเพราะเพื่อรองรับในกรณีโฟลเดอร์หรือไฟล์มี ช่องว่าง
เป็นสาเหตุตกม้าตายของใครต่อหายคนมานักต่อนักแล้ว เพื่อกันไม่ให้ระบบเข้าใจผิดว่าหลังช่องว่างคือ flag จึงต้องใส่ " ปิดหัวท้าย

    ขอถามคำถามง่ายๆ ที่โปรดช่วยตอบให้ที [ thanks ]

    ขอ javaScript ที่มันเช็คว่า ขณะนี้ browser IE และ Firefox ของคนที่ดูเวป

    มัน disable JavaScript อยู่ จะเอาไปใส่ใน wordPress เพราะตามร้าน net มันชอบตั้ง disable แล้วคนอ่านไม่รู้



ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EThaiZone ใน 20 กันยายน 2008, 10:18:43
^
^
มีแต่โค้ดที่จะแสดงข้อความแทนเมื่อยาม js โดน disable

<noscript>  ใส่อะำไรไปก็ไำด้  </noscript>

อะไรที่อยู่ใน noscript มันจะแสดงผลเมื่อยาม js โดน disable ครับ

แหล่งอ้างอิง : [linkpr]http://www.w3.org/TR/REC-html40/interact/scripts.html#h-18.3.1[/linkpr]
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: baby-bride ใน 20 กันยายน 2008, 15:53:18
   โอ็วแม่เจ้า ตื่นขึ้นมา คุณ EThaizone เครือง เทลเลอแมทชีน ตอบให้แล้ว ไชโย
   ขอบคุณ ผมเอาไปลองทำนอง นี้แล้ว

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<SCRIPT type="text/javascript">
</SCRIPT>
<NOSCRIPT>
<P>Javascript not enable</A> !
</NOSCRIPT>
<p>Test Java script disable for wordpress.!</p>
<p>&nbsp; </p>
</body>
</html>
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: ฟาร์มเฮ้า ใน 21 กันยายน 2008, 23:58:52
คืออยากให้ user ป้อนข้อความได้แต่ a-z และก็ตัวเลขน่ะครับ จะสามารถเขียนฟังชั่นไหนในการตรวจสอบได้บ้างครับ


จะเอาไปทำเวลาสมัครสมาชิกน่ะครับ ไม่อยากให้ใช้สัญลักษณ์กับภาษาไทยน่ะครับ
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: jiw ใน 22 กันยายน 2008, 00:21:43
คุณฟาร์มเฮ้า ใช้ javascript เชคฟอร์มเลยครับ

เดี๋ยวรอเน็ตเร็วก่อน จะหาให้นะครับ
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: kudjung ใน 22 กันยายน 2008, 00:27:38
function _ChkText(text)
{
var filter  = /^[a-zA-Z0-9]+[a-zA-Z0-9_]+[a-zA-Z0-9]$/;
if(filter.test(text)){return true;}
else{return false;}
}


แบ่งการตรวจเป็น 3 ช่วงคือ
1.ตรวจตัวอักษรตัวแรก
2.ตรวจ"คำ"ที่อยู่หลังตัวแรก
3.ตรวจตัวอักษรตัวสุดท้าย

เวลาตรวจเราก็เอาค่ามาใส่ใน function ถ้าค่าที่ได้ เป็น true ก็แสดงว่าผ่านแต่ถ้าเป็น false แสดงว่าไม่ผ่านครับ

อันนี้เขียนงูๆปลาๆครับรอผู้รู้มาอธิบายดีกว่า
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: ฟาร์มเฮ้า ใน 23 กันยายน 2008, 19:45:09
ขอบคุณ สำหรับคำตอบมากครับ


ขอถามอีกข้อนะครับ

str_replace กับ eregi_replace ใช้ต่างกันยังไงหรอครับ
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EThaiZone ใน 25 กันยายน 2008, 00:30:33
อ้างถึงจาก: ฟาร์มเฮ้า ใน 23 กันยายน 2008, 19:45:09
ขอบคุณ สำหรับคำตอบมากครับ


ขอถามอีกข้อนะครับ

str_replace กับ eregi_replace ใช้ต่างกันยังไงหรอครับ

str_replace ใช้แทนข้อความตรงๆ เลย
แต่ eregi_replace ใช้แทนข้อความที่ตรงกับเงื่อนไข regex ที่เราเขียนไว้ครับ

จริงๆ สำหรับ eregi_replace แนะนำให้ใช้ preg_replace จะไวกว่านะครับ

:)
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: ฟาร์มเฮ้า ใน 25 กันยายน 2008, 21:00:09
คือในบอร์ดผมจะมีการเก็บค่า views เอาไว้ แล้วทีนี้อยากจะ reset ให้มันเป็น 0 ทุกกระทู้เลย มีอยู่ประมาณ 30,000 records ควรใช้คำสั่งอย่างไรดีครับ เพราะมีเหตุผลบางประการที่จะต้อง reset ให้มันเป็น 0 ทุกวันอ่ะครับ

ตอนนี้ผมใช้ code นี้อยู่


<?php
// Make a MySQL Connection
mysql_connect("localhost""admin""1admin") or die(mysql_error());
mysql_select_db("test") or die(mysql_error());

// Get all the data from the "example" table
$result mysql_query("SELECT id FROM example"
or die(
mysql_error());  

// keeps getting the next row until there are no more to get
while($row mysql_fetch_array$result )) {
// Print out the contents of each row into a table
$result mysql_query("UPDATE example SET views=0 WHERE id=$row[id]"
or die(
mysql_error());  




?>



ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: icez ใน 25 กันยายน 2008, 21:02:34
<?php
// Make a MySQL Connection
mysql_connect("localhost""admin""1admin") or die(mysql_error());
mysql_select_db("test") or die(mysql_error());
mysql_query("UPDATE example SET views=0"

?>


จบครับ
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: ฟาร์มเฮ้า ใน 25 กันยายน 2008, 21:05:25
เอ่อ... ขอบคุณมากครับ



อ้อมโลกซะนานเลย... :D
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: ฟาร์มเฮ้า ใน 03 ตุลาคม 2008, 16:34:58
เห็นกระทู้นี้เงียบหลายวัน งั้นขอถามคำถามหน่อยนะครับ  :D


คือมีข้อความอยู่ประมาณนี้

<html>
<head>

</head>

<body>
sss = 1117545<br />
sss = 25645689 <br />
aaa = 1456456456456
<br />
bbb = sfd23wer4
<br />
sss = sdf54wer23s
<br />
aaa = wer13sd45
<br />
sss = 5wer32s1f5
<br />
sss = ewr23w1er
<br />
zzz = sf32sd1f5e
<br />
sss = ewr213sdf456
<br />
aaa = wer3sd1f
<br />

</body>
</html>


สังเกตว่า ค่า sss จะมีหลายค่า อยากจะเก็บค่า sss ทุกค่า ลงอาเรย์ หรือเก็บใส่ text file ก็ได้ พอจะมีแนวทางการเขียนไหมครับ

ผมลองใช้ preg_match แล้ว แต่ไม่รู้จะเขียนยังไงดี ยังไงขอคำแนะนำหน่อยนะครับ
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EThaiZone ใน 03 ตุลาคม 2008, 22:17:14
ตามนี้ครับ  :)

<?php
$data 
'<html>
<head>

</head>

<body>
sss = 1117545<br />
sss = 25645689 <br />
aaa = 1456456456456 
<br />
bbb = sfd23wer4 
<br />
sss = sdf54wer23s 
<br />
aaa = wer13sd45 
<br />
sss = 5wer32s1f5 
<br />
sss = ewr23w1er 
<br />
zzz = sf32sd1f5e 
<br />
sss = ewr213sdf456 
<br />
aaa = wer3sd1f 
<br />

</body>
</html>'
;

preg_match_all("#sss = ([^\s<]+)#"$data$match);
print_r($match);
?>
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EixQzUnG ใน 04 ตุลาคม 2008, 02:28:11
จาก กฎหมาย log 90 วัน พวกคุณเก็บอะไรบ้างนอกจาก ip อะ  ผมว่าน่าจะช่วยกันแชรๆ นะ


ที่เข้ามาโพส ในเว็ปเรา  :P มันน่าจะเก็บไว้เยอะกว่า ip  :P
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: kudjung ใน 04 ตุลาคม 2008, 03:34:53
เวลารับค่าข้อมูลตัวอักษรจาก form ที่ละเยอะๆ(หลายๆฟิลด์)ทำยังไงดีครับ โดยที่ไม่ต้องมาใส่ Fn addslashes() ทุกฟิลด์ เช่น

$reference=addslashes($_POST["reference"]);
$building_name=addslashes($_POST["building_name"]);
$building_address=addslashes($_POST["building_address"]);
$name=addslashes($_POST["name"]);
$address=addslashes($_POST["address"]);
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: icez ใน 04 ตุลาคม 2008, 03:41:40
ถ้าจะเอาเข้าไปใช้ใน query ของ sql แนะนำให้ใช้ตัวนี้ดีกว่าครับ

<?php
foreach($_POST as $k => $v) {
$
$k mysql_escape_string($v);
}
?>



คราวนี้จะโพสมากี่ตัวก็ตามใจเลยครับ มันยัดเข้าในตัวแปรให้หมด
(เหมอืน register globals เลย แต่มี escape string ให้ด้วย)
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: kudjung ใน 04 ตุลาคม 2008, 03:55:17
อ้างถึงจาก: icez ใน 04 ตุลาคม 2008, 03:41:40
ถ้าจะเอาเข้าไปใช้ใน query ของ sql แนะนำให้ใช้ตัวนี้ดีกว่าครับ

<?php
foreach($_POST as $k => $v) {
$
$k mysql_escape_string($v);
}
?>



คราวนี้จะโพสมากี่ตัวก็ตามใจเลยครับ มันยัดเข้าในตัวแปรให้หมด
(เหมอืน register globals เลย แต่มี escape string ให้ด้วย)

โอ้วว ขอบคุณครับคุณ ICEZ ผมติดตามผลงานมาตั้งแต่ Revemu (ปล่อยบอทขายเงิน M)
จนถึงตอนนี้ได้ Code ไปหากินได้อีก นับถือเลยครับ  :D :D +1 ครับ
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: ฉันไม่มีตัวตน ใน 04 ตุลาคม 2008, 09:50:04
ลืมบุ๊คมาร์กกะทู้นี้ไปได้อย่างไร
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: ClickToBan ใน 04 ตุลาคม 2008, 11:55:41
บุ๊กด้วยคราวที่แล้วว่า มาโพสไว้แหละ แต่หายไปไหนก้อไม่รู้  :-[
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: ฟาร์มเฮ้า ใน 04 ตุลาคม 2008, 14:02:22
ขอบคุณ คุณ Ethaizone มาก ๆ  เลยครับ   :-*
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EThaiZone ใน 05 ตุลาคม 2008, 15:55:37
มีคนถามมาทาง PM เรื่อง WYSIWYG

เลยรวมมาให้เลย ก็ลองๆ ดูนะครับ

http://tinymce.moxiecode.com/
http://www.htmlarea.com/
http://www.fckeditor.net/
http://www.kevinroth.com/rte/
http://www.snippetmaster.com/index.php
http://xinha.webfactional.com/
http://nicedit.com/
http://www.openwebware.com/
http://www.wyzz.info/
http://www.themaninblue.com/experiment/widgEditor/
http://www.textarearich.com/
http://users.ox.ac.uk/~pault/rtwedit/
http://hypertextarea.sourceforge.net/
http://users.ox.ac.uk/~pault/rtwedit/


:)
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: icez ใน 05 ตุลาคม 2008, 16:17:40
เท่าที่ลอง tinymce เจ๋งสุดครับ
แต่.... ตัวมันไม่ได้ tiny เหมือนชื่อเลยอะ T_T
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: siamman ใน 05 ตุลาคม 2008, 16:47:53
Tiny MCE เจ๋งสุดครับ ใช้ง่ายด้วย แต่ถ้าไม่อยาก optimize มากๆ แนะนำ OpenWYSIWYG

ลองเซิร์สหาดูนะครับ
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EThaiZone ใน 05 ตุลาคม 2008, 18:14:14
เฮ้อ อะไรที่ผมต้องใช้ ก็จะเอามาโพสเรื่อยๆ นะ กันตัวเองลืมด้วย

โค้ด Javascript ดัก Event Keyboard เท่าที่ทดสอบน่าจะรองรับเกือบทุก browser
IE6 กับ FF3 เทส์แล้วชัวร์ โค้ดมาจากการยำมั่วกับโค้ดหลายที่
อันหนึ่งใช้ได้กะ IE อันหนึ่งใช้ได้กะ FF ก็ยำเละ

ns4 = (document.layers)? true:false
ie4 = (document.all)? true:false

function keyDown(e) {
if (ns4) {var Key=e.which;}
if (ie4) {var Key=event.keyCode;}
if (!ie4 & !ns4) {var Key=e.keycode ? e.keycode : e.which}
alert(Key)
}

if (!ie4 & !ns4) {
window.addEventListener('keydown', keyDown, false)
} else {
document.onkeydown = keyDown
}
if (ns4) document.captureEvents(Event.KEYDOWN)


แก้ไขเพิ่ม พอดีมันรันบน greasemonkey ไม่ผ่าน :P
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: oldgame ใน 05 ตุลาคม 2008, 19:22:30
ขอบคุณครับคุณโจ้ เดี๋ยวขอเอาไปปรับกลับของเก่าก้องแก้งของผมหน่อยนะครับ  :-[

ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: kudjung ใน 06 ตุลาคม 2008, 10:23:01
Tiny MCE ติดตรงที่อยากได้ MCFileManager แบบไม่เสียเงินอะ
เคยหา Plugin คล้ายๆกันมาได้ แต่ทำหายไปไหนไม่รู้แล้ว  :'( ใครแบ่งปันได้นะครับ
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: BosnoS ใน 06 ตุลาคม 2008, 15:56:26
อ้างถึงจาก: EThaiZone ใน 08 สิงหาคม 2008, 01:07:17
"ภาคต่อกับการต่อหางให้ PHP"

ต่อจากภาคที่แล้ว

ขั้นแรกให้สร้างไฟล์ PHP  ที่จะเป็นเขามาสักไฟล์
สมมุติว่าชื่อ foot.php ละกัน

พอเราสร้าง ให้ลองใส่โค้ดนี้ลงไป
echo "I am Foot of PHP.";
แล้วเซฟ

ต่อมาให้แก้ .htaccess เพิ่มโค้ดนี้ลงไป
php_value auto_append_file foot.php
แล้วเซฟ


เท่านี้ เราก็จะสามารถต่อหางให้ไฟล์ php ทุกไฟล์ได้แล้ว
ลองเปิด php หน้าไหนก็ได้่ ข้อความ I am Foot of PHP. จะไปติดอยู่ข้างล่างเสมอ

ข้อดีของมันจริงๆ คืออะไร มันแล้วแต่คนประยุกต์ (กึ๋น)
ยกตัวอย่าง... มันคงจะง่าย ถ้าผมอยากยัดโค้ดตรวจ status
โดยไม่ต้องแก้โค้ดเดิมให้ยุ่งยาก

--------------------------------------------------

555+ ผมเอาข้อความของการสวมเขามาแก้นิดหน่อยแล้วโพส อย่าถือสาละกันนะครับ  :)

คราวหน้าจะมาพูดเรื่องแนวนี้อีกโพส แต่จะเป็นสำหรับ html
จะได้ครบสูตรทั้ง php และ html เลย  :)

ขอขุดหน่อย พอดีนำไปใช้ work ดีครับ แต่


อยากให้มันมีผลแต่ ใน domain.com นะคับ ถ้าเป็น ใน Subdomain ไม่มีผล พอจะทำได้ไหมคับ
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: ball6847 ใน 06 ตุลาคม 2008, 16:09:01
คุงเต้ก้เอา .htaccess ไปไว้ใน โฟลเดอร์ของ ซับจิคับ แหะๆ
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: siamman ใน 06 ตุลาคม 2008, 16:19:56
อ้างถึงจาก: kudjung ใน 06 ตุลาคม 2008, 10:23:01
Tiny MCE ติดตรงที่อยากได้ MCFileManager แบบไม่เสียเงินอะ
เคยหา Plugin คล้ายๆกันมาได้ แต่ทำหายไปไหนไม่รู้แล้ว  :'( ใครแบ่งปันได้นะครับ

ผมใช้ tinyBrowse อยู่ครับ พอใช้ในระดับนึง
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EThaiZone ใน 06 ตุลาคม 2008, 19:27:54
อ้างถึงจาก: BosnoS ใน 06 ตุลาคม 2008, 15:56:26
ขอขุดหน่อย พอดีนำไปใช้ work ดีครับ แต่


อยากให้มันมีผลแต่ ใน domain.com นะคับ ถ้าเป็น ใน Subdomain ไม่มีผล พอจะทำได้ไหมคับ

ไม่ทราบเลยครับ มันประกาศค่าทับไม่ได้ด้วย

มีทางเดียวคือเขียนเช็ค if ที่ไฟล์ php ที่เรา prepend append ไป
ยกตัวอย่าง

$exclude = array("subdomain1", "subdomain2");

$tmp = substr(str_replace(dirname(__FILE__), "", dirname($_SERVER['PATH_TRANSLATED'])), 1);
$path = explode("/", str_replace("\\", "/", $tmp));

if(!in_array($path[0], $exclude)) {
echo "PHP Header";
}


ใช้ได้จริงนะครับ  :)

เผลอเขียนอีกแล้วเรา งานการไม่เดิน  :-X
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: BosnoS ใน 07 ตุลาคม 2008, 13:13:54
อ้างถึงจาก: EThaiZone ใน 06 ตุลาคม 2008, 19:27:54
อ้างถึงจาก: BosnoS ใน 06 ตุลาคม 2008, 15:56:26
ขอขุดหน่อย พอดีนำไปใช้ work ดีครับ แต่


อยากให้มันมีผลแต่ ใน domain.com นะคับ ถ้าเป็น ใน Subdomain ไม่มีผล พอจะทำได้ไหมคับ

ไม่ทราบเลยครับ มันประกาศค่าทับไม่ได้ด้วย

มีทางเดียวคือเขียนเช็ค if ที่ไฟล์ php ที่เรา prepend append ไป
ยกตัวอย่าง

$exclude = array("subdomain1", "subdomain2");

$tmp = substr(str_replace(dirname(__FILE__), "", dirname($_SERVER['PATH_TRANSLATED'])), 1);
$path = explode("/", str_replace("\\", "/", $tmp));

if(!in_array($path[0], $exclude)) {
echo "PHP Header";
}


ใช้ได้จริงนะครับ  :)

เผลอเขียนอีกแล้วเรา งานการไม่เดิน  :-X

ขอบคุณครับ

พอดีผมแก้ปัญหามั่วๆ ไปล่ะ ผมสร้างไพล์เปล่าชื่อ head.php และ footer.php ไปวางใน sub folder นั้นๆ
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: ฉันไม่มีตัวตน ใน 07 ตุลาคม 2008, 14:48:05
อ้างถึงจาก: icez ใน 17 กันยายน 2008, 23:30:37
โครงสร้างตาราง

create table pageview (
ip varchar(15) not null default '',
counter int not null default '0',
primary key (ip)
) engine=MyISAM



query ในหน้าเว็บ

insert into pageview(ip,counter) values('123.45.67.89', 1) on duplicate key update counter = counter +1


จบครับ
ขอบคุณครับขอเอาไปลองล่ะนะ กำลังหา stat ที่จะมาเก็บเทียบกับ stats.in.th อยู่พอดี
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: topsitemp4 ใน 08 ตุลาคม 2008, 01:09:26
ทายสิครับว่ามันเป็นเพราะอะไร ;D

DB Error: insufficient permissions
[nativecode=1044 ** Access denied for user 'steponeu_affilia'@'localhost' to database 'steponeu_affiliatepro']
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: ball6847 ใน 08 ตุลาคม 2008, 13:30:33
PHP Syntax Hightlight แบบเบิร์ดๆ

หาฟังก์ชั่นแปลกๆมาเล่นเรื่อยๆ วันๆนั่งอ่าน function reference ไปเรื่อยเปื่อย แล้วก็เจอฟังก์ชั่นน่าสนใจหลายๆฟังก์ชั่น วันนี้ขอหยิบมาเสนอสัก 1 ฟังก์ชั่นค้าบบ

ฟังก์ชั่นนี้มีชื่อว่า highlight_file() หรืออีกชื่อคือ show_source() เป็น build-in function ไม่ต้องไปหาคลาสหรือเขียนฟังก์ชั่นขึ้นเองก็สามารถแสดง source code ของ php แบบมีไฮไลท์ syntax งามๆแล้ว

อ่ะวิธีใช้ อ้างอิงจาก php.net

mixed highlight_file ( string $filename [, bool $return ] )

นั่นคือ ต้องการแค่ที่อยู่ไฟล์ที่จะเอามาแสดงซอร์สโค้ดเท่านั้นเองเพราะฉะนั้น แค่นี้ก็พอแระ

<?php

highlight_file
("sourcecode.php");

?>


(http://i152.photobucket.com/albums/s189/ball6847/forums/hl1.jpg)

โอ้ววว เท่านี้ก็แสดงซอร์สโค้ดอย่างสวยงามตา แต่ถึงกระนั้นมันก็ไม่สาแก่ใจของผมซะเท่าไหร่ เพราะส่วนตัวผมว่าการแสดง source code น่าจะใช้ <pre> เลยโมนิสนึง

<?php

function highlight_file_mod($filename $return=false) {
$code "<pre>" str_replace('<br />' "\n" highlight_file($filename true)) . "</pre>";
if($return) return $code;
else echo $code;
}

?>


แต่ทั้งนี้ท้งนั้นผมก็ยังไม่รู้จักพอ ประจวบเหมาะเจอ user ใน php.net ท่านนึงเอาฟังก์ชั่น  highlight_with_linenum() มาโพสท์ โอ้ววว น่าสนใจๆ แต่ดันใช้แล้วไม่เวิร์ก เหอๆ งั้นทำเองก็ได้ฟระ

<?php

function highlight_with_linenum($filename $return=false $size=13) {
// verify file existance
if(!file_exists($filename)) return false;

// create line num
$line range(1,count(file($filename)));
$line implode("\n",$line);

// fix main code
$find = array("<br />" ">\n" );
$replace = array("\n" '>' );
$code str_replace($find $replacehighlight_file($filename true));


// additional stylesheet for highlighter
$output '<style>';
$output .= '* {margin:0;padding:0;}';
$output .= 'td {padding:5px 0 5px 0;font-size:'$size .'px;}';
$output .= '.linenum {background-color:whitesmoke;color:gray;padding:0 10px 0 10px;text-align:right;border-right:1px solid gray;}';
$output .= '.separator {width:10px;background-color:whitesmoke;}';
$output .= '.code {padding-left:5px;}';
$output .= '</style>';

// CODE
$output .= '<table class="main"><tr>';
$output .= '<td class="linenum">';
$output .= '<pre>'$line .'</pre>';
$output .= '</td>';
$output .= '<td class="separator">&nbsp;&nbsp;</td>';
$output .= '<td class="code">';
$output .= '<pre>'$code .'</pre>';
$output .= '</td>';
$output .= '</tr></table>';

// return or display
if($return) return $output;
else echo $output;

}


?>


ออกมาเป็นอย่างงี้

(http://i152.photobucket.com/albums/s189/ball6847/forums/hl2.jpg)

ทีนี้เอาไปใช้แสดงโค้ดในบล็อกหรือในเว็บได้สบายๆแระ
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: oldgame ใน 08 ตุลาคม 2008, 13:44:47
ขอบคุณครับคุณ ball ผมขอเอาไปลงเว็บให้เพื่อน ๆ ดูนะครับ  :-*
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: tommy009 ใน 08 ตุลาคม 2008, 14:34:23
ผมมี tip นิดหน่อยครับ (แต่ส่วนใหญ่คงรู้แล้ว) บางโฮสต์เวลาที่เราเปลี่ยนค่า css ใน server แต่พอ refresh แล้วมันไม่เปลี่ยนตามที่เราแก้ ให้ใส่ในโค้ด "?r=1235468 " (เลขอะไรก็ได้ตามใจชอบ) เช่น site.css?r=20349 แล้วก็ลบแค็ชในเครื่องเราด้วย ต่อไปนี้ปัญหาการอัพเดท css ก็จะหมดไป
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: siamman ใน 08 ตุลาคม 2008, 15:19:34
อ้างถึงจาก: tommy009 ใน 08 ตุลาคม 2008, 14:34:23
ผมมี tip นิดหน่อยครับ (แต่ส่วนใหญ่คงรู้แล้ว) บางโฮสต์เวลาที่เราเปลี่ยนค่า css ใน server แต่พอ refresh แล้วมันไม่เปลี่ยนตามที่เราแก้ ให้ใส่ในโค้ด "?r=1235468 " (เลขอะไรก็ได้ตามใจชอบ) เช่น site.css?r=20349 แล้วก็ลบแค็ชในเครื่องเราด้วย ต่อไปนี้ปัญหาการอัพเดท css ก็จะหมดไป


เป็นทิปที่น่าสนใจมากครับ เพิ่งรู้ว่าทำแบบนี้ได้ด้วย
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: mars ใน 08 ตุลาคม 2008, 16:00:26
อ้างถึงจาก: ball6847 ใน 08 ตุลาคม 2008, 13:30:33
PHP Syntax Hightlight แบบเบิร์ดๆ

หาฟังก์ชั่นแปลกๆมาเล่นเรื่อยๆ วันๆนั่งอ่าน function reference ไปเรื่อยเปื่อย แล้วก็เจอฟังก์ชั่นน่าสนใจหลายๆฟังก์ชั่น วันนี้ขอหยิบมาเสนอสัก 1 ฟังก์ชั่นค้าบบ

ฟังก์ชั่นนี้มีชื่อว่า highlight_file() หรืออีกชื่อคือ show_source() เป็น build-in function ไม่ต้องไปหาคลาสหรือเขียนฟังก์ชั่นขึ้นเองก็สามารถแสดง source code ของ php แบบมีไฮไลท์ syntax งามๆแล้ว


ฟังก์ชั่นนี้เรียกไฟล์ php จาก domain อื่นได้หรือป่าวครับ

เช่น
$myurl = "http://www.google.com";
highlight_file($myurl);

แต่คิดว่าคงไม่ได้แน่ ๆ เลย



ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: ball6847 ใน 08 ตุลาคม 2008, 16:41:03
อ้างถึงจาก: mars ใน 08 ตุลาคม 2008, 16:00:26
อ้างถึงจาก: ball6847 ใน 08 ตุลาคม 2008, 13:30:33
PHP Syntax Hightlight แบบเบิร์ดๆ

หาฟังก์ชั่นแปลกๆมาเล่นเรื่อยๆ วันๆนั่งอ่าน function reference ไปเรื่อยเปื่อย แล้วก็เจอฟังก์ชั่นน่าสนใจหลายๆฟังก์ชั่น วันนี้ขอหยิบมาเสนอสัก 1 ฟังก์ชั่นค้าบบ

ฟังก์ชั่นนี้มีชื่อว่า highlight_file() หรืออีกชื่อคือ show_source() เป็น build-in function ไม่ต้องไปหาคลาสหรือเขียนฟังก์ชั่นขึ้นเองก็สามารถแสดง source code ของ php แบบมีไฮไลท์ syntax งามๆแล้ว


ฟังก์ชั่นนี้เรียกไฟล์ php จาก domain อื่นได้หรือป่าวครับ

เช่น
$myurl = "http://www.google.com";
highlight_file($myurl);

แต่คิดว่าคงไม่ได้แน่ ๆ เลย





เหอะๆ ได้ก็ความลับแตกกันหมดพอดีดิคับ แหะๆ
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: คุณสายน้ำ ใน 08 ตุลาคม 2008, 18:06:49
พอจะมีใคร ที่ช่วยผมแก้ .htaccess ได้บ้างครับ
เวปผม www.haacar.com เวลากดดูหนังมันไม่จะ link ขาดทำไงดีครับ

.htaccess


Options +FollowSymLinks
RewriteEngine On
RewriteRule ^([^-]*)-([^-]*)\.htm$ /July2308SEO/MovieScript/index.php?page=movie&do=film&film_name=$1&film_id=$2 [L]
RewriteRule ^([^-]*)-([^-]*)-([^-]*)\.htm$ /July2308SEO/MovieScript/index.php?page=movie&do=film&film_name=$1&film_id=$2&file_id=$3 [L]
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: oldgame ใน 12 ตุลาคม 2008, 08:25:57
อยากจะถามว่ามีคำสั่งที่คล้าย ๆ strip_tags($str, '<strong><em><u><p><br>'); แต่เราเจอะจงที่จะเอาออก tag เดียวออกได้มั้ยครับ

อยากเอา tag a ออกอย่างเดียว อะไรแบบนี้อะครับ  ???
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: kudjung ใน 12 ตุลาคม 2008, 20:16:13
ปวดหัวกับ XML ผมสร้าง RSS สำหรับกระทู้ใหม่ๆในระบบเว็บบอร์ดครับ แต่ที่นี้มีปัญหาด้านการแสดงผล

เปิดบนเว็บ
ถ้าเปิดกับ IE ก็ไม่มีปัญหา แต่เวลาเปิดใน FF กลับไม่แสดงผลครับ มันแสดงผลเป็นตัวอักษรเต็มไปหมดเลย

เปิดในเครื่อง
ไม่มีปัญหาทั้ง IE และ FF

ใครเคยเจอบ้างครับแบบนี้
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EThaiZone ใน 12 ตุลาคม 2008, 20:33:08
อ้างถึงจาก: newthai22 ใน 08 ตุลาคม 2008, 18:06:49
พอจะมีใคร ที่ช่วยผมแก้ .htaccess ได้บ้างครับ
เวปผม www.haacar.com เวลากดดูหนังมันไม่จะ link ขาดทำไงดีครับ

.htaccess


Options +FollowSymLinks
RewriteEngine On
RewriteRule ^([^-]*)-([^-]*)\.htm$ /July2308SEO/MovieScript/index.php?page=movie&do=film&film_name=$1&film_id=$2 [L]
RewriteRule ^([^-]*)-([^-]*)-([^-]*)\.htm$ /July2308SEO/MovieScript/index.php?page=movie&do=film&film_name=$1&film_id=$2&file_id=$3 [L]


ไม่ได้เข้ากระทู้นี้ เลยไม่รู้ว่ามีคนถาม  :P

กรณีลิงค์ขาด ก็เพราะมันหาไฟล์ไม่เจอครับ ต้องให้แน่ใจว่า /July2308SEO/MovieScript/ นี้ใช่ที่กำหนดถูกไหม
จริงๆ ถ้าไฟล์ index.php อยู่ที่รากของโดเมนนั้นๆ
ก็อาจกำหนดเรียก index.php ตรงๆ เลยก็ได้

และ regex ในการเรียก แนะนำใช้ + แทน * ดีกว่านะครับ

ถ้าให้ผมเดา มันน่าจะออกมาเป็นแบบนี้ครับ

Options +FollowSymLinks
RewriteEngine On
RewriteRule ^([^-]+)-([^-]+)\.htm$ index.php?page=movie&do=film&film_name=$1&film_id=$2 [L]
RewriteRule ^([^-]+)-([^-]+)-([^-]+)\.htm$ index.php?page=movie&do=film&film_name=$1&film_id=$2&file_id=$3 [L]
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EThaiZone ใน 12 ตุลาคม 2008, 20:38:45
อ้างถึงจาก: oldgame ใน 12 ตุลาคม 2008, 08:25:57
อยากจะถามว่ามีคำสั่งที่คล้าย ๆ strip_tags($str, '<strong><em><u><p><br>'); แต่เราเจอะจงที่จะเอาออก tag เดียวออกได้มั้ยครับ

อยากเอา tag a ออกอย่างเดียว อะไรแบบนี้อะครับ  ???

อันนี้แนะนำ preg_replace เลย เช่นแบบนี้ครับ
ผมเขียนเป็นฟังค์ชั่นใหม่นะ จะได้เข้าใจง่ายๆ  :)

function del_tags($str, $tags) {
return preg_replace('#</?'.$tags.'[^>]*>#i', '', $str);
}

$str = "<a href='dsaads'><img src='image.jpg'></a>";
echo del_tags($str, "a");


อัพเดต - แก้เพิ่ม case insensitive
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EThaiZone ใน 12 ตุลาคม 2008, 20:41:01
อ้างถึงจาก: kudjung ใน 12 ตุลาคม 2008, 20:16:13
ปวดหัวกับ XML ผมสร้าง RSS สำหรับกระทู้ใหม่ๆในระบบเว็บบอร์ดครับ แต่ที่นี้มีปัญหาด้านการแสดงผล

เปิดบนเว็บ
ถ้าเปิดกับ IE ก็ไม่มีปัญหา แต่เวลาเปิดใน FF กลับไม่แสดงผลครับ มันแสดงผลเป็นตัวอักษรเต็มไปหมดเลย

เปิดในเครื่อง
ไม่มีปัญหาทั้ง IE และ FF

ใครเคยเจอบ้างครับแบบนี้

RSS ที่ว่ามีการเรียกจาก Mysql หรือเปล่าครับ

ถ้ามีต้องกำหนด Mysql ให้เป๊ะๆ ไปเลย ทั้ง connection encoding
และอื่นๆ ตั้งแต่การ input ข้อมูลเลยครับ

บางโฮสอาจมีปัญหา ก็ลองเซ็ต encoding เป็น latin1 ดูนะครับ
เคยใช้กับบางเว็บหาย (คำแนะนำจากคุณ icez ^^)
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: oldgame ใน 12 ตุลาคม 2008, 22:05:40
สุดยอด มากเลยครับคุณโจ้~  :-*

ไม่มีไรตอบแทน ให้ +1 ละกันนะคราบบ อยากให้คุณโจ้แต้มถึง 1000  :D
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: kudjung ใน 12 ตุลาคม 2008, 22:52:42
แฮะๆมีคำถามอีกแล้วครับเรื่องความเร็วและใช้การประมวลผลน้อยที่สุด
คือต้องการสุ่มรูปออกมาแสดง 1 รูป ผมจะสุ่มจากฐานข้อมูลดี หรือดึงรูปจากห้องรูปมาสุ่มแล้วแสดงดีครับ
หรือใครมีหลักการที่ดีกว่านั้นก็ว่ามาครับ
ผมต้องสุ่มบ่อยๆด้วยทำอย่างไรถึงจะไม่หนัก server ครับ  :-*
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EThaiZone ใน 12 ตุลาคม 2008, 23:14:45
อ้างถึงจาก: kudjung ใน 12 ตุลาคม 2008, 22:52:42
แฮะๆมีคำถามอีกแล้วครับเรื่องความเร็วและใช้การประมวลผลน้อยที่สุด
คือต้องการสุ่มรูปออกมาแสดง 1 รูป ผมจะสุ่มจากฐานข้อมูลดี หรือดึงรูปจากห้องรูปมาสุ่มแล้วแสดงดีครับ
หรือใครมีหลักการที่ดีกว่านั้นก็ว่ามาครับ
ผมต้องสุ่มบ่อยๆด้วยทำอย่างไรถึงจะไม่หนัก server ครับ  :-*

ห้องรูป คงหมายถึงโฟลเดอร์เก็บรูปนะครับ

ผมชอบสุ่มจากโฟลเดอร์เก็บรูปมากกว่า
เพราะระบบไฟล์จะทำงานเร็วกว่าอยู่แล้ว แต่ hdd จะหมุนหนัก ดังนั้น

จริงๆ มันมีไอเดียง่ายๆ แต่ว่ามันต้องประยุกต์ให้เหมาะกับแต่ละเว็บครับ
สมมุติอย่างเป็น upic.me ของคุณ icez (ต้องขอเอามาเป็นเคสโดยไม่ได้รับอนุญาตนะ งิๆ)

ลักษณะ url ของ thumbnail จะเป็น
http://upic.me/i/vf/o2s66.gif

ถ้าเรามาวิเคราะห์จะพบว่ารูปแบบ (pattern) จะได้
http://upic.me/ ชื่อโฮส
i/ โฟลเดอร์ thumbnail
vf/ โฟลเดอร์ซอยหั่น ความน่าจะเป็นคือ a-z และ 0-9 จำนวน 2 หลัก
o2s66.gif ชื่อไฟล์รูปภาพ ความน่าจะเป็นคือ a-z และ 0-9 จำนวน 2 หลัก แล้วตามด้วยชื่อไฟล์เดิม


ส่วนหนึ่งที่เราพอให้ php ทำงานแทนได้ เช่น โฟลเดอร์ซอยหั่น เพราะน่าจะมีครบ (ถ้าไม่มีก็สุ่มใหม่ซะ)
และเราจะใช้ความสามารถของ glob ที่สามารถเรียกรายการไฟล์แบบ wildcard ได้

สรุปโค้ดคร่าวๆ นะ ก็น่าจะได้แนวนี้

$range = array_merge(range('a', 'z'), range('0', '9'));  //สร้างชุดอักษร

do {
$rd1 = array_rand($range).array_rand($range); //สร้างอักษรสุ่ม 2 ตัว
if(!file_exists("i/".$range[$rd1]."/")) continue; //ตรวจสอบโฟลเดอร์ย่อย ไม่มีก็กลับไปทำใหม่
$list = glob("i/".$range[$rd1]."/{*.jpg,*.gif,*.png}", GLOB_BRACE); //ค้นหาไฟล์ภาพทั้งหมดในโฟลเดอร์ย่อยที่สุ่มขึ้น
$key = array_rand($list); //เรียกออกมา
$pickup = $list[$key];
break;
} while (0);

echo "Random: ".$pickup;


นี้เป็นแค่ตัวอย่างนะครับ ต้องอาศัยปัจจุจัยหลายอย่าง
แต่อยากให้เห็นแนวคิด มันประยุกษ์ได้เยอะ

:)

ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: icez ใน 13 ตุลาคม 2008, 00:42:29
วิธีที่เร็วที่สุดคือ เก็บใส่ array แล้วสุ่มเอาครับ
ทีนี้ จังหวะที่จะเรียกมาเก็บใส่ array เนี่ยแหละครับจะทำไง

1. ข้อมูลอยู่ใน sql อยู่แล้ว
2. ดึงรายการไฟล์จาก folder เลย

สองอย่างนี้รวมๆ แล้วก็หนักพอกันครับ
อันนึงก็เปลือง query อีกอันก็เปลือง stat (i/o seek)

เพราะงั้น พอ list ออกมาได้แล้วก็เก็บลง cache เลยครับ
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EThaiZone ใน 13 ตุลาคม 2008, 00:50:03
ู^
^
เห็นด้วยเลยครับ เราอาจต้องตัดใจเรื่องความสดของข้อมูลไปบ้าง
หรืออยากให้อัพเดตใหม่แบบเรื่อยๆ ก็อาจแยกไฟล์ส่วนที่ใช้สร้าง cache ไปรัน cron ตอนเวลาดึกๆ ของทุกๆ วัน (คนน้อย)

แล้วเวลาใช้จริงก็ค่อยสุ่มจาก cache เอา ซึ่งอาจใช้ serialize ช่วยก็ได้
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: oldgame ใน 13 ตุลาคม 2008, 00:58:14
ช่วงนี้ถามบ่อยหน่อยนะครับ  :-[

อยากจะถามว่าเวลาจัดเก็บข้อมูลประเภท string พวกเครื่องหมาย " ' < > เข้าฐานข้อมูล เวลาเอามาแสดงใช้งานมีปัญหามากเลยครับ พมก็จัดการแบบบ้าน ๆ อย่างพวก str_replace เปลี่ยนมันเป็น ระหัสสัญญาลักษญ์ก็พอใช้งานไปได้ครับ แต่ผมคิดว่าเป็นวิธีที่ไม่ถูกต้องแน่นอน เลยอยากจะถามพี่ ๆ ว่ามีวิธีทีใหนที่เค้าใช้กันเป็นสากลครับผม  :'(

ละก็มีเครื่องหมายอื่น ๆ อีกรึเปล่าที่ผมต้องกลัวครับผม  :P

ขอบคุณพี่ ๆ ที่ช่วยเสมอมาครับ  :-*
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: au8ust ใน 13 ตุลาคม 2008, 06:18:02
ถามเรื่อง alternative row อ่ะครับ

ตอนแรกทำ table ก็ไม่มีปัญหา เพราะมันสลับสีให้เองตาม tr แต่ละอัน ตอนหลังมาใช้ div แทนแล้วมันไม่สลับสีแล้ว อยากทราบว่า เขียนยังไงให้มันสลับสีตามนี้เองครับ

<div class="something"></div>
<div class="something alt"></div>
<div class="something"></div>
<div class="something alt"></div>
<div class="something"></div>

ขอบคุณครับ
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: Sarbuy ใน 13 ตุลาคม 2008, 06:31:34
<div class="something"></div>
<div class="something alt"></div>
<div class="something"></div>
<div class="something alt"></div>
<div class="something"></div>


ข้างบนเป็น code ที่เรียกใช้งานจริง ๆ เหรอครับ
มันเวนวรรคอ่ะนะ เลยอาจจะทำให้สีไม่สลับก็ได้ครับ

ตอนที่ผมใช้ใน css ผมแบบนี้อ่านะ

.#####1{
width:180px;
height:100px;
float:left;
background-color:#005A93;
}
.####2{
width:180px;
height:100px;
float:left;
background-color:#FBF9C8;
}
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: kudjung ใน 13 ตุลาคม 2008, 06:35:40
ขอบคุณทั้งคุณ EThaiZone และคุณ ICEZ นะครับไม่มีอะไรตอบแทนนอกจาก +1  :)
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: au8ust ใน 13 ตุลาคม 2008, 06:39:50
@Sarbuy - โค๊ดเป็นแบบนี้ครับ


{if $recent_posts}
{foreach item=post from=$recent_posts}
<div class="home">
<div class="home_left">
{if $post.type_id == $smarty.const.CAT_1}
{elseif $post.type_id == $smarty.const.CAT_2}
{elseif $post.type_id == $smarty.const.CAT_3}
{/if}
</div>
<div class="home_right">
<a class="postname" href="{$BASE_URL}post/{$post.id}/{$post.url_title}/"</a>
</div>
</div>
{/foreach}
{/if}


ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: icez ใน 13 ตุลาคม 2008, 07:08:28
ทำไม quote ไม่ไปเนี่ย แง่งๆๆๆๆ


ตอบคุณ old man นะคัรบ

ตอนเก็บเข้าฐานข้อมูล ใช้ mysql_escape_string ครับ
ส่วนตอนแสดงผล ใช้ htmlspecialchars ครับ
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EThaiZone ใน 13 ตุลาคม 2008, 08:35:16
อ้างถึงจาก: icez ใน 13 ตุลาคม 2008, 07:08:28
ทำไม quote ไม่ไปเนี่ย แง่งๆๆๆๆ

หาแนวร่วมได้แล้ว  :D
ต้องคลิ๊กขวาแล้วเลือกอ้างอิงแทนครับ เป็นกันทุกคนเลย

----------------------------------------------------------

@august

อ้างถึง{if $recent_posts}
            {foreach item=post key=keyid from=$recent_posts}
            <div class="{if (keyid%2) neq 0}class1{else}class2{/if}">
               <div class="home_left">
                  {if $post.type_id == $smarty.const.CAT_1}
                  {elseif $post.type_id == $smarty.const.CAT_2}
                  {elseif $post.type_id == $smarty.const.CAT_3}
                  {/if}
               </div>
               <div class="home_right">
               <a class="postname" href="{$BASE_URL}post/{$post.id}/{$post.url_title}/"</a>
               </div>
            </div>
            {/foreach}
            {/if}

ตรงตัวหนาคือที่แก้เพิ่ม
แล้วเดี๋ยวก็ไปกำหนดใน css ให้ class1 กับ class2 มีสีพื้นต่างกันครับ
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: au8ust ใน 13 ตุลาคม 2008, 08:55:47
@EThaiZone

ขอบคุณครับ แต่ไม่ได้แฮะ มันกลายเป็น class2 ทั้งหมดเลย
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EThaiZone ใน 13 ตุลาคม 2008, 11:03:30
อ้างถึงจาก: au8ust ใน 13 ตุลาคม 2008, 08:55:47
@EThaiZone

ขอบคุณครับ แต่ไม่ได้แฮะ มันกลายเป็น class2 ทั้งหมดเลย

ขอโทษทีครับ แหะๆ ผมมือใหม่หัดใช้ smarty

จริงๆ คือแทบไม่แตะ อ่านคำถามผมก็ค้น doc มาตอบเลย (แถมอ่าน doc มันไม่หมดซะอีก)


อ้างถึง{if $recent_posts}
            {foreach item=post key=keyid from=$recent_posts}
            <div class="{if keyid is not odd}class1{else}class2{/if}">
               <div class="home_left">
                  {if $post.type_id == $smarty.const.CAT_1}
                  {elseif $post.type_id == $smarty.const.CAT_2}
                  {elseif $post.type_id == $smarty.const.CAT_3}
                  {/if}
               </div>
               <div class="home_right">
               <a class="postname" href="{$BASE_URL}post/{$post.id}/{$post.url_title}/"</a>
               </div>
            </div>
            {/foreach}
            {/if}

:P
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: au8ust ใน 13 ตุลาคม 2008, 11:25:54
คราวนี้กลายเป็น class1 หมดแฮะ งง ดี :P
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EThaiZone ใน 13 ตุลาคม 2008, 11:32:46
เฮ้ย ผมลืมเติม $  :-X


อ้างถึง{if $recent_posts}
            {foreach item=post key=keyid from=$recent_posts}
            <div class="{if $keyid is not odd}class1{else}class2{/if}">
               <div class="home_left">
                  {if $post.type_id == $smarty.const.CAT_1}
                  {elseif $post.type_id == $smarty.const.CAT_2}
                  {elseif $post.type_id == $smarty.const.CAT_3}
                  {/if}
               </div>
               <div class="home_right">
               <a class="postname" href="{$BASE_URL}post/{$post.id}/{$post.url_title}/"</a>
               </div>
            </div>
            {/foreach}
            {/if}

ปล่อยไก่หมดเล้าแล้ว  :-X
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: au8ust ใน 13 ตุลาคม 2008, 11:35:04
โอววว ได้แล้วครับ ขอบคุณมาก ๆ นะคร้าบบบบบบบ (http://punlao.com/yshout/smileys/onion/070.gif)
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: lowprofile ใน 13 ตุลาคม 2008, 11:36:32
ใช้ cycle ก็ได้ครับ

ตัวอย่างจาก smarty chm
อ้างถึง{section name=rows loop=$data}
<tr bgcolor="{cycle values="#eeeeee,#d0d0d0"}">
  <td>{$data[rows]}</td>
</tr>
{/section}

ผลลัพธ์
<tr bgcolor="#eeeeee">
  <td>1</td>
</tr>
<tr bgcolor="#d0d0d0">
  <td>2</td>
</tr>
<tr bgcolor="#eeeeee">
  <td>3</td>
</tr>


ถ้าจากโจทย์ก็น่าจะได้ประมาณนี้
อ้างถึง
           {if $recent_posts}
           {foreach item=post key=keyid from=$recent_posts}
           <div class="{cycle values="class1,class2"}">
              <div class="home_left">
                 {if $post.type_id == $smarty.const.CAT_1}
                 {elseif $post.type_id == $smarty.const.CAT_2}
                 {elseif $post.type_id == $smarty.const.CAT_3}
                 {/if}
              </div>
              <div class="home_right">
              <a class="postname" href="{$BASE_URL}post/{$post.id}/{$post.url_title}/"</a>
              </div>
           </div>
           {/foreach}
           {/if}

ยังไม่ได้ตรวจสอบผลนะครับ ถ้าผิดพลาดยังไงขออภัยด้วยครับ :-[
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: lowprofile ใน 13 ตุลาคม 2008, 11:39:47
โอ้ววววว อะไรกันนี่ พิมพ์อยู่แป๊บเดียวเอง คุยกันไวจริงหนอ  :-X
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: au8ust ใน 13 ตุลาคม 2008, 11:48:13
ขอบคุณ คุณ lowprofile อีกคนครับ : D
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EThaiZone ใน 13 ตุลาคม 2008, 11:50:00
อ้างถึงจาก: au8ust ใน 13 ตุลาคม 2008, 11:48:13
ขอบคุณ คุณ lowprofile อีกคนครับ : D

ผมก็ว่างั้น cycle ดูใช้งานได้ง่ายกว่าด้วยครับ

โลกของ smarty ช่างใหญ่นัีก  :'( (เพราะไม่ค่อยได้ใช้)
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: 100z ใน 13 ตุลาคม 2008, 11:50:10
ไม่รู้เรื่อง  ;D
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EThaiZone ใน 17 ตุลาคม 2008, 02:13:47
ดึกๆ มันเหงาแฮะ
วันนี้เอาสคริปมาแจก เขียนใช้เองนานแล้วล่ะ

เหตุมาจากช่วงหนึ่งที่ TOT มันบล็อก Youtube
ผมเลยบรรเจิด เขียนสคริปสั่งดูดจากโฮสซะเลย

อยากให้เอาไปดูเป็นแนวการเขียนครับ

<?php
######################
# Youtube Duper (V.Server Downloader)
# By EThaiZone.Com
######################

ini_set("memory_limit""30M");
ini_set("max_execution_time""100");
ini_set("default_socket_timeout""100");
ini_set("expect.timeout""30");

function 
curl($url$header=false) {
$ch curl_init();
curl_setopt($chCURLOPT_URL$url);
curl_setopt($chCURLOPT_RETURNTRANSFER1);
curl_setopt($chCURLOPT_CONNECTTIMEOUT40);
curl_setopt($chCURLOPT_HTTPHEADER, array(
"User-Agent: " $_SERVER["HTTP_USER_AGENT"],
"Accept-Charset: utf-8"));
if($headercurl_setopt($chCURLOPT_HEADER1);
$results curl_exec ($ch);
curl_close ($ch);
return $results;
}

echo 
'<form action="" method="get"><input name="video" size="20" value="'.$_GET['video'].'"> <input type="submit" name="submit" value="Dupe!"></form>';

if(!empty(
$_GET['video'])) {
$u parse_url($_GET['video']);
parse_str($u['query']);

if(!empty($v)) {
$results curl("http://www.youtube.com/v/".$vtrue);
preg_match("#Location: ([^\r]+)#i"$results$match);

$u parse_url($match[1]);
parse_str($u['query']);

$results curl("http://www.youtube.com/get_video?video_id=".$v."&t=".$ttrue);
preg_match("#Location: ([^\r]+)#i"$results$match);

$out2 curl($match[1]);
$fp fopen($v.'.flv',"w+");
fwrite($fp,$out2);
@fclose($fp);

echo '<a href="'.$v.'.flv">Download</a>';
} else echo "<b>This url is not youtube!</b>";
}

?>


ปัจจุบันก็ใช้ในเวลาไฟล์วิดีโอมันใหญ่ และ อยากโหลดเก็บไว้ดู + แจกประชาชี  :D
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: digitroncat ใน 19 ตุลาคม 2008, 16:12:07
ผมถามมั่ง ตามกระทู้นี้เลย
http://www.thaiseoboard.com/index.php/topic,40487.msg533343/topicseen.html#new
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EThaiZone ใน 20 ตุลาคม 2008, 01:22:11
อ้างถึงจาก: digitroncat ใน 19 ตุลาคม 2008, 16:12:07
ผมถามมั่ง ตามกระทู้นี้เลย
http://www.thaiseoboard.com/index.php/topic,40487.msg533343/topicseen.html#new

เอิ้ก ผมไม่สามารถแนะนำได้ มันเยอะ อธิบายยาก

ศึกษาเรื่อง css ดูครับ เพื่อจัดการเพิ่มลงส่วนนั้น  :P
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: ฟาร์มเฮ้า ใน 27 ตุลาคม 2008, 08:56:15
ผมใช้ฟังชั่น eregi แล้วมันมีปัญหากับตัวอักษร 2 ตัวนี้อ่ะครับ ^ กับ $ คือใช้ eregi ว่ามีตัวอักษรต่าง ๆ อยู่ในข้อความหรือป่าว แต่พอเจอ 2 ตัวนี้ eregi จะแจ้งว่ามีตัวอักษรพวกนี้อยู่ในข้อความ ทั้ง ๆ ที่มันไม่มีน่ะครับ ตัวอย่าง code นะครับ


<?php
$text 
"fdsgsdgf";
$vowels = array("~""!""@""#""$""%""^""&""\*""\("")"" ""\+""\|""\ ""="";"":""\"""'"",");

for(
$i=0;$i<sizeof($vowels);$i++){
if(
eregi($vowels[$i],$text)){
echo $i.$vowels[$i]."มีอยู่<br>";
}else{
echo $i.$vowels[$i]."ไม่มีผ่านโลด<br>";
}
}
?>
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: icez ใน 29 ตุลาคม 2008, 12:54:42
สองตัวนี้ต้อง escape ด้วยครับ

ถ้าจะ check แค่นี้ ใช้ strpos ดีกว่า
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: GoogleBot ใน 29 ตุลาคม 2008, 13:58:39
มีใครพอช่วยได้ไหมครับ ตามกระทู้นี้

http://www.thaiseoboard.com/index.php/topic,41628.msg546434/topicseen.html#new

ขอบคุณครับ

เขียนแก้แบบนี้แล้วไม่ได้อ่ะครับ ผิดตรงไหน

<?php
ini_set("memory_limit","400M");
$file = 'sitemap.xml';

$sitemap = file_get_contents($file);

$sitemap = preg_replace("|http://www.1111.com|" , "http://www.222.com" , $sitemap);
$fp = fopen($file , 'w');
fwrite($fp , $sitemap);
fclose($fp);

?>
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: liveadsense ใน 04 พฤศจิกายน 2008, 18:45:07
รบกวนช่วยหน่อยครับ

ถ้า host ไม่ ซัพพอต cron job จะ เขียน สคริป ขึ้นมาเอง ได้มั่ย ที่ จะให้ สคริป รัน ตาม เวลา ที่ต้องการ
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EThaiZone ใน 05 พฤศจิกายน 2008, 14:29:34
อ้างถึงจาก: GoogleBot ใน 29 ตุลาคม 2008, 13:58:39
มีใครพอช่วยได้ไหมครับ ตามกระทู้นี้

http://www.thaiseoboard.com/index.php/topic,41628.msg546434/topicseen.html#new

ขอบคุณครับ

เขียนแก้แบบนี้แล้วไม่ได้อ่ะครับ ผิดตรงไหน

<?php
ini_set("memory_limit","400M");
$file = 'sitemap.xml';

$sitemap = file_get_contents($file);

$sitemap = preg_replace("|http://www.1111.com|" , "http://www.222.com" , $sitemap);
$fp = fopen($file , 'w');
fwrite($fp , $sitemap);
fclose($fp);

?>

<?php
ini_set
("memory_limit","400M");
$file 'sitemap.xml';

$sitemap file_get_contents($file);

$sitemap str_replace("http://www.1111.com" "http://www.222.com" $sitemap);
$fp fopen($file 'w');
fwrite($fp $sitemap);
fclose($fp);

?>


แบบนี้ดีกว่าครับ เพราะแค่แทนค่าเท่านี้ str_replace ทำงานไวกว่าเยอะครับ

จากที่ดู จุดที่น่าจะผิด ก็คือ การใช้ . ใน regex ครับ
เพราะ . ในregex มันหมายถึงตัวอักษรอะไรก็ได้ 1 ตัว

ควรจะเขียนเป็น
|http://www\.1111\.com|

:)
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EThaiZone ใน 05 พฤศจิกายน 2008, 14:37:53
อ้างถึงจาก: liveadsense ใน 04 พฤศจิกายน 2008, 18:45:07
รบกวนช่วยหน่อยครับ

ถ้า host ไม่ ซัพพอต cron job จะ เขียน สคริป ขึ้นมาเอง ได้มั่ย ที่ จะให้ สคริป รัน ตาม เวลา ที่ต้องการ

ตามนี้ แต่ไม่รับประกันว่ากินระบบแค่ไหน และโฮสจะเตะไหม
http://php.deeserver.net/archive/view/30045/

หรือไม่งั้นก็ใช้บริการเสียเงิน
http://www.webcron.org

แต่ทางที่ดีที่สุด ถ้าไม่เปลี่ยนโฮส (โฮสไม่มี cron เป็นผมๆ ไม่ใช้เลย มันควรมีทั้งนั้น)
ก็หาโฮสอื่นที่เป็น unix อาจจะของฟรีที่มี cron
หรือของเพื่อนๆ ที่พอวานได้ ขอฝากยิงมาโฮสเราแทน

:P
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: liveadsense ใน 05 พฤศจิกายน 2008, 14:40:49
อ้างถึงจาก: EThaiZone ใน 05 พฤศจิกายน 2008, 14:37:53
อ้างถึงจาก: liveadsense ใน 04 พฤศจิกายน 2008, 18:45:07
รบกวนช่วยหน่อยครับ

ถ้า host ไม่ ซัพพอต cron job จะ เขียน สคริป ขึ้นมาเอง ได้มั่ย ที่ จะให้ สคริป รัน ตาม เวลา ที่ต้องการ

ตามนี้ แต่ไม่รับประกันว่ากินระบบแค่ไหน และโฮสจะเตะไหม
http://php.deeserver.net/archive/view/30045/

หรือไม่งั้นก็ใช้บริการเสียเงิน
http://www.webcron.org

แต่ทางที่ดีที่สุด ถ้าไม่เปลี่ยนโฮส (โฮสไม่มี cron เป็นผมๆ ไม่ใช้เลย มันควรมีทั้งนั้น)
ก็หาโฮสอื่นที่เป็น unix อาจจะของฟรีที่มี cron
หรือของเพื่อนๆ ที่พอวานได้ ขอฝากยิงมาโฮสเราแทน

:P


ขอบคุณมากครับ ^^
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EThaiZone ใน 25 พฤศจิกายน 2008, 18:37:30
มาอัพเดตหน่อย กลัวกระทู้หมดอายุ

ปัญหาหลายท่านที่มักตกม้าตายกับเรื่อง Register Global OFF
นี้่แทบเป็นกันหลายคน โดยเฉพาะคนที่ยังใช้ php4

จริงๆ ไม่ได้เกี่ยวที่เวอร์ชั่นของ php ที่มันมาจากเมื่อมีการออก php5
ก็ได้มีการปรับ default เป็น OFF เพื่อความปลอดภัย
เพราะถ้าโดนเปิดไว้ และคนแฮกเขาพอเดาแนว Source code
หรือ Code นั้นเป็น Opensource ก็มีโอกาสที่เขาจะแก้ไขตัวแปรบางตัวได้เลย
แต่โอกาสก็น้อยลง ถ้าเป็นโค้ดเขียนเอง

http://www.thaiseoboard.com/index.php/topic,16811.msg219159.html#msg219159

แต่มันจะต่างตรงไหนกัน เพราะเราก็เดาคำที่คนเขียนมักใช้ได้อย่างไม่ยากกันเลย




วันนี้เลยอยากเขียนสักสองเรื่อง

เรื่องแรกคือ การแก้ปัญหาในบางโฮสเมื่อเจอ Register Global OFF
วิธีก็ง่ายแสนง่าย แค่เอาโค้ดนี้ยัดไว้หัวบนก่อนจะมีการทำงาน
foreach($_REQUEST as $key => $var) $$key = $var;
แบบนี้ไม่ต้องสนเลย ว่าได้มีการเปิดปิดไว้หรือไม่

เรื่องที่สอง อยากรณรงค์ให้เขียนรับค่าผ่านทาง $_GET หรือ $_POST
ข้อดี
- มีความปลอดภัยมากกว่า
- สามารถจัดรับข้อมูลได้ถูกต้อง เพราะมีโอกาสที่จะมีการรับค่าทับกันในชื่อเดียวกัน
- โค้ดดูเป็นระบบ เข้าใจง่ายต่อคนอื่นมาดูต่อไป
ส่วนข้อเสียไม่มี

:)
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: au8ust ใน 25 พฤศจิกายน 2008, 21:23:21
ขอถามเรื่องตัวเลขครับ

คือ จะทำ str_replace ตัวเลข ทำใน php ได้ไม่มีปัญหา แต่ไม่รู้ยังไง มันไปอยู่ใน javascript บางส่วน เป็นสคริปต์ yShout น่ะครับ ส่วนของ history ไว้ดูข้อความเก่ามันเป็น php แก้ตามปกติ

$html .= ' <span class="ys-post-timestamp">' . alterNumeric($ts) . '</span> ' . "\n";

แต่ส่วนแสดงผลที่จะเปลี่ยนตัวเลขมันอยู่ใน .js

(this.prefs.timestamp> 0 ? '<span class="ys-post-timestamp">' + time(post.timestamp) + '</span> ' : '') +

กรณีแบบนี้ จะใช้วิธีไหนแก้ตัวเลขครับ? (ex: 1 = ๑)
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: tinnoi ใน 25 พฤศจิกายน 2008, 21:43:46
อ้างถึงจาก: EThaiZone ใน 25 พฤศจิกายน 2008, 18:37:30

วันนี้เลยอยากเขียนสักสองเรื่อง

เรื่องแรกคือ การแก้ปัญหาในบางโฮสเมื่อเจอ Register Global OFF
วิธีก็ง่ายแสนง่าย แค่เอาโค้ดนี้ยัดไว้หัวบนก่อนจะมีการทำงาน
foreach($_REQUEST as $key => $var) $$key = $var;
แบบนี้ไม่ต้องสนเลย ว่าได้มีการเปิดปิดไว้หรือไม่

เรื่องที่สอง อยากรณรงค์ให้เขียนรับค่าผ่านทาง $_GET หรือ $_POST
ข้อดี
- มีความปลอดภัยมากกว่า
- สามารถจัดรับข้อมูลได้ถูกต้อง เพราะมีโอกาสที่จะมีการรับค่าทับกันในชื่อเดียวกัน
- โค้ดดูเป็นระบบ เข้าใจง่ายต่อคนอื่นมาดูต่อไป
ส่วนข้อเสียไม่มี

:)

ขอบคุณมาก ๆ เลยครับ โชคดีจริง ๆ เลยผม ที่คลิกเข้ามาอ่าน
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EThaiZone ใน 26 พฤศจิกายน 2008, 00:52:51
อ้างถึงจาก: au8ust ใน 25 พฤศจิกายน 2008, 21:23:21
ขอถามเรื่องตัวเลขครับ

คือ จะทำ str_replace ตัวเลข ทำใน php ได้ไม่มีปัญหา แต่ไม่รู้ยังไง มันไปอยู่ใน javascript บางส่วน เป็นสคริปต์ yShout น่ะครับ ส่วนของ history ไว้ดูข้อความเก่ามันเป็น php แก้ตามปกติ

$html .= ' <span class="ys-post-timestamp">' . alterNumeric($ts) . '</span> ' . "\n";

แต่ส่วนแสดงผลที่จะเปลี่ยนตัวเลขมันอยู่ใน .js

(this.prefs.timestamp> 0 ? '<span class="ys-post-timestamp">' + time(post.timestamp) + '</span> ' : '') +

กรณีแบบนี้ จะใช้วิธีไหนแก้ตัวเลขครับ? (ex: 1 = ๑)

อ่านแล้วผมไม่ค่อยเก็ทคำถามเลยครับ
แต่สรุปว่าจะแทนที่ตัวเลขจากค่าที่มีการทำงานบน javascript นะครับ

ลองอ่านนี้ดูครับ
http://www.w3schools.com/jsref/jsref_replace.asp

เดาจากตัวอย่าง ก็น่าจะเป็นแบบนี้ครับ

อ้างถึง(this.prefs.timestamp> 0 ? '<span class="ys-post-timestamp">' + time(post.timestamp).replace(/1/, "๑") + '</span> ' : '') +

ก็ลองดูนะครับ ผมไม่เคยใช้ yShout ที่ว่าเลย  :P
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EThaiZone ใน 26 พฤศจิกายน 2008, 01:12:54
อีกตัวอย่าง จากฟังค์ชั่นตัวนี้
http://www.webtoolkit.info/javascript-string-replace.html

จริงๆ ก็คือใช้ split แล้ว join
แต่แน่นอนว่ามันไม่เหมือน str_replace ของ php ตรงมันรองรับ array ไม่ได้ และลำบากที่จะจัดการ
(นึกภาพว่าถ้าแปลงเลข 0 - 9 ก็ต้องยัดสิบครั้ง)

ผมเลยลองทำฟังค์ชั่นใหม่ดู (ไม่น่าจะมีใครทำ)

/**
*
*  Javascript string replace (array version)
*  http://www.ethaizone.com/
*
**/


function str_replace_arr(haystack, needle, replacement) {
for (var i = 0; i < needle.length; i++) {
haystack = haystack.split(needle[i]);
haystack = haystack.join(replacement[i]);
}
return haystack;
}


ตัวอย่างทดลอง (เซฟเป็น html แล้วลองรันดูได้ เพื่อทำความเข้าใจ)

<script>
function str_replace_arr(haystack, needle, replacement) {
for (var i = 0; i < needle.length; i++) {
haystack = haystack.split(needle[i]);
haystack = haystack.join(replacement[i]);
}
return haystack;
}

var tmp = "11/122313/543";

var arr_search = new Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9");
var arr_replace = new Array("๐", "๑", "๒", "๓", "๔", "๕", "๖", "๗", "๘", "๙");

alert(str_replace_arr(tmp, arr_search, arr_replace));
</script>


ถ้าจะเอาไปใช้กับโค้ดคุณ au8ust ก็จะเป็นแบบนี้

อ้างถึง(this.prefs.timestamp> 0 ? '<span class="ys-post-timestamp">' + str_replace_arr(time(post.timestamp), arr_search, arr_replace) + '</span> ' : '') +

โดยอย่าลืมว่า
- ก็อบฟังค์ชั่นมันไปวางด้วย
- อย่าลืมค่า arr_search กับ arr_replace ต้องอยู่ในรูป array ที่จำนวนเท่ากัน

:)
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: siamman ใน 26 พฤศจิกายน 2008, 04:08:09
อ้างถึงจาก: EThaiZone ใน 25 พฤศจิกายน 2008, 18:37:30

วันนี้เลยอยากเขียนสักสองเรื่อง

เรื่องแรกคือ การแก้ปัญหาในบางโฮสเมื่อเจอ Register Global OFF
วิธีก็ง่ายแสนง่าย แค่เอาโค้ดนี้ยัดไว้หัวบนก่อนจะมีการทำงาน
foreach($_REQUEST as $key => $var) $$key = $var;
แบบนี้ไม่ต้องสนเลย ว่าได้มีการเปิดปิดไว้หรือไม่

เรื่องที่สอง อยากรณรงค์ให้เขียนรับค่าผ่านทาง $_GET หรือ $_POST
ข้อดี
- มีความปลอดภัยมากกว่า
- สามารถจัดรับข้อมูลได้ถูกต้อง เพราะมีโอกาสที่จะมีการรับค่าทับกันในชื่อเดียวกัน
- โค้ดดูเป็นระบบ เข้าใจง่ายต่อคนอื่นมาดูต่อไป
ส่วนข้อเสียไม่มี

:)

ขอบคุณครับ หลังจากนี้จะลดการใช้ global ลงเยอะๆ
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: thongseed ใน 26 พฤศจิกายน 2008, 07:58:58
ได้รอยหยักในสมองเพิ่มขี้นเยอะเลยครับ  ::)
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: au8ust ใน 26 พฤศจิกายน 2008, 08:09:20
อ่า... คุณโจ้ครับ










มันแจ๋วจริง ๆ ครับ (http://punlao.com/yshout/smileys/onion/070.gif) (http://punlao.com/yshout/smileys/onion/070.gif) (http://punlao.com/yshout/smileys/onion/070.gif)


ใช้แบบที่สองของคุณโจ้ ได้ผลดีครับ

ขอบคุณมาก ๆ ครับ :)
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: ManyMoney ใน 26 พฤศจิกายน 2008, 13:17:29
เกรงใจนะครับ แต่อยากทราบว่าทำ web อย่างนี้เขียนยังไงครับ
hxxp://glitter.postjung.com/create.php
เค้าใช้scriptอะไรสำเร็จรูปหรือเขียนเองครับ คือ ถ้าทำ gif ด้วยgd phpก็พอทำได้ แต่ไปต่อไม่ถูก
ที่สงสัยคือ

1. การเลือกรูปแบบ โดยการ click ที่รูป เค้าทำยังไง (ปกติใช้เป็นแต่ <input type=> กะ <select> ) อันนี้เค้าเลือกรูปแบบ font รูปแบบani โดยการclick ได้เลย เข้าใจว่าเป็น javascript แต่อยากทราบหลักการส่งค่าไป actionครับ

2. ทำรูปแบบ animation ยังไง เช่น บางรูปแบบ zoomเข้าออก บางแบบ หมุนซ้ายขวา  บางแบบขึ้นๆลงๆ เอาแบบพวกนี้มารวมกับข้อความที่user key input เข้าไปได้ไง?  gd2 มันrotate กลับไปกลับมา แล้วเก็บค่าแสดงตัวอย่างได้ยังไง

3. ทำให้user สามารถ drag gif text animation ย้ายตำแหน่งได้ด้วย เข้าใจว่าทำผ่าน javascriptแล้วส่งค่าx y ไปphp แต่ไม่รู้ว่าทำยัง แต่ที่ไหน referenceไหมครับ?

อยากทำได้บ้าง แต่ไม่รู้จะถามใคร ใครเซียนๆ php+gd2+javascript ช่วยหน่อยครับ
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: au8ust ใน 26 พฤศจิกายน 2008, 16:07:31
@getkey1
เหมือนจะมีคนถามเยอะจนทำเป็น  FAQ ได้เลยนะเนี่ย อิอิ

http://www.thaiseoboard.com/index.php/topic,29611.0.html
http://www.thaiseoboard.com/index.php/topic,40886.0.html
http://www.thaiseoboard.com/index.php/topic,16223.0.html
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EThaiZone ใน 26 พฤศจิกายน 2008, 23:27:34
ที่คุณ getkey1พูดมา คงรวมถึงพวก doll maker หรือ avatar maker ด้วยมั้ง

ลองดูนี้ดูครับ
http://dollmakercode.com/

ตัวอย่าง ไปหาดูที่ thainuke.org ได้เลย
หรือโหลดโมดูลมันมาลองเล่นก็ได้

:)
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: ManyMoney ใน 27 พฤศจิกายน 2008, 07:20:52
ขอบคุณนะครับ แต่ว่า

อ้างถึงจาก: au8ust ใน 26 พฤศจิกายน 2008, 16:07:31
@getkey1
เหมือนจะมีคนถามเยอะจนทำเป็น  FAQ ได้เลยนะเนี่ย อิอิ

http://www.thaiseoboard.com/index.php/topic,29611.0.html
http://www.thaiseoboard.com/index.php/topic,40886.0.html
http://www.thaiseoboard.com/index.php/topic,16223.0.html

ส่วนใหญ่มันเป็นการนำ gif ทีละอักษรมาต่อกันไม่ได้ใช้ phpครับ ที่ใช้phpมันก็ไม่ได้ใช้ gd2 แต่เป็นอย่างอื่น และไม่มีdragableด้วยครับ

อ้างถึงจาก: EThaiZone ใน 26 พฤศจิกายน 2008, 23:27:34
ที่คุณ getkey1พูดมา คงรวมถึงพวก doll maker หรือ avatar maker ด้วยมั้ง

ลองดูนี้ดูครับ
http://dollmakercode.com/

ตัวอย่าง ไปหาดูที่ thainuke.org ได้เลย
หรือโหลดโมดูลมันมาลองเล่นก็ได้

:)

อันนี้ใกล้เคียงมากครับ แต่ผมหาที่ downloadไม่เจอ เหมือนมันให้ใช้ js ผ่านเว็ปมันอีกที ไม่ให้source phpอ่ะครับ ผมอยากได้ที่มัน dragได้แล้วsave เป็น gifหรือ jpgไฟล์เดียวได้เลยอ่ะครับ หามาหายแล้วไม่เจอสักที
ขอบคุณ
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: tinnoi ใน 27 พฤศจิกายน 2008, 18:42:12
ขอบคุณมากครับ เอาไปทำเกมส์ แต่งตัว แบบ true หรือ sanook ได้เลยนะเนี่ย
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EThaiZone ใน 28 พฤศจิกายน 2008, 01:12:02
ตัว source php คงต้องเขียนเองครับ

แต่แน่ๆ ตัวนี้มันเซฟเป็นรูปเดียวได้ ลองไปเล่นที่ thainuke ดูครับ
ถ้าไม่ติดใจว่า php อยากได้บนเซิร์ฟเรา อันนี้ก็เป็นทางเลือกที่ดีเหมือนกัน

:) (ประหยัดเวลาทำเองไปตั้งเยอะ)
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: tinnoi ใน 28 พฤศจิกายน 2008, 10:39:06
ผมอยากเขียน scripts แบบที่คุณ โจ้ เคยทำ ตรง avatar น่ะครับ ที่สามารถ
ไม่ทราบว่าผมเข้าใจรูปแบบถูกรึเปล่านะครับ

1 ถ้าทำการเรียก รูปภาพบน host ของเรา เช่น img src="pic1.jpg"

2 เราจะต้องทำ ไฟล์ .htaccess ให้ทำการตรวจสอบว่า ใครเรียกไฟล์ pic1.jpg มาให้ไปเรียกไฟล์ genpic.php มาแทน

3 แล้วไฟล์ genpic.php ก็ทำการ random รูปขึ้นมาก่อน

4. พอ random รูปได้แล้วก็ใช้คำสั่ง header ส่งเป็นรูปไป

อย่างนี้ทุกครั้งที่เรียก  pic1.jpg เราก็จะได้รูปภาพ random ไปเรื่อย ๆ อย่างนี้ถูกไหมครับ

พอเข้าใจ concept ครับ แต่ ตรงข้อ 4 น่ะครับ นึกไม่ออกว่าเขียนยังไง
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: ball6847 ใน 28 พฤศจิกายน 2008, 10:52:57
แบบนี้ไม่ได้หรอคับ  ???

<?php

// รูปภาพทั้งหมด
$images = array(
'jhg.jpg' ,
'asd.jpg' ,
'qwe.jpg' ,
'hfgh.jpg' 
);

// สุ่มคีย์มา 1
$image $images[array_rand($images)];

// เช็คไฟล์
if(file_exists($image)) {
// ไปที่รูป
header("Location: "$image);
} else {
// ไปหน้า 404
header("Location: 404.php");
}


?>



เอ้อ กำ นึกไปนึกมาจะ redirect ทำมัยหว่า

แก้้ๆๆๆๆ

<?php

// รูปภาพทั้งหมด
$images = array(
'jhg.jpg' ,
'asd.jpg' ,
'qwe.jpg' ,
'hfgh.jpg' 
);

// สุ่มคีย์มา 1
$image $images[array_rand($images)];

// เช็คไฟล์
if(file_exists($image)) {
// แสดงรูป
readfile($image);
} else {
// ไปหน้า 404
header("Location: 404.php");
}


?>


ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: tinnoi ใน 28 พฤศจิกายน 2008, 11:27:03
ขอบคุณ คุณบอล มากครับ

search ไปเรื่อยเจอโค้ดนี้

<?php
// Change the folder name to your one in the line below
$folder "images"
srandtime() );
if (
$directory = @opendir($folder)) {
while ((
$image readdir($directory)) !== false) {
if ( 
eregi'.(jpg|gif)$'$image ) ) { $images[] = $image; }

closedir($directory);
}
$image $images[rand() % sizeof$images )];
if ( 
eregi'.jpg$'$image ) ) {
header"Content-Type: image/jpeg" );
} else {
header"Content-Type: image/gif" );
}
header"Content-Length: " filesize$folder."/".$image ) );
readfile$folder."/".$image );
?>



ใช้ได้เหมือนกัน สำคัญอยู่ที่คำสั่ง header content-type ใช่ไหมครับ


เอ่อ ผมทำตัว .htaccess ที่ทำการ เปลี่ยนทิศทางเวลา คนเรียกไฟล์ pic1.jpg แล้วให้มันไปเรียกไฟล์ randomimage.php หายไปแล้วอ่ะครับ
รบกวน code เป็น guide ให้ผมทีครับ   :-*
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: ball6847 ใน 28 พฤศจิกายน 2008, 11:35:17
อ่าาา น่าจะแบบนี้ป่าววา


RewriteRule pic1\.jpg$ randomimage.php [L]
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: tinnoi ใน 28 พฤศจิกายน 2008, 11:37:43
ขอบคุณมากครับ thanks ครับ

จะบอกว่า ถามไปค้นไป ไปเจอแบบนี้


RewriteEngine on
RewriteRule .(css|js|gif|jpg)$ http://localhost/gen_image/index.php [R,L]
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: ManyMoney ใน 29 พฤศจิกายน 2008, 08:14:14
ขอบคุณนะครับ ผมมีโจทย์ใหม่มาอีกแล้ว

ช่วยหน่อยครับ สมมุตินะครับ

Table ที่ 1
==================================
tb_income

id | user | income | web | baht | product_code
----------------------------------------------------------
1 | frank | adsense | abc.com | 2000 | A
2 | frank | adsense | xyz.com | 5000 | B
3 | frank | amazon | frankastore-21 | 10000 | A
4 | obama | adsense | obama.com | 500000 | C
5 | frank | nipa | aaa.com | 2000 | C
6 | obama | bumq | obama.com | 100 | C
7 | frank | adsense | xxx.com | 50000 | B
8 | frank | amazon | frankshop-21 | 7000 | C
9 | frank | adsense | frank.com | 2000 | D
==================================

Table ที่ 2
==================================
tb_product

product_id | product_type
----------------------------------------------------------
A | Toy
B | Book
C | Electronic
D | Games
==================================

ต้องการให้ Search : frank แล้วแสดงผลเป็น
==================================
----------------------------
adsense
abc.com | 2000 | Toy
xyz.com | 5000 | Book
xxx.com | 50000 | Book
frank.com | 2000 | Games
sum = 59,000
----------------------------
amazon
frankastore-21| 10000 | Toy
frankshop-21| 7000 | Electronic
sum = 17,000
----------------------------
nipa
aaa.com | 2,000 | Games
sum = 2,000
----------------------------
==================================
ต้องเขียนยังไงให้ code ทำงานเร็วที่สุด และ select น้อยครั้งที่สุด  สมมุติว่า tb_income มีเป็นแสนๆid
คือถ้า select adsense ที, amazon ที, nipaที แล้วหาsum แต่ละทีผมก็พอทำได้อยู่ แต่กรณีที่ income มีหลายชนิดกว่าตัวอย่าง เยอะมากๆ แล้วแต่ละ user ก็ไม่ได้มี income เหมือนกันด้วย บางuserอาจไม่มี adsense บาง user อาจไม่มี nipa แล้วincomeก็อาจมีเป็น100เจ้าด้วย จะต้องทำยังไงให้ข้ามการqueryพวกนี้ไป
ผมเข้าใจว่า select ออกมาเก็บใน array แล้วใช้phpคำนวน แสดงผล น่าจะเร็วกว่า แต่ว่างงครับต้องทำไง? ที่ไม่ให้หนักเครื่อง serverมากที่สุด ช่วยหน่อยครับ ไม่ถนัดกับ arrayหลายมิติ (ไม่รู้ว่าเข้าใจถูกไหมว่าออกมาเก็บใน arrayก่อนจะทำให้เร็วกว่า แล้วควรต้องคืนค่าตัวแปรarrayด้วยเปล่า?ทำไงครับ?)
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: ball6847 ใน 29 พฤศจิกายน 2008, 10:38:51
อืมอยากรู้เหมืนกันคับ คนที่เค้าเป็นๆหน่อยเค้าจะแก้โจทย์ยังงัย ผมตายตั้งแต่เห็นโจทย์แระ

ถ้าให้แก้โจทย์ คง query แบบ พื้นฐานๆ แต่เอามาคำนวนด้วย PHP  :P


<?php

// connect db

$sql "SELECT i.income , i.web , i.baht , p.product_type
FROM tb_income AS i , tb_product AS p
WHERE i.product_code = p.product_id
AND i.user='frank' ;"
;

$query mysql_query($sql) or die(mysql_error());
while(
$result mysql_fetch_assoc($query)) {
$user_income[$result['income']][] = array(
'web' => $result['web'] ,
'baht' => $result['baht'] ,
'product_type' => $result['product_type']
);
$user_income[$result['income']]['sum'] += $result['baht'];
}
mysql_free_result($query);
foreach(
$user_income as $type => $data)
ksort($user_income[$type] , SORT_STRING);


print_r($user_income);

?>



Array
(
    [adsense] => Array
        (
            [0] => Array
                (
                    [web] => abc.com
                    [baht] => 2000
                    [product_type] => Toy
                )

            [1] => Array
                (
                    [web] => xyz.com
                    [baht] => 5000
                    [product_type] => Book
                )

            [2] => Array
                (
                    [web] => xxx.com
                    [baht] => 50000
                    [product_type] => Book
                )

            [3] => Array
                (
                    [web] => frank.com
                    [baht] => 2000
                    [product_type] => Game
                )

            [sum] => 59000
        )

    [amazon] => Array
        (
            [0] => Array
                (
                    [web] => frankastore-21
                    [baht] => 10000
                    [product_type] => Toy
                )

            [1] => Array
                (
                    [web] => frankshop-21
                    [baht] => 7000
                    [product_type] => Electronic
                )

            [sum] => 17000
        )

    [nipa] => Array
        (
            [0] => Array
                (
                    [web] => aaa.com
                    [baht] => 2000
                    [product_type] => Electronic
                )

            [sum] => 2000
        )

)



ดิบซะ เหอๆ  :-X

จิงๆน่าจะมีวิธีสั่ง query ที่มัน advanced กว่านี้นะ แต่นึกม่ายนออก เพราะผมก็ม่ายค่อยเป็น  ;D ;D ;D


ปล. obama ทำ bumq  :-X
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EThaiZone ใน 29 พฤศจิกายน 2008, 10:47:49
เห็นโจทย์แล้วอยากก็น่าแฮะ แต่อีกสิบนาทีต้องไปเรียน  :P

จริงๆ ผมไม่แนะนำให้ทำทุกอย่างลง Mysql นะ
เพราะ Mysql เขาออกแบบให้เก็บข้อมูล
ถ้าเราให้มันจัดสรรข้อมูลให้ หรือคำนวณผลหลายๆ อย่าง
แบบนั้นมันจะอืดกว่าเดิม

จริงๆอยู่ว่ามีแนวคิดว่า ทำทุกอย่างให้เสร็จในครั้งเดียว
แต่แนวคิดนี้ผลกลับมาคือ เวลาการทำงานต่อตครั้งมันนานขึ้น

กับแนวคิดอีกแบบ ทำงานตามความสามารถที่เอื้อโดยไม่กินแรงจนเกินไป
ผมว่าแบบนี้ดีกว่า เรื่องเรียกข้อมูลก็ Mysql ไป เรื่องคำนวณก็ PHP ไป

เรื่องแบบนี้จะได้เจอก็ตอนคนเข้าเยอะๆ แหละครับ
เพราะงานทั้งหมดไปอู้ตรง Cache หมดเลย CPU จะวิ่งสูงปรี๊ด

แบบที่คุณ ball6847 บอกมา ผมแนะนำเลย น่าใช้งานมากกว่าครับ

:)
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: ManyMoney ใน 29 พฤศจิกายน 2008, 21:25:44
ขอบคุณคุณ ball6847+EThaiZone มากๆครับ เทพมากๆ
ทดลองrunแล้วได้ผลด้วยครับ

ว่าแต่ผมได้arrayมาแล้ว แต่ใช้ไม่เป็นอะคับ

คือมันเอาไปใช้ทำยังไงเหรอครับ ผมไม่อยากให้มันต้องใช้ print_r
แต่แสดงผลรูปแบบมีข้อความแทรก ประมาณ

========================
รายรับของ frank
จาก adsense
เว็ป abc.com เป็นเงิน 2000 บาท กลุ่ม Toy
เว็ป xyz.com เป็นเงิน 5000 บาท กลุ่ม Book
เว็ป xxx.com เป็นเงิน 50000 บาท กลุ่ม Book
เว็ป frank.com เป็นเงิน 2000 บาท กลุ่ม Games
รายรับรวมจาก adsense 59,000 บาทถ้วน
----------------------------
จาก amazon
เว็ป frankastore-21 เป็นเงิน 10000 บาท กลุ่ม Toy
เว็ป frankshop-21 เป็นเงิน 7000 บาท กลุ่ม Electronic
รายรับรวมจาก amazon 17,000 บาทถ้วน
----------------------------
ต้องเรียกใช้ยังไงเหรอครับ แบบว่างงกับ array จริงๆ มันหลายชั้นจนงง
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EThaiZone ใน 29 พฤศจิกายน 2008, 23:19:13
จากอาเรย์คุณ ball6847 จะได้แบบนี้ครับ

echo 'รายรับของ frank<br/>';
foreach($user_income as $k => $v) {
echo 'จาก '.$k.'<br/>';
foreach($v as $v2) {
if(is_array($v2))
echo 'เว็ป '.$v2['web'].' เป็นเงิน '.number_format($v2['baht']).' บาท กลุ่ม '.$v2['product_type'].'<br/>';
else
echo 'รายรับรวมจาก adsense '.number_format($v2).' บาทถ้วน<br/>----------------------------<br/>';
}
}
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: ManyMoney ใน 01 ธันวาคม 2008, 23:36:51
อ้างถึงจาก: EThaiZone ใน 29 พฤศจิกายน 2008, 23:19:13
จากอาเรย์คุณ ball6847 จะได้แบบนี้ครับ

echo 'รายรับของ frank<br/>';
foreach($user_income as $k => $v) {
echo 'จาก '.$k.'<br/>';
foreach($v as $v2) {
if(is_array($v2))
echo 'เว็ป '.$v2['web'].' เป็นเงิน '.number_format($v2['baht']).' บาท กลุ่ม '.$v2['product_type'].'<br/>';
else
echo 'รายรับรวมจาก adsense '.number_format($v2).' บาทถ้วน<br/>----------------------------<br/>';
}
}


ขอบคุณมากๆครับ เข้าใจ array มากขึ้นแล้ว
งมอยู่นานมึนเลยครับ ขอบคุณอีกที..
ถ้ามีปัญหาที่คิดไม่ออกจริงๆจะมาถามใหม่ครับ..
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: ManyMoney ใน 05 ธันวาคม 2008, 22:29:25
มีโจยท์ใหม่มารบกวนท่านอาจารย์ทั้งหลายอีกแล้วครับ

คือสมมุติว่าผมต้องการ upload text ไฟล์เอาเข้า database เช่น
------------------------------text1.txt-(update 2008-11-03 13:14)------------------------------------
<web>
<domain>google.com</domain>
<update>2008-11-02 21:01</update>
<keyword>search engine,google</keyword>
<pr>1</pr>
</web>
<web>
<domain>yahoo.com</domain>
<update>2008-11-02 11:20</update>
<keyword>directory,search engine,yahoo</keyword>
<pr>8</pr>
</web>
<web>
<domain>live.com</domain>
<update>2008-11-02 10:17</update>
<keyword>live,microsoft,search</keyword>
<pr>2</pr>
</web>
<web>
<domain>nipa.com</domain>
<update>2008-11-01 08:23</update>
<keyword>nipa,ads,thai</keyword>
<pr>10</pr>
</web>
------------------------------------------------------------------------------------------------------------------
ให้เข้า database ชื่อ tb_PRupdate

domain | update | keyword | pr | check | history

google.com | 2008-11-02 21:01 | search engine,google | 1 | 2008-11-03 13:14 | 1
yahoo.com | 2008-11-02 11:20 | directory,search engine,yahoo | 8 | 2008-11-03 13:14 | 1
live.com | 2008-11-02 10:17 | live,microsoft,search | 2 | 2008-11-03 13:14 | 1
nipa.com | 2008-11-01 08:23 | nipa,ads,thai | 10 | 2008-11-03 13:14 | 1

โดยช่อง check คือเวลาของไฟล์ text1.txt คือupload เสร็จแล้วเช็คเวลาของไฟล์มาใส่ในช่อง check ด้วย
ส่วนช่อง history นี้ถ้าเป็น 1 แปลว่าปัจจุบันถ้า 0 เป็นอดีต

แล้วเวลาผ่านไปผม upload ไฟล์ขึ้นไปใหม่ ชื่อ text2.txt แต่ไฟล์นี้ update ตอน 2008-11-05 10:10
โดยข้อมูลในนี้ส่วนใหญ่จะเหมือนกับไฟล์เดิม แต่จะเปลี่ยนแปลงบางอันเท่านั้น
ผมอยากให้มันแสดงได้ว่า อันไหนเปลี่ยนไป และเปลี่ยนไปอย่างไร
เช่น สมมุติว่าข้อมูลtext2.txt มีข้อมูลทุกอย่างเหมือน text1.txt แต่มีอยู่เพียง4อย่างที่ไม่เหมือนกันคือ

1. ไม่มีข้อมูลของ nipa.com แล้ว
2. มีข้อมูลของเว็ป dekads.com เข้ามาแทน โดยข้อมูลจะเป็น
dekads.com | 2008-11-04 18:30 | dekads,ads | 1 | 2008-11-05 10:10
3. ข้อมูลของ google.com เปลี่ยนตรง pr จาก 1 เป็น 10
4. ข้อมูลของ live.com เปลี่ยนตรง update จาก 2008-11-02 10:17 เป็น 2008-11-04 12:06

ผมอยากให้มันเก็บข้อมูลใหม่เป็น

google.com | 2008-11-02 21:01 | search engine,google | 1 | 2008-11-03 13:14 | 0
yahoo.com | 2008-11-02 11:20 | directory,search engine,yahoo | 8 | 2008-11-03 13:14 | 1
live.com | 2008-11-02 10:17 | live,microsoft,search | 2 | 2008-11-03 13:14 | 0
nipa.com | 2008-11-01 08:23 | nipa,ads,thai | 10 | 2008-11-03 13:14 | 0
dekads.com | 2008-11-04 18:30 | dekads,ads | 1 | 2008-11-05 10:10 | 1
google.com | 2008-11-02 21:01 | search engine,google | 10 | 2008-11-05 10:10 | 1
live.com | 2008-11-04 12:06 | live,microsoft,search | 2 | 2008-11-05 10:10 | 1

ต้องทำยังไงให้มันทำงานได้เร็วสุดครับ สมมุติไฟล์ text.txt มีข้อมูลเว็ปอยู่ 200,000 เว็ป
ป.ล. โจทย์ยากไปไหมครับ?
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: vidsava ใน 06 ธันวาคม 2008, 20:48:03
ยังงงๆอยู่ ลองแล้วมันไม่ได้ รอท่านอื่นมาช่วยแล้วกันนะครับ  :-X
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: Blue-WaterSilver ใน 06 ธันวาคม 2008, 21:13:52
เข้ามาเก็บความรู้จ้า
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: ManyMoney ใน 07 ธันวาคม 2008, 00:51:38
สงสัยจะยากไป.. :P
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: Nicky ใน 07 ธันวาคม 2008, 00:59:58
เข้ามาเก็บเหมือนกันคับ
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EThaiZone ใน 07 ธันวาคม 2008, 01:14:31
อ้างถึงจาก: getkey1 ใน 07 ธันวาคม 2008, 00:51:38
สงสัยจะยากไป.. :P

แบบว่ามือขวาผมเดี้ยงอะ (กระดูกแตก)
เลยไม่อยากตอบกระทู้ครับ พักนี้แทบไม่อยู่หน้าคอมด้วยซ้ำ

ที่สำคัญกว่าคืออย่าถามแบบยาวรวดเหมือนสั่งได้ดั่งใจสิครับ
ที่ท่านอื่นไม่มาช่วยตอบก็ไม่ใช่ว่าโจทย์ยากหรอก
แต่มันเยอะเกินไป

ส่วนผมจากโจทย์แนะนำได้แค่ว่า อย่าใช้ฟิลด์ history เพราะถ้าต้องตรวจทุกครั้ง
ก็ต้องอัพเดตเรคคอร์ทเก่าเป็น 0 เรื่อยๆ
แนะนำใช้การเรียกจากชื่อโดเมน แล้วเีรียง desc ตาม primary key (auto number) ดึงอันล่าสุด

ที่เหลือรอท่านอื่นละกัน มือซ้ายผมมือเดียวพิมพ์ไม่ไหว = ="
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: au8ust ใน 07 ธันวาคม 2008, 10:20:32
หายไว ๆ นะครับคุณโจ้
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: xmen256k ใน 07 ธันวาคม 2008, 12:39:41
อ้างถึงจาก: EThaiZone ใน 07 ธันวาคม 2008, 01:14:31
อ้างถึงจาก: getkey1 ใน 07 ธันวาคม 2008, 00:51:38
สงสัยจะยากไป.. :P

แบบว่ามือขวาผมเดี้ยงอะ (กระดูกแตก)
เลยไม่อยากตอบกระทู้ครับ พักนี้แทบไม่อยู่หน้าคอมด้วยซ้ำ

ที่สำคัญกว่าคืออย่าถามแบบยาวรวดเหมือนสั่งได้ดั่งใจสิครับ
ที่ท่านอื่นไม่มาช่วยตอบก็ไม่ใช่ว่าโจทย์ยากหรอก
แต่มันเยอะเกินไป

ส่วนผมจากโจทย์แนะนำได้แค่ว่า อย่าใช้ฟิลด์ history เพราะถ้าต้องตรวจทุกครั้ง
ก็ต้องอัพเดตเรคคอร์ทเก่าเป็น 0 เรื่อยๆ
แนะนำใช้การเรียกจากชื่อโดเมน แล้วเีรียง desc ตาม primary key (auto number) ดึงอันล่าสุด

ที่เหลือรอท่านอื่นละกัน มือซ้ายผมมือเดียวพิมพ์ไม่ไหว = ="

ขอให้หายไวๆนะครับ แล้วก็ขอบคุณมากนะครับที่ช่วยมาตอบกระทู้(เกรงใจจัง แหะๆ)
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: ManyMoney ใน 08 ธันวาคม 2008, 14:49:24
อ้างถึงจาก: EThaiZone ใน 07 ธันวาคม 2008, 01:14:31
อ้างถึงจาก: getkey1 ใน 07 ธันวาคม 2008, 00:51:38
สงสัยจะยากไป.. :P

แบบว่ามือขวาผมเดี้ยงอะ (กระดูกแตก)
เลยไม่อยากตอบกระทู้ครับ พักนี้แทบไม่อยู่หน้าคอมด้วยซ้ำ

ที่สำคัญกว่าคืออย่าถามแบบยาวรวดเหมือนสั่งได้ดั่งใจสิครับ
ที่ท่านอื่นไม่มาช่วยตอบก็ไม่ใช่ว่าโจทย์ยากหรอก
แต่มันเยอะเกินไป

ส่วนผมจากโจทย์แนะนำได้แค่ว่า อย่าใช้ฟิลด์ history เพราะถ้าต้องตรวจทุกครั้ง
ก็ต้องอัพเดตเรคคอร์ทเก่าเป็น 0 เรื่อยๆ
แนะนำใช้การเรียกจากชื่อโดเมน แล้วเีรียง desc ตาม primary key (auto number) ดึงอันล่าสุด

ที่เหลือรอท่านอื่นละกัน มือซ้ายผมมือเดียวพิมพ์ไม่ไหว = ="
ขอบคุณมากครับ ขนาดมือหักยังอุตสาห์มาช่วยตอบอีกครับ ยังไงก็ขอให้หายไว้ๆนะครับ


รบกวนเซียนท่านอื่นๆช่วยต่อให้ด้วยครับ คือผมอยากให้มันสรุปแสดงเป็นreportได้ด้วยอ่ะครับ ว่า
ไฟล์ text ที่เพิ่มเข้ามาใหม่มัน มีเปลี่ยนแปลงกี่อัน อะไรบ้าง เช่น

----------------------------------

เพิ่มใหม่ 1 จุด
1. dekads.com

ลบไป 1 จุด
1. nipa.com

เปลี่ยนแปลง 2 จุด
1. google.com pr  1-> 10
2. live update 2008-11-02 10:17 -> 2008-11-04 12:06

----------------------------------
คือถ้าไม่ใส่ history แบบที่คุณ Ethaizone แนะนำ ผมยังนึกไม่ออกว่ามันจะให้แสดงรายงานการเปลี่ยนแปลงยังไง? มีทางไหนบ้างครับ ช่วยด้วยครับ ขอบคุณครับ
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: ManyMoney ใน 09 ธันวาคม 2008, 18:51:12
ขออนุญาติดันครับ เพราะงงจริงๆ
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: kudjung ใน 10 ธันวาคม 2008, 13:39:57
สอบถามครับพอดีโหลด

Google Search Engine Script v1.3.1
Copyright (c) 2003 WWW Search Solutions. All Rights Reserved.

Google Search Engine Script is protected by USA and International
copyright laws. Unauthorized use or distribution of the Google
Search Engine Script is strictly prohibited, and violators will be
prosecuted.

Website : http://www.wwwsearchsolutions.com/

จากในบอร์ดนี้ไปครับ เอาไปทดลองในเครื่องก็ทำงานได้ดีครับ แต่พอเอาขึ้น server ของ hostgator กับ hostmonster
ปรากฎว่า script ไม่ทำงานครับ พอใส่คำค้นหาแล้วก็กดค้นหาปรากฎว่า หน้าขาวไปเลย
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EixQzUnG ใน 10 ธันวาคม 2008, 14:59:29
อ้างถึง<input name="UserName" type="text" id="UserName" value="" />
<div id=result> </div>

ถ้าจะทำ from  รับ username แล้ว พิมพ์ไปให้ทำการ เช็ค จากไฟล์ chk_username.php แล้ว นำ กลับ มาแสดง ผล 

<div id=result> </div>  แบบ ajax อะครับ


จะเขียนยังไงดีครับ อยากได้แบบ jquery เขียน java อะไรไม่เป็น เลย  :P :P :P
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: zo501 ใน 15 ธันวาคม 2008, 17:24:17
รบกวนถามนิดครับ

คือว่าไปอ่านไฟล์ ที่เข้ารหัส windows-874 อะครับ แล้วตัวอักษรเป็นประมาณ =CA=CD=CA=CD=BA=A1=D2=C3=CA=E8=A7

จะมี function อะไรไหมครับ ให้สามารถ convert ไปเป็น utf-8 อะครับ
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EThaiZone ใน 15 ธันวาคม 2008, 17:35:19
อ้างถึงจาก: zo501 ใน 15 ธันวาคม 2008, 17:24:17
รบกวนถามนิดครับ

คือว่าไปอ่านไฟล์ ที่เข้ารหัส windows-874 อะครับ แล้วตัวอักษรเป็นประมาณ =CA=CD=CA=CD=BA=A1=D2=C3=CA=E8=A7

จะมี function อะไรไหมครับ ให้สามารถ convert ไปเป็น utf-8 อะครับ

หาใน php room ในลายเซ็นต์ผม มีบอกไว้ครับ
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: kudjung ใน 15 ธันวาคม 2008, 17:42:00
อ้างถึงจาก: kudjung ใน 10 ธันวาคม 2008, 13:39:57
สอบถามครับพอดีโหลด

Google Search Engine Script v1.3.1
Copyright (c) 2003 WWW Search Solutions. All Rights Reserved.

Google Search Engine Script is protected by USA and International
copyright laws. Unauthorized use or distribution of the Google
Search Engine Script is strictly prohibited, and violators will be
prosecuted.

Website : http://www.wwwsearchsolutions.com/

จากในบอร์ดนี้ไปครับ เอาไปทดลองในเครื่องก็ทำงานได้ดีครับ แต่พอเอาขึ้น server ของ hostgator กับ hostmonster
ปรากฎว่า script ไม่ทำงานครับ พอใส่คำค้นหาแล้วก็กดค้นหาปรากฎว่า หน้าขาวไปเลย

เออ เจอปัญหาแล้ว function มันซ้ำกับ php v.5 แค่่แก้ไม่ให้มันตรงก็ทำงานแล้ว ก่าๆ (ถามเองตอบเอง)
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: zo501 ใน 15 ธันวาคม 2008, 17:46:50
อ้างถึงจาก: EThaiZone ใน 15 ธันวาคม 2008, 17:35:19
อ้างถึงจาก: zo501 ใน 15 ธันวาคม 2008, 17:24:17
รบกวนถามนิดครับ

คือว่าไปอ่านไฟล์ ที่เข้ารหัส windows-874 อะครับ แล้วตัวอักษรเป็นประมาณ =CA=CD=CA=CD=BA=A1=D2=C3=CA=E8=A7

จะมี function อะไรไหมครับ ให้สามารถ convert ไปเป็น utf-8 อะครับ

หาใน php room ในลายเซ็นต์ผม มีบอกไว้ครับ

ขอบคุณครับ แต่ว่ามัน convert ไม่ได้อะครับ  :P
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EThaiZone ใน 15 ธันวาคม 2008, 17:54:26
อ้างถึงจาก: zo501 ใน 15 ธันวาคม 2008, 17:46:50
อ้างถึงจาก: EThaiZone ใน 15 ธันวาคม 2008, 17:35:19
อ้างถึงจาก: zo501 ใน 15 ธันวาคม 2008, 17:24:17
รบกวนถามนิดครับ

คือว่าไปอ่านไฟล์ ที่เข้ารหัส windows-874 อะครับ แล้วตัวอักษรเป็นประมาณ =CA=CD=CA=CD=BA=A1=D2=C3=CA=E8=A7

จะมี function อะไรไหมครับ ให้สามารถ convert ไปเป็น utf-8 อะครับ

หาใน php room ในลายเซ็นต์ผม มีบอกไว้ครับ

ขอบคุณครับ แต่ว่ามัน convert ไม่ได้อะครับ  :P

อย่าเอาไปใช้ดิบๆ สิครับ input ไม่ถูก ฟังค์ชั่นก็ไม่ทำงานหรอกครับ

$str = "=CA=CD=CA=CD=BA=A1=D2=C3=CA=E8=A7";

$arr = explode(" ", trim(str_replace("=", " ", $str)));
foreach($arr as $var) $new_str .= chr(hexdec($var));

function ThaiToUTF8($in) {
for ($i = 0; $i < strlen($in); $i++)
$out .= ord($in[$i]) <= 126 ? $in[$i] : "&#" . (ord($in[$i]) - 161 + 3585) . ";";
return $out;
}

echo ThaiToUTF8($new_str);
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: zo501 ใน 15 ธันวาคม 2008, 18:18:48
อ้างถึงจาก: EThaiZone ใน 15 ธันวาคม 2008, 17:54:26
อ้างถึงจาก: zo501 ใน 15 ธันวาคม 2008, 17:46:50
อ้างถึงจาก: EThaiZone ใน 15 ธันวาคม 2008, 17:35:19
อ้างถึงจาก: zo501 ใน 15 ธันวาคม 2008, 17:24:17
รบกวนถามนิดครับ

คือว่าไปอ่านไฟล์ ที่เข้ารหัส windows-874 อะครับ แล้วตัวอักษรเป็นประมาณ =CA=CD=CA=CD=BA=A1=D2=C3=CA=E8=A7

จะมี function อะไรไหมครับ ให้สามารถ convert ไปเป็น utf-8 อะครับ

หาใน php room ในลายเซ็นต์ผม มีบอกไว้ครับ

ขอบคุณครับ แต่ว่ามัน convert ไม่ได้อะครับ  :P

อย่าเอาไปใช้ดิบๆ สิครับ input ไม่ถูก ฟังค์ชั่นก็ไม่ทำงานหรอกครับ

$str = "=CA=CD=CA=CD=BA=A1=D2=C3=CA=E8=A7";

$arr = explode(" ", trim(str_replace("=", " ", $str)));
foreach($arr as $var) $new_str .= chr(hexdec($var));

function ThaiToUTF8($in) {
for ($i = 0; $i < strlen($in); $i++)
$out .= ord($in[$i]) <= 126 ? $in[$i] : "&#" . (ord($in[$i]) - 161 + 3585) . ";";
return $out;
}

echo ThaiToUTF8($new_str);


สุดยอดเลยครับ เทพจิงๆ ผมนั้นงมมาหลายชม. แล้ว จนตัดสินใจมาถามเผื่อมีใครช่วยได้

ขอบคุณมากๆเลยครับ  :-* :-*

+1
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: zo501 ใน 15 ธันวาคม 2008, 22:00:54
อ้างถึงจาก: zo501 ใน 15 ธันวาคม 2008, 18:18:48
อ้างถึงจาก: EThaiZone ใน 15 ธันวาคม 2008, 17:54:26
อ้างถึงจาก: zo501 ใน 15 ธันวาคม 2008, 17:46:50
อ้างถึงจาก: EThaiZone ใน 15 ธันวาคม 2008, 17:35:19
อ้างถึงจาก: zo501 ใน 15 ธันวาคม 2008, 17:24:17
รบกวนถามนิดครับ

คือว่าไปอ่านไฟล์ ที่เข้ารหัส windows-874 อะครับ แล้วตัวอักษรเป็นประมาณ =CA=CD=CA=CD=BA=A1=D2=C3=CA=E8=A7

จะมี function อะไรไหมครับ ให้สามารถ convert ไปเป็น utf-8 อะครับ

หาใน php room ในลายเซ็นต์ผม มีบอกไว้ครับ

ขอบคุณครับ แต่ว่ามัน convert ไม่ได้อะครับ  :P

อย่าเอาไปใช้ดิบๆ สิครับ input ไม่ถูก ฟังค์ชั่นก็ไม่ทำงานหรอกครับ

$str = "=CA=CD=CA=CD=BA=A1=D2=C3=CA=E8=A7";

$arr = explode(" ", trim(str_replace("=", " ", $str)));
foreach($arr as $var) $new_str .= chr(hexdec($var));

function ThaiToUTF8($in) {
for ($i = 0; $i < strlen($in); $i++)
$out .= ord($in[$i]) <= 126 ? $in[$i] : "&#" . (ord($in[$i]) - 161 + 3585) . ";";
return $out;
}

echo ThaiToUTF8($new_str);


สุดยอดเลยครับ เทพจิงๆ ผมนั้นงมมาหลายชม. แล้ว จนตัดสินใจมาถามเผื่อมีใครช่วยได้

ขอบคุณมากๆเลยครับ  :-* :-*

+1

รบกวนอีกนิดครับท่าน คือว่าถ้ามันมี tag html อยู่ด้วยนี้จะทำไงได้บ้างอะครับ  อย่างเช่นข้างล่างอะครับ

<p class=3DMsoNormal><span lang=3DTH =style=3D\'font-size:14.0pt;font-family:"Cordia =New","sans-serif"\'>=B7=B4=CA=CD=BA=BA=BA<o:p></o:p></span></p>

ขอบคุณคร๊าบบบ
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EThaiZone ใน 15 ธันวาคม 2008, 22:06:38
ู^
^
ก็ต้องใช้ strip_tags เพื่อลบแท็กออกก่อนครับ
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: zo501 ใน 15 ธันวาคม 2008, 22:19:46
อ้างถึงจาก: EThaiZone ใน 15 ธันวาคม 2008, 22:06:38
ู^
^
ก็ต้องใช้ strip_tags เพื่อลบแท็กออกก่อนครับ

ขอบคุณครับ
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: Casanova ใน 17 ธันวาคม 2008, 17:40:03
ขอถามคุณ EThaiZone และทุกท่านนะครับ

คือผมต้องการดึงข้อมูลจาก db มาแสดงผลแบบเดียวกับโค้ด Page Navigator Likes Google ของคุณ EThaiZone

http://www.thaiseoboard.com/index.php/topic,23894.0.html

โดยให้เร็คคอดที่ผมเลือกอยู่ตรงกลางเสมอ เช่น


--id-- -- name --
1aa
2ax
5ab
8aa
9ax
10ab
11aa
13ax
15ab

ถ้า select * where id=8 มา ผมต้องการให้ดึงเร็คคอดก่อนหน้าและหลังอย่างละ 2

จะออกมาเป็น 2 5 8 9 10

แต่ถ้าเลือก id=2 ก็แสดงเป็น 1 2 3 8 9

แบบเดียวกับ Page Navigator Likes Google ของคุณ EThaiZone เลยครับ

จะเขียนโค้ดแบบไหนเหรอครับ รบกวนด้วยครับ :-*
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: sutenm ใน 20 ธันวาคม 2008, 22:49:48
มีวิธีไหนบ้างนะครับที่กัน Brute Force แบบง่ายๆ บ้างครับ
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EThaiZone ใน 21 ธันวาคม 2008, 16:56:58
อยากตอบในคุณ Casanova เหมือนกัน
แต่ผมไม่โปรด้าน SQL มาก (ไม่ได้ใช้บ่อย)
:P

อ้างถึงจาก: sutenm ใน 20 ธันวาคม 2008, 22:49:48
มีวิธีไหนบ้างนะครับที่กัน Brute Force แบบง่ายๆ บ้างครับ

ส่วนมากที่กัน ก็ง่ายสุดคือนับ Delay ครับ

เช่น อย่างการ Login ปกติ ยังไงก็ต้องเสียเวลาพิมพ์ใช่ปะครับ
ถ้าผิดปกติ ก็แบนทิ้งเลย

หรือง่ายกว่านั้น ก็เช่น ล็อกอินไม่ได้เกิน x ครั้ง ก็บล็อกไปเ้ลย
ทั้งหมดนี้ อ้างอิงที่ ip นะครับ

:)
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: lowprofile ใน 21 ธันวาคม 2008, 17:29:17
แนะนำให้ใช้ Delay ครับ เพราะง่ายสุดๆ แล้ว

อ้างถึง<?php
sleep(0.5);
?>
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: sutenm ใน 21 ธันวาคม 2008, 18:26:55
อ่าใช่เลย ..  ;D
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: dkmrl ใน 21 ธันวาคม 2008, 18:57:05
รบกวนหน่อยครับ
ถ้าผมเรียกข้อมูลจาก mysql มาแสดง(ข้อมูลเป็นตัวเลข)
แต่อยากให้มันแสดงเป็นตัวคำอื่นแทน
เช่น
ถ้าเป็นเลข1 ก็เปลี่ยนเป็นคำว่า ล้อ
เลข2 ก็เปลี่ยนเป็นคำว่า ยาง
คือ ตัวเลขมีหลายรายการมากๆเลยครับ ทำยังไงอ่ะครับ :-X
แบบว่าผมมือใหม่จริงๆครับ รบกวนด้วยนะครับ :P
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: kudjung ใน 22 ธันวาคม 2008, 02:03:47
อ้างถึงจาก: dkmrl ใน 21 ธันวาคม 2008, 18:57:05
รบกวนหน่อยครับ
ถ้าผมเรียกข้อมูลจาก mysql มาแสดง(ข้อมูลเป็นตัวเลข)
แต่อยากให้มันแสดงเป็นตัวคำอื่นแทน
เช่น
ถ้าเป็นเลข1 ก็เปลี่ยนเป็นคำว่า ล้อ
เลข2 ก็เปลี่ยนเป็นคำว่า ยาง
คือ ตัวเลขมีหลายรายการมากๆเลยครับ ทำยังไงอ่ะครับ :-X
แบบว่าผมมือใหม่จริงๆครับ รบกวนด้วยนะครับ :P

เออส่วนที่ต้องการเปลี่ยนนี่ นำมาจากฐานข้อมูลด้วยไหมครับ (ล้อ,ยาง)
ถ้าไม่ใช่ก็คงต้องใช้ PHP ตรวจสอบแล้วแสดงผลเอาครับ
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: kudjung ใน 22 ธันวาคม 2008, 02:16:10
ติดปัญหาของ FCKeditor (version 2.6.3 Build 19836) ผมใช้ Hostgator ครับพอดีมันแจ้งตอนที่จะ Browse Server เพื่อจะเข้าไปในส่วนของ Filemanager

Forbidden

You don't have permission to access /FCKeditor/editor/filemanager/browser/default/browser.html on this server.

ผมก็เข้าไปแก้ permission ให้เป็น 755 ก็แล้ว 777 ก็แล้วก็ยังขึ้นเหมือนเดิม
ผมลองเข้าไปดู URL

http://www.xxxx.com/FCKeditor/editor/filemanager/browser/default/browser.html?Type=Image&Connector=http%3A%2F%2Fwww.xxxx.com%2FFCKeditor%2Feditor%2Ffilemanager%2Fconnectors%2Fphp%2Fconnector.php

แบบนี้จะขึ้น Forbidden แต่ถ้าเอาค่าที่อยู่หลัง Connector= ออกกลับแสดงผลได้ครับ

http://www.xxxx.com/FCKeditor/editor/filemanager/browser/default/browser.html?Type=Image&Connector=

ใครเคยเจอปัญหานี้บ้างครับหรือเป็นการป้องกันของ Server เอง
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: ManyMoney ใน 22 ธันวาคม 2008, 10:12:22
ขอถามครับ
ใช้คำสั่ง mysql ยังไงให้มันสามารถแสดงข้อมูลที่มีค่าซ้ำกันได้ครับเช่น

id phone
-------------
1 0891234567
2 0898765432
3 0895555555
4 0891234567
5 0898888888
6 0898765432

จะเห็นว่า id 1 และ id 4 ค่า phone ซ้ำกัน
และ id 2 และ 6 ค่าphone ก็ซ้ำกันครับ

ต้อง select ยังไงครับ? ขอบคุณมาก
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: SvZ ใน 22 ธันวาคม 2008, 10:52:36
อ้างถึงจาก: zo501 ใน 15 ธันวาคม 2008, 17:24:17
รบกวนถามนิดครับ

คือว่าไปอ่านไฟล์ ที่เข้ารหัส windows-874 อะครับ แล้วตัวอักษรเป็นประมาณ =CA=CD=CA=CD=BA=A1=D2=C3=CA=E8=A7

จะมี function อะไรไหมครับ ให้สามารถ convert ไปเป็น utf-8 อะครับ
<?php echo iconv('windows-874', 'utf-8', 'ข้อมูลของเธอ'); ?>
http://php.net/iconv
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: kudjung ใน 22 ธันวาคม 2008, 11:12:12
อ้างถึงจาก: getkey1 ใน 22 ธันวาคม 2008, 10:12:22
ขอถามครับ
ใช้คำสั่ง mysql ยังไงให้มันสามารถแสดงข้อมูลที่มีค่าซ้ำกันได้ครับเช่น

id phone
-------------
1 0891234567
2 0898765432
3 0895555555
4 0891234567
5 0898888888
6 0898765432

จะเห็นว่า id 1 และ id 4 ค่า phone ซ้ำกัน
และ id 2 และ 6 ค่าphone ก็ซ้ำกันครับ

ต้อง select ยังไงครับ? ขอบคุณมาก

แบบนี้หรืือเปล่าครับ แสดงเฉพาะข้อมูลที่ซ้ำกัน

SELECT phone, COUNT( * ) AS duplicate
FROM test
GROUP BY phone
HAVING duplicate >1
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: dkmrl ใน 22 ธันวาคม 2008, 12:48:37
อ้างถึงจาก: kudjung ใน 22 ธันวาคม 2008, 02:03:47
อ้างถึงจาก: dkmrl ใน 21 ธันวาคม 2008, 18:57:05
รบกวนหน่อยครับ
ถ้าผมเรียกข้อมูลจาก mysql มาแสดง(ข้อมูลเป็นตัวเลข)
แต่อยากให้มันแสดงเป็นตัวคำอื่นแทน
เช่น
ถ้าเป็นเลข1 ก็เปลี่ยนเป็นคำว่า ล้อ
เลข2 ก็เปลี่ยนเป็นคำว่า ยาง
คือ ตัวเลขมีหลายรายการมากๆเลยครับ ทำยังไงอ่ะครับ :-X
แบบว่าผมมือใหม่จริงๆครับ รบกวนด้วยนะครับ :P

เออส่วนที่ต้องการเปลี่ยนนี่ นำมาจากฐานข้อมูลด้วยไหมครับ (ล้อ,ยาง)
ถ้าไม่ใช่ก็คงต้องใช้ PHP ตรวจสอบแล้วแสดงผลเอาครับ
ส่วนที่จะเปลี่ยนไม่ได้อยู่ในฐานข้อมูลครับ
แล้วตรวจสอบแล้วแสดงผลนี่ ต้องทำยังไงเหรอครับ
เจอแบบคุ้นๆมาก็คือ(เข้าใจว่าอยู่ในรูปของ array แต่ผมไม่เข้าใจเรื่องการนำ array ไปใช้เลยครับ :-Xแบบว่ามือใหม่สุดๆ)
1=>'ล้อ'
2=>'ยาง'
แค่คือ จะนำไปใช้ได้ยังไงครับ ให้เวลาดึงข้อมูลที่เป็นตัวเลขมาจากฐานข้อมูลแล้วแสดงผลตามที่เขียนใว้ข้างบนอ่ะครับ
รบกวนด้วยนะครับ
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: kudjung ใน 22 ธันวาคม 2008, 13:12:27
อ้างถึงจาก: dkmrl ใน 22 ธันวาคม 2008, 12:48:37
อ้างถึงจาก: kudjung ใน 22 ธันวาคม 2008, 02:03:47
อ้างถึงจาก: dkmrl ใน 21 ธันวาคม 2008, 18:57:05
รบกวนหน่อยครับ
ถ้าผมเรียกข้อมูลจาก mysql มาแสดง(ข้อมูลเป็นตัวเลข)
แต่อยากให้มันแสดงเป็นตัวคำอื่นแทน
เช่น
ถ้าเป็นเลข1 ก็เปลี่ยนเป็นคำว่า ล้อ
เลข2 ก็เปลี่ยนเป็นคำว่า ยาง
คือ ตัวเลขมีหลายรายการมากๆเลยครับ ทำยังไงอ่ะครับ :-X
แบบว่าผมมือใหม่จริงๆครับ รบกวนด้วยนะครับ :P

เออส่วนที่ต้องการเปลี่ยนนี่ นำมาจากฐานข้อมูลด้วยไหมครับ (ล้อ,ยาง)
ถ้าไม่ใช่ก็คงต้องใช้ PHP ตรวจสอบแล้วแสดงผลเอาครับ
ส่วนที่จะเปลี่ยนไม่ได้อยู่ในฐานข้อมูลครับ
แล้วตรวจสอบแล้วแสดงผลนี่ ต้องทำยังไงเหรอครับ
เจอแบบคุ้นๆมาก็คือ(เข้าใจว่าอยู่ในรูปของ array แต่ผมไม่เข้าใจเรื่องการนำ array ไปใช้เลยครับ :-Xแบบว่ามือใหม่สุดๆ)
1=>'ล้อ'
2=>'ยาง'
แค่คือ จะนำไปใช้ได้ยังไงครับ ให้เวลาดึงข้อมูลที่เป็นตัวเลขมาจากฐานข้อมูลแล้วแสดงผลตามที่เขียนใว้ข้างบนอ่ะครับ
รบกวนด้วยนะครับ


เข้าไปลองเข้าไปอ่านที่

http://www.webthaidd.com/php/article.php?id=76

ผมยกตัวอย่างเป็น Array 1 มิตินะครับ

$report=array ("","ล้อ","ยาง","เครื่องยนต์");

จากตัวอย่างเราจะมีตัวแปร $report ที่มีสมาชิกทั้งหมด 4 ตัว การเข้าถึงสมาชิกในตัวเราจะอ้างถึงตำแหน่ง index ของตัวแปร
ซึ่งตำแหน่งจะเริ่มต้นที่ 0 เช่น
echo $report[0]; # ที่ได้คือค่าว่าง
echo $report[1]; # ที่ได้คือ ล้อ
echo $report[2]; # ที่ได้คือ ยาง
echo $report[3]; # ที่ได้คือ เครื่องยนต์

ดังนั้นถ้าต้องการนำค่าจากฐานข้อมูลลงมาเทียบเราก็ให้เทียบกับตำแหน่ง index ของ array

ก็จะออกมาแนวๆนี้

echo $report[$_row["ชื่อฟิลด์"]];

:) :)
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: ManyMoney ใน 23 ธันวาคม 2008, 01:58:20
อ้างถึงจาก: kudjung ใน 22 ธันวาคม 2008, 11:12:12
อ้างถึงจาก: getkey1 ใน 22 ธันวาคม 2008, 10:12:22
ขอถามครับ
ใช้คำสั่ง mysql ยังไงให้มันสามารถแสดงข้อมูลที่มีค่าซ้ำกันได้ครับเช่น

id phone
-------------
1 0891234567
2 0898765432
3 0895555555
4 0891234567
5 0898888888
6 0898765432

จะเห็นว่า id 1 และ id 4 ค่า phone ซ้ำกัน
และ id 2 และ 6 ค่าphone ก็ซ้ำกันครับ

ต้อง select ยังไงครับ? ขอบคุณมาก

แบบนี้หรืือเปล่าครับ แสดงเฉพาะข้อมูลที่ซ้ำกัน

SELECT phone, COUNT( * ) AS duplicate
FROM test
GROUP BY phone
HAVING duplicate >1


ได้แล้วครับ ขอบคุณมาก
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: ManyMoney ใน 23 ธันวาคม 2008, 08:40:12
ขออนุญาติดันครับ
แล้วถ้าผม จะเพิ่ม city กับ work เข้าไปเป็น

id phone             city       work
-------------
1 0891234567   10110     a
2 0898765432   10200     b
3 0895555555   10170     a
4 0891234567   10200     a
5 0898888888   10110     d
6 0898765432   10200     a
7 0895555555   10170     a

อยากให้มันหาค่าphoneที่ซ้ำ และค่า city ตรงกันเอง แต่ work ไม่เท่ากัน จะต้องใส่ where ตรงไหน ยังไงอ่ะครับ?งง
อยากให้ออกมาเป็น
เช่น
id1 กับ id4 ค่า city ไม่ตรงกันแต่workตรงกัน ใช่ไม่ได้
id 3 กับ 7 ค่า cityและwork  ตรงกัน ใช้ไม่ได้
id2 กับ 6 ค่า city ตรงกัน workไม่ตรงกัน ใช้ได้ถูกต้อง**** อยากselect ตัวนี้เครับ

รบกวนด้วยครับ ขอบคุณมากครับ
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: awat ใน 23 ธันวาคม 2008, 09:55:40
อ้างถึงจาก: Casanova ใน 17 ธันวาคม 2008, 17:40:03
ขอถามคุณ EThaiZone และทุกท่านนะครับ

คือผมต้องการดึงข้อมูลจาก db มาแสดงผลแบบเดียวกับโค้ด Page Navigator Likes Google ของคุณ EThaiZone

http://www.thaiseoboard.com/index.php/topic,23894.0.html

โดยให้เร็คคอดที่ผมเลือกอยู่ตรงกลางเสมอ เช่น


--id-- -- name --
1aa
2ax
5ab
8aa
9ax
10ab
11aa
13ax
15ab

ถ้า select * where id=8 มา ผมต้องการให้ดึงเร็คคอดก่อนหน้าและหลังอย่างละ 2

จะออกมาเป็น 2 5 8 9 10

แต่ถ้าเลือก id=2 ก็แสดงเป็น 1 2 3 8 9

แบบเดียวกับ Page Navigator Likes Google ของคุณ EThaiZone เลยครับ

จะเขียนโค้ดแบบไหนเหรอครับ รบกวนด้วยครับ :-*

LIMIT 0,30
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: awat ใน 23 ธันวาคม 2008, 09:59:31
อ้างถึงจาก: getkey1 ใน 22 ธันวาคม 2008, 10:12:22
ขอถามครับ
ใช้คำสั่ง mysql ยังไงให้มันสามารถแสดงข้อมูลที่มีค่าซ้ำกันได้ครับเช่น

id phone
-------------
1 0891234567
2 0898765432
3 0895555555
4 0891234567
5 0898888888
6 0898765432


จะเห็นว่า id 1 และ id 4 ค่า phone ซ้ำกัน
และ id 2 และ 6 ค่าphone ก็ซ้ำกันครับ

ต้อง select ยังไงครับ? ขอบคุณมาก

SELECT * FROM _tableName HAVING COUNT(id_phone) > 1
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: awat ใน 23 ธันวาคม 2008, 10:05:21
อ้างถึงจาก: getkey1 ใน 23 ธันวาคม 2008, 08:40:12
ขออนุญาติดันครับ
แล้วถ้าผม จะเพิ่ม city กับ work เข้าไปเป็น

id phone             city       work
-------------
1 0891234567   10110     a
2 0898765432   10200     b
3 0895555555   10170     a
4 0891234567   10200     a
5 0898888888   10110     d
6 0898765432   10200     a
7 0895555555   10170     a

อยากให้มันหาค่าphoneที่ซ้ำ และค่า city ตรงกันเอง แต่ work ไม่เท่ากัน จะต้องใส่ where ตรงไหน ยังไงอ่ะครับ?งง
อยากให้ออกมาเป็น
เช่น
id1 กับ id4 ค่า city ไม่ตรงกันแต่workตรงกัน ใช่ไม่ได้
id 3 กับ 7 ค่า cityและwork  ตรงกัน ใช้ไม่ได้
id2 กับ 6 ค่า city ตรงกัน workไม่ตรงกัน ใช้ได้ถูกต้อง**** อยากselect ตัวนี้เครับ

รบกวนด้วยครับ ขอบคุณมากครับ


SELECT DISTINCT(*) FROM _tableName
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: djopor ใน 23 ธันวาคม 2008, 10:11:25
มีใครเซียนๆ Flash หรือ ทำเว็บ Flash มั้งไหมครับ  ??? ???


หาคนปรึกษาอ่ะครับ = =" กำลังมึน AS
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: tonnum ใน 23 ธันวาคม 2008, 10:30:30
แวะมาอ่านแล้วไม่เข้าใจ มึนเหมือนกัน... ???
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: ManyMoney ใน 23 ธันวาคม 2008, 13:44:11
อ้างถึงจาก: awat ใน 23 ธันวาคม 2008, 10:05:21
อ้างถึงจาก: getkey1 ใน 23 ธันวาคม 2008, 08:40:12
ขออนุญาติดันครับ
แล้วถ้าผม จะเพิ่ม city กับ work เข้าไปเป็น

id phone             city       work
-------------
1 0891234567   10110     a
2 0898765432   10200     b
3 0895555555   10170     a
4 0891234567   10200     a
5 0898888888   10110     d
6 0898765432   10200     a
7 0895555555   10170     a

อยากให้มันหาค่าphoneที่ซ้ำ และค่า city ตรงกันเอง แต่ work ไม่เท่ากัน จะต้องใส่ where ตรงไหน ยังไงอ่ะครับ?งง
อยากให้ออกมาเป็น
เช่น
id1 กับ id4 ค่า city ไม่ตรงกันแต่workตรงกัน ใช่ไม่ได้
id 3 กับ 7 ค่า cityและwork  ตรงกัน ใช้ไม่ได้
id2 กับ 6 ค่า city ตรงกัน workไม่ตรงกัน ใช้ได้ถูกต้อง**** อยากselect ตัวนี้เครับ

รบกวนด้วยครับ ขอบคุณมากครับ


SELECT DISTINCT(*) FROM _tableName
ใช้ยังไงอ่ะครับ งง อยากให้มันได้ค่า

id2 กับ 6 ค่า city ตรงกัน workไม่ตรงกัน ใช้ได้ถูกต้อง**** อยากselect ตัวนี้เครับ
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EThaiZone ใน 23 ธันวาคม 2008, 14:23:14
อ้างถึงจาก: djopor ใน 23 ธันวาคม 2008, 10:11:25
มีใครเซียนๆ Flash หรือ ทำเว็บ Flash มั้งไหมครับ  ??? ???


หาคนปรึกษาอ่ะครับ = =" กำลังมึน AS

ลองคุยกับพี่ bubbleball ดูเลยครับ
บอกได้เลยว่าขั้นเทพ!!

เห็นตั้งแต่ในบอร์ด thaiflashdev แหน่ะ
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: djopor ใน 24 ธันวาคม 2008, 01:18:05
อ้างถึงจาก: EThaiZone ใน 23 ธันวาคม 2008, 14:23:14
อ้างถึงจาก: djopor ใน 23 ธันวาคม 2008, 10:11:25
มีใครเซียนๆ Flash หรือ ทำเว็บ Flash มั้งไหมครับ  ??? ???


หาคนปรึกษาอ่ะครับ = =" กำลังมึน AS

ลองคุยกับพี่ bubbleball ดูเลยครับ
บอกได้เลยว่าขั้นเทพ!!

เห็นตั้งแต่ในบอร์ด thaiflashdev แหน่ะ

อ๋อ ขอบคุณครับ ^^
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: ManyMoney ใน 24 ธันวาคม 2008, 12:00:00
อ้างถึงจาก: getkey1 ใน 23 ธันวาคม 2008, 13:44:11
อ้างถึงจาก: awat ใน 23 ธันวาคม 2008, 10:05:21
อ้างถึงจาก: getkey1 ใน 23 ธันวาคม 2008, 08:40:12
ขออนุญาติดันครับ
แล้วถ้าผม จะเพิ่ม city กับ work เข้าไปเป็น

id phone             city       work
-------------
1 0891234567   10110     a
2 0898765432   10200     b
3 0895555555   10170     a
4 0891234567   10200     a
5 0898888888   10110     d
6 0898765432   10200     a
7 0895555555   10170     a

อยากให้มันหาค่าphoneที่ซ้ำ และค่า city ตรงกันเอง แต่ work ไม่เท่ากัน จะต้องใส่ where ตรงไหน ยังไงอ่ะครับ?งง
อยากให้ออกมาเป็น
เช่น
id1 กับ id4 ค่า city ไม่ตรงกันแต่workตรงกัน ใช่ไม่ได้
id 3 กับ 7 ค่า cityและwork  ตรงกัน ใช้ไม่ได้
id2 กับ 6 ค่า city ตรงกัน workไม่ตรงกัน ใช้ได้ถูกต้อง**** อยากselect ตัวนี้เครับ

รบกวนด้วยครับ ขอบคุณมากครับ


SELECT DISTINCT(*) FROM _tableName
ใช้ยังไงอ่ะครับ งง อยากให้มันได้ค่า

id2 กับ 6 ค่า city ตรงกัน workไม่ตรงกัน ใช้ได้ถูกต้อง**** อยากselect ตัวนี้เครับ

อีกคำถามครับ
ถ้าต้องการ select phone=0891234567 ที่ค่า city มีค่ามากที่สุดหล่ะครับ? ต้องใช้คำสั่งอะไร?
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: ManyMoney ใน 25 ธันวาคม 2008, 05:23:05
อ้างถึงจาก: kudjung ใน 22 ธันวาคม 2008, 11:12:12
อ้างถึงจาก: getkey1 ใน 22 ธันวาคม 2008, 10:12:22
ขอถามครับ
ใช้คำสั่ง mysql ยังไงให้มันสามารถแสดงข้อมูลที่มีค่าซ้ำกันได้ครับเช่น

id phone
-------------
1 0891234567
2 0898765432
3 0895555555
4 0891234567
5 0898888888
6 0898765432

จะเห็นว่า id 1 และ id 4 ค่า phone ซ้ำกัน
และ id 2 และ 6 ค่าphone ก็ซ้ำกันครับ

ต้อง select ยังไงครับ? ขอบคุณมาก

แบบนี้หรืือเปล่าครับ แสดงเฉพาะข้อมูลที่ซ้ำกัน

SELECT phone, COUNT( * ) AS duplicate
FROM test
GROUP BY phone
HAVING duplicate >1

ขอถามต่อจากข้อนี้อีกคำถามนะครับ
ถ้าต้องการได้ ข้อมูล id ด้วยต้องselectยังไงครับให้ออกมาเป็น

0891234567  1,4
0898765432  2,4
ขอบคุณครับ

ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: google_bb ใน 25 ธันวาคม 2008, 15:19:03
เช่าได้มะ
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: dkmrl ใน 25 ธันวาคม 2008, 17:02:05
รบกวนอีกรอบครับ คือ ผมอยากเอา captcha ลงตอนกรอกแบบฟอร์มอ่ะครับ
ผลเอาตัวนี้มาใช้อ่ะครับ
http://psyrens.com/captcha/
ทีนี้ ผมจะเขียน onsubmit ยังไงให้มันเช็กค่าใน captcha ก่อนครับ
เพราะผมเอาของเดิมไปใส่ onsubmit="check(); return false;" ถึงจะกรอกถูก มันก็ไม่ให้ผ่านไป แค่แสดงเป็นสีเขียนเฉยๆ :-X :-X
ถ้าเอา return false ออก ถึงกรอกผิด มันก็ผ่านไปได้ :'( :'(

รบกวดด้วยนะครับ
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: ManyMoney ใน 28 ธันวาคม 2008, 13:16:56
ขออนุญาติดันครับ
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: 7 ใน 28 ธันวาคม 2008, 15:56:16
อ่านของคุณ getkey1 แล้วมึนๆ ทำไมไม่ออกแบบ DB ก่อนหล่ะครับ
เห็นคำถามมันต่อเนื่องยาวนานไปหน่อย ออกแบบ DB ก่อนนะครับ
คิดก่อนว่าจะเก็บข้อมูลยังไง จะเอาออกมายังไง แบบนี้ถามไม่รู้จบแน่ๆ

เห็นแล้วมึนแทน
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: ManyMoney ใน 29 ธันวาคม 2008, 04:16:07
อ้างถึงจาก: getkey1 ใน 25 ธันวาคม 2008, 05:23:05
อ้างถึงจาก: kudjung ใน 22 ธันวาคม 2008, 11:12:12
อ้างถึงจาก: getkey1 ใน 22 ธันวาคม 2008, 10:12:22
ขอถามครับ
ใช้คำสั่ง mysql ยังไงให้มันสามารถแสดงข้อมูลที่มีค่าซ้ำกันได้ครับเช่น

id phone
-------------
1 0891234567
2 0898765432
3 0895555555
4 0891234567
5 0898888888
6 0898765432

จะเห็นว่า id 1 และ id 4 ค่า phone ซ้ำกัน
และ id 2 และ 6 ค่าphone ก็ซ้ำกันครับ

ต้อง select ยังไงครับ? ขอบคุณมาก

แบบนี้หรืือเปล่าครับ แสดงเฉพาะข้อมูลที่ซ้ำกัน

SELECT phone, COUNT( * ) AS duplicate
FROM test
GROUP BY phone
HAVING duplicate >1

ขอถามต่อจากข้อนี้อีกคำถามนะครับ
ถ้าต้องการได้ ข้อมูล id ด้วยต้องselectยังไงครับให้ออกมาเป็น

0891234567  1,4
0898765432  2,4
ขอบคุณครับ



สำหรับdbนี้ ผมออกแบบแล้วนิครับ และไม่ได้ถามยาวด้วย ถามเกี่ยวกับคำสั่ง mysql ว่าจะ query ให้ได้ตามต้องการ ต้องใช้คำสั่งยังไงแค่นั้นเอง
ส่วนที่ยาวก็คือ ตัวอย่างข้อมูลใน db เพื่อให้เห็นภาพครับ

ส่วนอีก db หนึ่งที่ผมถามในกี่กระทู้อันนั้น ที่แรกผมถามว่าควรออกแบบยังไงให้ดีที่สุด พอผมได้คำตอบผมก็ทำตาม แต่ปรากฏว่าพอทำไป มีอีกท่านหนึ่งแนะนำให้ผมออกแบบใหม่ เหตุผลเพราะอะไรบาง ว่าแบบเก่ามันไม่ดีตรงไหน ท่านก็เสนอแนะผม ที่2อาจให้คำตอบไม่เหมือนกัน ผมก็ไม่ได้ว่าใครผิดใครถูกแต่เป็นเพราะข้อมูลที่ผมให้น้อยไป ท่านอุตสาห์มาช่วยให้ความรู้ จริงๆผมก็ควรให้ข้อมูลที่ชัดเจน เพื่อแก้ปัญหาที่ตรงจุดไม่สับสน

คำถามที่ผมถามก็ประมาณว่า ระหว่างการ add กับการ update ข้อมูลอันไหนทำงานเร็วกว่ากัน ซึ่งทีแรกผมออกแบบเป็นแบบ update แต่มีท่านหนึ่งมาบอกว่า update ทั้งหมดจะช้า ท่านแนะนำให้ทำเป็น add เข้าไปใหม่ดีกว่า ซึ่งผมก็ทำตาม แต่พออีกท่านหนึ่งมา ก็บอกว่าถ้าDBข้อมูลเยอะๆจริงๆใหญ่ๆจริง ระบบจะทำงานช้า ไม่ควรaddเข้าไปเยอะเพราะข้อมูลจะซ้ำซ้อน ให้เป็น update ดีกว่า.. มันก็เลยเป็นเหตุให้คำถามในอีกกระทู้หนึ่งของผมเกี่ยวกับ mysql มันยาวมาก จนไม่มีคำตอบของคำถาม ซึ่งจริงๆแล้วมันก็เป็นการออกแบบdbให้ดู ที่ถามก็แค่ วิธีการ query ที่มีวิธียังไงให้ได้ข้อมูลที่ต้องการเองครับ

ยังไงก็ขอบคุณที่ช่วยแสดงความคิดเห็นครับ ผมก็ปวดหัวอึดอัดมากยังหาคำตอบไม่ได้เลย ใครมีตัวอย่างการเขียนqueryข้อมูลหลายๆแบบช่วยส่งให้หน่อยครับ พยายามsearchบนเน็ตได้ที่ละนิดครับ
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: sutenm ใน 04 มกราคม 2009, 18:19:47
พอดีอยากได้ code เช็คระยะเวลาที่สมัครสมาชิกจนถึงปัจจุบันน่ะครับ
คล้ายๆ ที่อยู่บนบอร์ดของไทยเสียวนี้นะครับ ตรง "รวมเวลาที่อยู่ในระบบ:"
ขอ code หน่อยนะครับ ไปหาในเว็บอื่นมันเยอะมากซะจนตาลายไปหมดละครับ  :P
และก็อยากให้วันที่พวกนั้นมัน + วันเพิ่มเข้าไปด้วยนะครับ
เช่น วันนี้วันที่  10/01/2551 บวกวันเพิ่มเข้าไป 30 วันก็จะเป็น 10/02/2551 ประมาณนี้นะครับ
 
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: EThaiZone ใน 05 มกราคม 2009, 00:17:23
อ้างถึงจาก: sutenm ใน 04 มกราคม 2009, 18:19:47
พอดีอยากได้ code เช็คระยะเวลาที่สมัครสมาชิกจนถึงปัจจุบันน่ะครับ
คล้ายๆ ที่อยู่บนบอร์ดของไทยเสียวนี้นะครับ ตรง "รวมเวลาที่อยู่ในระบบ:"
ขอ code หน่อยนะครับ ไปหาในเว็บอื่นมันเยอะมากซะจนตาลายไปหมดละครับ  :P
และก็อยากให้วันที่พวกนั้นมัน + วันเพิ่มเข้าไปด้วยนะครับ
เช่น วันนี้วันที่  10/01/2551 บวกวันเพิ่มเข้าไป 30 วันก็จะเป็น 10/02/2551 ประมาณนี้นะครับ
 
ลองศึกษาพวกโค้ด time mktime พวกนี้ดูนะครับ  (จาก php.net)

บางงานจำเป็นต้องใช้ time stamp
แต่บางงานก็ต้องแปลง time stamp เป็นวันเดือนปีปกติก่อนแล้วค่อยทำก็มี

ลองเล่นดูก่อนครับ เพราะพวกเรื่องของวันเวลา
มันต้องลองเล่นดู แล้วไป apply กันเอาเองครับ  :P
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: 7 ใน 05 มกราคม 2009, 00:37:21
int strtotime ( string time [, int now] )

<?php 
echo strtotime ("now"), "\n"
echo 
strtotime ("10 September 2000"), "\n"
echo 
strtotime ("+1 day"), "\n"
echo 
strtotime ("+1 week"), "\n"
echo 
strtotime ("+1 week 2 days 4 hours 2 seconds"), "\n"
echo 
strtotime ("next Thursday"), "\n"
echo 
strtotime ("last Monday"), "\n"
?>
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: kudjung ใน 05 มกราคม 2009, 07:42:25
ตัวอย่างการใช้งาน


/*บวกวัน day_sum(วันที่เริ่มต้น,จำนวนวัน) */
function day_sum($first_date,$num)
{
$first_date = strtotime($first_date);
$day_sum = $first_date+(86400*$num);
return $day_sum;
}

#ตัวอย่างบวกวันนับจากวันที่ 2008-01-01 ไป 5 วัน

echo day_sum("2008-01-01",5);

#ผลที่ได้ 1199552400 เป็นค่าของ time stamp
#แปลงเป็นวันที่โดยใช้ function date โดยกำหนดรูปแบบของวันที่ ที่ต้องการแสดง

echo date("Y-m-d",day_sum("2008-01-01",5));

#ผลที่ได้ 2008-01-06


ศึกษาให้เข้าใจของการทำงานแต่ละ function ก่อนนำไปใช้
ไม่งั้นจะไม่มีประโยชน์แก่ตัวเอง ในอนาคต
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: sutenm ใน 05 มกราคม 2009, 08:50:16
ขอบคุณทุกท่านครับ  พอดีผมถนัด java , jsp พวกนี้มากกว่าน่ะครับ  php ก็เขียนได้แบบมึนๆ คือยังไม่ได้ศึกษาการใช้คำสั่งพิเศษอะไรมากครับ 
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: kudjung ใน 06 มกราคม 2009, 01:19:34
ถามเรื่องการ rewrite url หน่อยครับ


จาก http://www.myweb.com/view.php?p=chiangmai เป็น http://www.myweb.com/chiangmai

คือเมื่อผม rewrite url ไปแล้วมันมีปัญหาเรื่องของ path ของรูปภาพครับคือรูปมันไม่ขึ้นเพราะ path ของ url มันเปลี่ยนไป
มีวิธีแก้ไขไหมครับ หรือว่าผมจะต้องไปกำหนดเส้นทางของรูปแบบตรงๆไปเลย


เช่น

อันเดิม
<img src="./img/123.jpg">

เป็น
<img src="http://www.myweb.com/img/123.jpg">


ไม่รู้ว่าผมเข้าใจถูกหรือเปล่าหรือว่าจะมีวิธีอื่นๆที่ดีกว่านี้ครับ
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: icez ใน 06 มกราคม 2009, 02:34:16
กรณีใช้ rewrite แบบนี้ควรกำหนดการอ้างอิง path แบบ absolute (อ้างอิงแบบเต็ม ใส่เริ่มต้นที่ / หรือใส่ทั้ง url) ครับ

เช่นจากเดิมหน้าเว็บอยู่ที่
hxxp://www.myweb.com/index.php?page=chiangmai
เวลาเรียกรูปใส่
<img src="images/pics.jpg">

ให้แก้การเรียกรูปเป็น
<img src="/images/pics.jpg">
หรือ
<img src="hxxp://www.myweb.com/images/pics.jpg">


จะทำให้ไม่มีปัญหาเรื่องการอ้างอิงที่อยู่รูปครับ
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: kudjung ใน 06 มกราคม 2009, 07:13:51
อ้างถึงจาก: icez ใน 06 มกราคม 2009, 02:34:16
กรณีใช้ rewrite แบบนี้ควรกำหนดการอ้างอิง path แบบ absolute (อ้างอิงแบบเต็ม ใส่เริ่มต้นที่ / หรือใส่ทั้ง url) ครับ

เช่นจากเดิมหน้าเว็บอยู่ที่
hxxp://www.myweb.com/index.php?page=chiangmai
เวลาเรียกรูปใส่
<img src="images/pics.jpg">

ให้แก้การเรียกรูปเป็น
<img src="/images/pics.jpg">
หรือ
<img src="hxxp://www.myweb.com/images/pics.jpg">


จะทำให้ไม่มีปัญหาเรื่องการอ้างอิงที่อยู่รูปครับ

โอ้วขอบคุณครับ เห็นภาพเลย ภูเขาบังตาแท้ๆ  :P
+1 ครับ (จะได้มีกำลังมาตอบปัญหาผมบ่อยๆ อิๆ  :-[)
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: Bes ใน 31 มีนาคม 2014, 16:01:05
สุดยอด แหล่งความรู้ชั้นยอด  :wanwan011:
ชื่อเรื่อง: Re: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
โพสต์โดย: ktppro ใน 31 มีนาคม 2014, 16:13:21
มาฟัง ด้วยคน    ครับ :wanwan020: :wanwan020: :wanwan020: