oldgame
สมุนแก๊งเสียว
พลังน้ำใจ: 26
ออฟไลน์
กระทู้: 998
|
 |
« ตอบ #160 เมื่อ: 28 สิงหาคม 2008, 16:35:37 » |
|
ยังงงอยู่ดีครับ คือถ้าผมมี field นึงที่เก็บ text หรือ tag ผมควร set เป็น index ไว้หรือครับ แล้วเวลา query จะต้องทำยังไง
เห็นว่า a='1' แล้ว 1 นี่มาจากไหนอ่ะคับ งง
ช่วยอธิบายด้วยครับ อยาก optimize ครับ
อย่าง tag ก็คงต้องเก็บเป็น text แหละครับ เพราะมันไม่ตายตัว ก็ควรจะติด index ด้วยเพราะใช้ในการ query บ่อย (ตามผมเข้าใจนะ  ) ส่วน a='1' นี่เค้ายกตัวอย่างมาครับ อย่างทุกทีผมแยกข่าวแบบนี้ตรง ๆ ครับ a='ข่าวกีฬา' ,a='ข่าวการเมือง',... อีกมากมาย เวลาเรียกใช้ผมก็ดึงด้วย text มา ตอนแรก ๆ มันก็ไม่มีปัญหาครับ แต่พอฐานข้อมูลใหญ่ขึ้นก็เริ่มมีปัญหาแบบทวีคูณเลยทีเดียวเยอะขึ้นหนักมากขึ้นเท่าตัว พี่เค้าเลยแนะนำมาว่า เราก็เก็บอีกตารางว่า 1='ข่าวกีฬา', 2='ข่าวการเมือง',3='อะไรก็ว่าไป' ... ละก็เก็บเป็นตัวเลขในตารางเดิม เวลาจะใช้ก็เรียก ด้วย number หรือจะมา join กันอะไรแบบนี้อะครับ ผมก็ยังเข้าใจไม่กระจ่างหมดนะครับ ลึก ๆ อาจจะต้องให้ พี่ ๆ ช่วยตอบ sql ช่างลึกซึ้งจริง ๆ
|
|
« แก้ไขครั้งสุดท้าย: 28 สิงหาคม 2008, 16:40:57 โดย oldgame »
|
บันทึกการเข้า
|
|
|
|
thenetxx
หัวหน้าแก๊งเสียว
พลังน้ำใจ: 41
ออฟไลน์
กระทู้: 1,986
|
 |
« ตอบ #161 เมื่อ: 28 สิงหาคม 2008, 19:53:25 » |
|
ขออนุญาต copy ความรู้นี้ไปลงบอร์ดผมนะครับ 
|
|
|
บันทึกการเข้า
|
Develop site but can't develop life ASIA 
|
|
|
inDexTop10
หัวหน้าแก๊งเสียว
พลังน้ำใจ: 59
ออฟไลน์
กระทู้: 2,023
|
 |
« ตอบ #162 เมื่อ: 28 สิงหาคม 2008, 20:01:18 » |
|
--> Warning: include() [function.include]: Failed opening 'layouts/Select a layout:' for inclusion (include_path='.;C:\php5\pear')
-->
ถ้ามัน เป็นอย่างนี้หมายความว่าไงครับ
|
|
|
บันทึกการเข้า
|
|
|
|
thenetxx
หัวหน้าแก๊งเสียว
พลังน้ำใจ: 41
ออฟไลน์
กระทู้: 1,986
|
 |
« ตอบ #163 เมื่อ: 28 สิงหาคม 2008, 20:13:10 » |
|
--> Warning: include() [function.include]: Failed opening 'layouts/Select a layout:' for inclusion (include_path='.;C:\php5\pear')
-->
ถ้ามัน เป็นอย่างนี้หมายความว่าไงครับ
ระบุ path ผิดมั้งครับ หาไฟล์ที่จะ include ไม่เจอ
|
|
|
บันทึกการเข้า
|
Develop site but can't develop life ASIA 
|
|
|
inDexTop10
หัวหน้าแก๊งเสียว
พลังน้ำใจ: 59
ออฟไลน์
กระทู้: 2,023
|
 |
« ตอบ #164 เมื่อ: 28 สิงหาคม 2008, 20:41:54 » |
|
ูููู^^
ขอบคุณครับ
ไม่เกียวกับ php5 ใช่ปะ
|
|
|
บันทึกการเข้า
|
|
|
|
rapeedu
หัวหน้าแก๊งเสียว
พลังน้ำใจ: 34
ออฟไลน์
กระทู้: 2,044
|
 |
« ตอบ #165 เมื่อ: 28 สิงหาคม 2008, 21:24:39 » |
|
ยังงงอยู่ดีครับ คือถ้าผมมี field นึงที่เก็บ text หรือ tag ผมควร set เป็น index ไว้หรือครับ แล้วเวลา query จะต้องทำยังไง
เห็นว่า a='1' แล้ว 1 นี่มาจากไหนอ่ะคับ งง
ช่วยอธิบายด้วยครับ อยาก optimize ครับ
อย่าง tag ก็คงต้องเก็บเป็น text แหละครับ เพราะมันไม่ตายตัว ก็ควรจะติด index ด้วยเพราะใช้ในการ query บ่อย (ตามผมเข้าใจนะ  ) ส่วน a='1' นี่เค้ายกตัวอย่างมาครับ อย่างทุกทีผมแยกข่าวแบบนี้ตรง ๆ ครับ a='ข่าวกีฬา' ,a='ข่าวการเมือง',... อีกมากมาย เวลาเรียกใช้ผมก็ดึงด้วย text มา ตอนแรก ๆ มันก็ไม่มีปัญหาครับ แต่พอฐานข้อมูลใหญ่ขึ้นก็เริ่มมีปัญหาแบบทวีคูณเลยทีเดียวเยอะขึ้นหนักมากขึ้นเท่าตัว พี่เค้าเลยแนะนำมาว่า เราก็เก็บอีกตารางว่า 1='ข่าวกีฬา', 2='ข่าวการเมือง',3='อะไรก็ว่าไป' ... ละก็เก็บเป็นตัวเลขในตารางเดิม เวลาจะใช้ก็เรียก ด้วย number หรือจะมา join กันอะไรแบบนี้อะครับ ผมก็ยังเข้าใจไม่กระจ่างหมดนะครับ ลึก ๆ อาจจะต้องให้ พี่ ๆ ช่วยตอบ sql ช่างลึกซึ้งจริง ๆ อ๋อ คือเก็บเป็น id หมดเลย ไม่ใช่ text ขอบคุณมากครับ
|
|
|
บันทึกการเข้า
|
|
|
|
EThaiZone
เจ้าพ่อโลลิค่อน
เจ้าพ่อบอร์ดเสียว
พลังน้ำใจ: 321
ออฟไลน์
กระทู้: 12,518
|
 |
« ตอบ #166 เมื่อ: 28 สิงหาคม 2008, 21:35:48 » |
|
^ ^ ผมว่ามันเรื่องปกตินะ ผมเคยไปเจอเคสหนึ่งของบริษัทหนึ่ง มีระบบฐานข้อมูลในนั้่น ไปดูทั้งหมด สรุประบบไม่ดีเอาซะเยอะ เหตุมาจากแบบปัญหาด้านบน คือเก็บข้อมูลซ้ำๆ กัน ไม่ได้ใช้การอ้างอิง id จริงอยู่มันดูสบายในตอน query แบบปกติ แต่พอมาเจอ where กำหนดหาค่าที่ไม่ใช่ primary key เข้า ก็ถึงกับอืดเลย แถมจะมาพัฒนาเป็น web app ก็ยากกว่าเก่า บัดนี้ยังไม่ไปถึงไหนเลย ได้แต่ส่ายหัวปลงๆ เพราะงานช้างทำคนเดียวไม่ได้ 
|
|
|
บันทึกการเข้า
|
|
|
|
rapeedu
หัวหน้าแก๊งเสียว
พลังน้ำใจ: 34
ออฟไลน์
กระทู้: 2,044
|
 |
« ตอบ #167 เมื่อ: 28 สิงหาคม 2008, 22:54:16 » |
|
ผมเก็บเป็น id มานานแล้วครับ แต่ผมไม่ได้ทำเพื่อให้เร็ว แต่เพือให้ง่ายในการปรับปรุงแก้ไขหรือเพิ่มเติม เพิ่งรู้ว่ามันทำให้เร็วได้ด้วย อิอิ 
|
|
|
บันทึกการเข้า
|
|
|
|
tinnoi
หัวหน้าแก๊งเสียว
พลังน้ำใจ: 90
ออฟไลน์
กระทู้: 2,957
|
 |
« ตอบ #168 เมื่อ: 29 สิงหาคม 2008, 09:13:47 » |
|
ผมอยากจะทำเว็บแหล่งข้อมูลข่าว เพื่อ feed ข้อมูลให้เว็บอื่น เนี่ยเราควรทำแบบไหนดีครับ ผมไม่เก่ง php มากเท่าไหร่ เลยคิด concept ได้ประมาณ
- query ข่าวออกมา เป็นระยะ ๆ แล้ว gen เป็น text file ให้ เว็บอื่น ๆ มา get content หรือ
- มีหน้า query ข่าว ทำมาเป็น XML เลย ดี ( แต่จะ xml เอาไปใช้ต่อยังไง ) หรือ
- ทำเว็บเป็น wordpress แล้วมันจะมี Feed RSS ที่ wordpress feed ออกมา .. แต่นึกไม่ออกว่าตรงนี้จะคนอื่นจะเอาไปใส่ในเว็บเขายังไง
คิดว่าจะทำแบบไหนดีครับ ให้คนอยากเอาข่าวเราไปใส่ในเว็บเขาได้ง่าย ๆ ไม่ต้องรู้เรื่อง programming มาก
|
|
|
บันทึกการเข้า
|
|
|
|
pugkung
Verified Seller
หัวหน้าแก๊งเสียว
พลังน้ำใจ: 196
ออฟไลน์
กระทู้: 2,681
|
 |
« ตอบ #169 เมื่อ: 29 สิงหาคม 2008, 11:49:43 » |
|
ผมอยากจะทำเว็บแหล่งข้อมูลข่าว เพื่อ 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> โค้ดประมาณนี้ เสร็จแล้วก็ให้ สมาชิกหรือคนที่จะเอาข่าวเราไปลงเว็บ ก็อบ โค้ดนี้ไปอ่ะครับ แต่ผมก็ไม่รู้นะครับว่าเค้าสร้าง โค้ดยังไง 
|
|
|
บันทึกการเข้า
|
|
|
|
tinnoi
หัวหน้าแก๊งเสียว
พลังน้ำใจ: 90
ออฟไลน์
กระทู้: 2,957
|
 |
« ตอบ #170 เมื่อ: 29 สิงหาคม 2008, 18:56:37 » |
|
โอเคครับ งั้นเดี๋ยวผม จะลอง gen text file เป็น XML มาก่อนนะครับ
ถ้าได้ออกมาแล้วจะ มาถามต่ออีกที ว่าจะเล่นกับมันยังไง
|
|
|
บันทึกการเข้า
|
|
|
|
kudjung
สมุนแก๊งเสียว
พลังน้ำใจ: 45
ออฟไลน์
กระทู้: 985
|
 |
« ตอบ #171 เมื่อ: 31 สิงหาคม 2008, 14:29:16 » |
|
ระบบฐานข้อมูลของเว็บนี่สำคัญนะครับ ผมจะออกแบบในกระดาษก่อน เพื่อให้เห็นภาพความสัมพันธ์ของแต่ละ ตาราง พยามลดความซ้ำซ้อนของข้อมูล แล้วค่อยเอามาทำในโปรแกรมฐานข้อมูล
|
|
|
บันทึกการเข้า
|
|
|
|
EThaiZone
เจ้าพ่อโลลิค่อน
เจ้าพ่อบอร์ดเสียว
พลังน้ำใจ: 321
ออฟไลน์
กระทู้: 12,518
|
 |
« ตอบ #172 เมื่อ: 31 สิงหาคม 2008, 19:40:22 » |
|
ใครที่ไม่ถนัดเรื่องระบบฐานข้อมูล อยากให้หัดใส้ช ms access จริงๆ เพราะเรื่อง relation ในโปรแกรมนี้ เวลาออกแบบมันเป็นความต้องการขั้นพื้นฐานของมันเลย ถ้าเข้าใจ จะสามารถสร้างระบบที่ต้องการน้อย แต่ใช้งานได้ครอบคลุมครับ 
|
|
|
บันทึกการเข้า
|
|
|
|
TBZS
หัวหน้าแก๊งเสียว
พลังน้ำใจ: 146
ออฟไลน์
กระทู้: 2,068
|
 |
« ตอบ #173 เมื่อ: 31 สิงหาคม 2008, 20:17:03 » |
|
Question ?  ผมอยากทราบเรื่องการใช้ subdomain มีหลักการใช้ยังไงถึงจะถูกจะเหมาะ รึว่ามั่วๆไปได้ ไม่มีปัญหาอะไร
|
|
|
บันทึกการเข้า
|
|
|
|
EThaiZone
เจ้าพ่อโลลิค่อน
เจ้าพ่อบอร์ดเสียว
พลังน้ำใจ: 321
ออฟไลน์
กระทู้: 12,518
|
 |
« ตอบ #174 เมื่อ: 31 สิงหาคม 2008, 21:22:17 » |
|
Question ?  ผมอยากทราบเรื่องการใช้ subdomain มีหลักการใช้ยังไงถึงจะถูกจะเหมาะ รึว่ามั่วๆไปได้ ไม่มีปัญหาอะไร ใช้เหมือนโดเมนปกติแหละครับ เวลาจะเลือกใช้ชื่ออะไร เวลาจะทำอะไร ก็คิดซะว่าเหมือนโดเมนปกติ อย่างเช่นคงไม่มีใครทำเว็บศาสนา ในซัพโดเมนว่า girl - content ในซัพโดเมนมีความสัมพันธ์กันตัวชื่อซัพโดเมน - ไม่ใช่ชื่อที่ยาวเกินไป เหมือนกับการจดโดเมนปกติที่ชื่อไม่ควรยาวเกินจำเป็น - ทำลิงค์เข้าด้วย เพราะบอทมันไม่รู้ได้เองว่ามีซัพโดเมนเกิดใหม่ - ไซต์แม็พก็จำเป็น (ถ้่ามี) เพราะไซต์แม็พของซัพโดเมนตามหลัก จะไม่ใช่ร่วมกับของเว็บหลัก - การทำ backlink เข้าซัพโดเมน จะไม่มีผลกับโดเมนหลัก (ยกเว้นทำลิงค์จากซัพโดเมนเข้าโดเมนหลักอีกที) และสุดท้าย ก็เข้าใจง่ายๆ ว่า subdomain เป็น sub ของ domain หลัก และ domain หลัก เป็น sub ของ tld อีกที ** tld = top-level domain such as .com .net .org... etc.
|
|
|
บันทึกการเข้า
|
|
|
|
TBZS
หัวหน้าแก๊งเสียว
พลังน้ำใจ: 146
ออฟไลน์
กระทู้: 2,068
|
 |
« ตอบ #175 เมื่อ: 31 สิงหาคม 2008, 21:38:23 » |
|
ok คับ ดูท่าแตกมากไปจะทำเสียวลำบาก  ขอบคุณคับ
|
|
|
บันทึกการเข้า
|
|
|
|
BosnoS
เจ้าพ่อบอร์ดเสียว
พลังน้ำใจ: 222
ออฟไลน์
กระทู้: 8,168
|
 |
« ตอบ #176 เมื่อ: 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 มีคนนี้หรือยัง ถ้ามีแล้วก็ลบทิ้งก่อนจะเขียนทับ
ประมาณนี้นะคับ ที่ผมคิดได้
|
|
|
บันทึกการเข้า
|
|
|
|
EThaiZone
เจ้าพ่อโลลิค่อน
เจ้าพ่อบอร์ดเสียว
พลังน้ำใจ: 321
ออฟไลน์
กระทู้: 12,518
|
 |
« ตอบ #177 เมื่อ: 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 ดีกว่า ปัญหาพิมพ์ไทยมันเยอะจัด
|
|
|
บันทึกการเข้า
|
|
|
|
BosnoS
เจ้าพ่อบอร์ดเสียว
พลังน้ำใจ: 222
ออฟไลน์
กระทู้: 8,168
|
 |
« ตอบ #178 เมื่อ: 03 กันยายน 2008, 11:37:56 » |
|
ล่าสุด ผมเ้ช็ค ip แทนครับ ตามคำแนะนำคุณไอซ์
เมื่อคืนลองทำเสร็จล่ะ เด๊่ยวจะลองเอา code คุณโจ้ ไปเล่นอีกทีครับ
|
|
|
บันทึกการเข้า
|
|
|
|
tinnoi
หัวหน้าแก๊งเสียว
พลังน้ำใจ: 90
ออฟไลน์
กระทู้: 2,957
|
 |
« ตอบ #179 เมื่อ: 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] ออกมาได้ครับ
|
|
|
บันทึกการเข้า
|
|
|
|
|
หน้า: 1 ... 7 8 [9] 10 11 ... 21 ขึ้นบน |
|