siamman
บุคคลทั่วไป
|
 |
« ตอบ #220 เมื่อ: 17 กันยายน 2008, 18:24:59 » |
|
อยากได้แนวคิดสำหรับเก็บเพจวิวแบบนับไอพีครับ ปัจจุบันผมเขียนเก็บในดาต้าเบส ซึ่งคิดว่ามันน่าจะหนักดาต้าเบสพอสมควรเพราะต้องเก็บ ip ทุก ip เลยอยากหาวิธีที่เบากว่านี้ครับ ไม่ทราบว่าท่านอื่นเก็บกันลักษณะใหนบ้าง
|
|
|
บันทึกการเข้า
|
|
|
|
ball6847
เจ้าพ่อบอร์ดเสียว
พลังน้ำใจ: 212
ออฟไลน์
กระทู้: 4,174
|
 |
« ตอบ #221 เมื่อ: 17 กันยายน 2008, 19:04:07 » |
|
เป็นผมคงแยกตารางเก็บ ip และข้อมูลอื่นที่พอจะเชื่อต่อกะ ip ออกมาตะหาก คงจะใช้ชื่อตารางว่า visitor มั้ง แล้วตารางหลักก็ไม่เก็บ ip แต่จะอ้างอิง visitor_id จากอีกตาราง ซึ่งตารางนั้นอาจจะเก็บ ip หรือประเทศ หรืออื่นๆ ทีนี้พอมีเพจวิวซ้ำๆ จะได้ไม่ต้องใส่ ip หรือ ประเทศซ้ำๆไปทุก record ตารางหลักก็เก็บข้อมูลอื่นๆ เช่นพวกเวลา useragent หรือ page ประมาณนี้อ่ะมั้ง
|
|
|
บันทึกการเข้า
|
|
|
|
iPhoenix
Verified Seller
หัวหน้าแก๊งเสียว
พลังน้ำใจ: 53
ออฟไลน์
กระทู้: 1,384
|
 |
« ตอบ #222 เมื่อ: 17 กันยายน 2008, 19:16:40 » |
|
อยากได้แนวคิดสำหรับเก็บเพจวิวแบบนับไอพีครับ ปัจจุบันผมเขียนเก็บในดาต้าเบส ซึ่งคิดว่ามันน่าจะหนักดาต้าเบสพอสมควรเพราะต้องเก็บ ip ทุก ip เลยอยากหาวิธีที่เบากว่านี้ครับ ไม่ทราบว่าท่านอื่นเก็บกันลักษณะใหนบ้าง
เก็บเป็น .txt ไฟล์ไม่ได้เหรอครับ เวลามีการเปิดเพจวิวแล้วก็เอา ip ไปเที่ยบใน .txt ไฟล์ ถ้ามันมีซ้ำก็ไม่ต้องเขียนลง แต่ไม่ซ้ำก็เขียนลงไปในไฟล์ พอจะนับก็นับเป็นแถวใน .txt เอาครับ เก็บเป็นแบบนี้อะ ip1 ip2 ip3 ... ipn แต่ไม่รู้มันจะมีปัญหาอื่นอีกหรือป่าวครับ ผิดถูกยังไงเซียนช่วยแก้ไขให้ด้วยนะครับ 
|
|
|
บันทึกการเข้า
|
|
|
|
jiw
Verified Seller
เจ้าพ่อบอร์ดเสียว
พลังน้ำใจ: 147
ออฟไลน์
กระทู้: 5,923
|
 |
« ตอบ #223 เมื่อ: 17 กันยายน 2008, 19:23:56 » |
|
ไม่เคยลองเขียนแบบ คุณ iPhoenix
แต่ถ้าผมคิดได้ ก็ทำแบบคุณ ball6847 อะ
|
|
|
บันทึกการเข้า
|
|
|
|
icez
Verified Seller
หัวหน้าแก๊งเสียว
พลังน้ำใจ: 296
ออฟไลน์
กระทู้: 2,886
|
 |
« ตอบ #224 เมื่อ: 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
จบครับ
|
|
|
บันทึกการเข้า
|
THZHost SSD Hosting ไทย/สิงคโปร์ พร้อม firewall ป้องกันการยิงเว็บ + scan ไวรัสในเว็บ
|
|
|
ball6847
เจ้าพ่อบอร์ดเสียว
พลังน้ำใจ: 212
ออฟไลน์
กระทู้: 4,174
|
 |
« ตอบ #225 เมื่อ: 18 กันยายน 2008, 00:27:45 » |
|
โอ้ว กำ สุดยอด จบจิงๆ ท่านไอซ์รับประทานฐานข้อมูลเป็นอาหารหรืออย่างไร เจ๋งจิงๆ
พลังน้ำใจ+1
|
|
|
บันทึกการเข้า
|
|
|
|
siamman
บุคคลทั่วไป
|
 |
« ตอบ #226 เมื่อ: 18 กันยายน 2008, 01:31:08 » |
|
โครงสร้างตาราง
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
จบครับ
 ขอบคุณมากมายครับ จบจริงๆ
|
|
|
บันทึกการเข้า
|
|
|
|
siamman
บุคคลทั่วไป
|
 |
« ตอบ #227 เมื่อ: 18 กันยายน 2008, 01:34:06 » |
|
insert into pageview(ip,counter) values('123.45.67.89', 1) on duplicate key update counter = counter +1
 ปกติผมดึงมาเช็คnum_rowก่อนว่าซ้ำมั้ยค่อยอัปเดท แต่หลังจากนี้คงต้องคิดใหม่ทำไหม่แล้ว ขอบคุณคุณไอซ์ อะเกนครับ 
|
|
|
บันทึกการเข้า
|
|
|
|
oldgame
สมุนแก๊งเสียว
พลังน้ำใจ: 26
ออฟไลน์
กระทู้: 998
|
 |
« ตอบ #228 เมื่อ: 18 กันยายน 2008, 07:21:22 » |
|
ขอบคุณครับพี่ icez ได้เวลาปรับระบบ counter อีกแล้ว  ชอบกระทู้นี้อย่างจัง 
|
|
|
บันทึกการเข้า
|
|
|
|
EThaiZone
เจ้าพ่อโลลิค่อน
เจ้าพ่อบอร์ดเสียว
พลังน้ำใจ: 321
ออฟไลน์
กระทู้: 12,518
|
 |
« ตอบ #229 เมื่อ: 18 กันยายน 2008, 08:31:20 » |
|
อยากได้แนวคิดสำหรับเก็บเพจวิวแบบนับไอพีครับ ปัจจุบันผมเขียนเก็บในดาต้าเบส ซึ่งคิดว่ามันน่าจะหนักดาต้าเบสพอสมควรเพราะต้องเก็บ ip ทุก ip เลยอยากหาวิธีที่เบากว่านี้ครับ ไม่ทราบว่าท่านอื่นเก็บกันลักษณะใหนบ้าง
ผมเข้าใจว่าเหมือนแบบ ziddu ก็คือจำนวนนับดาว์นโหลด uip และันับแยกกันหลายตัว ใช่ปะ ? เก็บรายการ ip เข้า apc ในรูป array แล้วถ้ามีคนเข้าใหม่ ไอพีไม่ตรงกับ array ที่มี ก็ค่อยจัดการนับ + เข้าส่วนที่เรานับ แล้วถ้าแนวคิดนับ uip ทุกๆ วัน ทุกๆ เที่ยงคืนก็ค่อยเคลียร์ความจำใน apc ทิ้ง (cron สั่งทับตัวแปรว่างลงไปก็ได้) ผมพูดแบบกรณีเรามีเซิร์ฟเองอะน่ะ  แต่ต้องอัดแรมเพิ่มหน่อยนะ
|
|
|
บันทึกการเข้า
|
|
|
|
zo501
สมุนแก๊งเสียว
พลังน้ำใจ: 19
ออฟไลน์
กระทู้: 862
|
 |
« ตอบ #230 เมื่อ: 18 กันยายน 2008, 08:56:28 » |
|
รบกวนครั�
|
|
|
บันทึกการเข้า
|
|
|
|
EThaiZone
เจ้าพ่อโลลิค่อน
เจ้าพ่อบอร์ดเสียว
พลังน้ำใจ: 321
ออฟไลน์
กระทู้: 12,518
|
 |
« ตอบ #231 เมื่อ: 18 กันยายน 2008, 09:01:15 » |
|
echo "aabb\$aabb-\$11";
echo 'aabb$aabb-$11'; 
|
|
|
บันทึกการเข้า
|
|
|
|
หมวยแว๊น
เจ้าพ่อบอร์ดเสียว
พลังน้ำใจ: 131
ออฟไลน์
กระทู้: 3,676
|
 |
« ตอบ #232 เมื่อ: 18 กันยายน 2008, 09:05:13 » |
|
ขอฝากตัวเป็นศิษย์โจ้โจ้ซังด้วยนะ เทอมหน้าอาจจะได้มาฝึกยุทธกะท่าน 
|
|
|
บันทึกการเข้า
|
|
|
|
zo501
สมุนแก๊งเสียว
พลังน้ำใจ: 19
ออฟไลน์
กระทู้: 862
|
 |
« ตอบ #233 เมื่อ: 18 กันยายน 2008, 09:29:42 » |
|
echo "aabb\$aabb-\$11";
echo 'aabb$aabb-$11';  เออ คือไม่ใช่อะครับ เราดึงข้อมูลมาจากที่อื่น อะครับ แล้วมันมีตัว $ ติดมาด้วยครับ เวลา echo แล้วมันมีปัญหาอะครับ พอทราบไหมครับว่ามี fn อะไรที่แก้ไขตรงนี้บ้าง ลองใช้ htmlspecialchars ก็ยังแก้ไม่ได้ หรือว่าต้องเขียน fn ขึ้นมาเองอะครับ ขอบคุณครับ
|
|
|
บันทึกการเข้า
|
|
|
|
EThaiZone
เจ้าพ่อโลลิค่อน
เจ้าพ่อบอร์ดเสียว
พลังน้ำใจ: 321
ออฟไลน์
กระทู้: 12,518
|
 |
« ตอบ #234 เมื่อ: 18 กันยายน 2008, 12:07:34 » |
|
^ ^ ต้องยกตัวอย่างมาสักหน้าครับ ถ้าหมายถึงการดึงข้อมูลจากเว็บอื่นมาด้วย function อะน่ะ ผมไม่สามารถแก้ process กับตอบ output ได้ ถ้าไม่รู้ input ซะก่อนอะน่ะ 
|
|
|
บันทึกการเข้า
|
|
|
|
zo501
สมุนแก๊งเสียว
พลังน้ำใจ: 19
ออฟไลน์
กระทู้: 862
|
 |
« ตอบ #235 เมื่อ: 18 กันยายน 2008, 14:28:57 » |
|
^ ^ ต้องยกตัวอย่างมาสักหน้าครับ ถ้าหมายถึงการดึงข้อมูลจากเว็บอื่นมาด้วย function อะน่ะ ผมไม่สามารถแก้ process กับตอบ output ได้ ถ้าไม่รู้ input ซะก่อนอะน่ะ  ยกตัวอย่างนะครับ ผมไปดึง 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 อะไรหรือครับ
|
|
|
บันทึกการเข้า
|
|
|
|
EThaiZone
เจ้าพ่อโลลิค่อน
เจ้าพ่อบอร์ดเสียว
พลังน้ำใจ: 321
ออฟไลน์
กระทู้: 12,518
|
 |
« ตอบ #236 เมื่อ: 18 กันยายน 2008, 14:35:14 » |
|
แปลกนะ ถ้าหมายถึงแบบนี้ ผมไม่เคยเจอ แสดงหมดนะ ยิ่งกะ feed amazon นี้ ผมเล่นจนไม่รู้จะเล่นยังไงแล้ว (ดึง xml แปลงเป็น array แล้วค่อยมาใช้งาน) ผมว่าน่าเป็นโค้ดของคุณหรือเปล่าที่บังเอิญมีเขียนไปแปลง $ เป็นช่องว่างอะ  จริงๆ ปัญหาเรื่อง $ กับ php มันจะมีแค่ตอน echo กับค่าที่เขียนลง php แล้วมันสับสนว่าเป็นตัวแปรหรือไม่ มีแค่กรณีนี้เองครับ 
|
|
|
บันทึกการเข้า
|
|
|
|
zo501
สมุนแก๊งเสียว
พลังน้ำใจ: 19
ออฟไลน์
กระทู้: 862
|
 |
« ตอบ #237 เมื่อ: 18 กันยายน 2008, 15:02:48 » |
|
แปลกนะ ถ้าหมายถึงแบบนี้ ผมไม่เคยเจอ แสดงหมดนะ ยิ่งกะ feed amazon นี้ ผมเล่นจนไม่รู้จะเล่นยังไงแล้ว (ดึง xml แปลงเป็น array แล้วค่อยมาใช้งาน) ผมว่าน่าเป็นโค้ดของคุณหรือเปล่าที่บังเอิญมีเขียนไปแปลง $ เป็นช่องว่างอะ  จริงๆ ปัญหาเรื่อง $ กับ php มันจะมีแค่ตอน echo กับค่าที่เขียนลง php แล้วมันสับสนว่าเป็นตัวแปรหรือไม่ มีแค่กรณีนี้เองครับ  OK. ครับ ผมแก้ได้แล้วครับ โง่+ขี้เกียจหาข้อมูลเอง เลยต้องรบกวนท่านให้เหนื่อยปล่าวๆ ใช้ fn str_replace ครับ $data = str_replace('$', '\$', $data); ขอบคุณมากๆครับ +1
|
|
|
บันทึกการเข้า
|
|
|
|
EThaiZone
เจ้าพ่อโลลิค่อน
เจ้าพ่อบอร์ดเสียว
พลังน้ำใจ: 321
ออฟไลน์
กระทู้: 12,518
|
 |
« ตอบ #238 เมื่อ: 18 กันยายน 2008, 16:16:06 » |
|
แบบนั้นหายเหรอครับ สงสัยต้องเก็บไว้เป็นกรณีศึกษา  ปกติผมไม่เคยต้องทำแบบนั้น คือส่วนมากมันจะไม่มีปัญหาตรงนี้นะครับ 
|
|
|
บันทึกการเข้า
|
|
|
|
EThaiZone
เจ้าพ่อโลลิค่อน
เจ้าพ่อบอร์ดเสียว
พลังน้ำใจ: 321
ออฟไลน์
กระทู้: 12,518
|
 |
« ตอบ #239 เมื่อ: 18 กันยายน 2008, 16:35:55 » |
|
รวมฟังค์ชั่นใช้งานบ่อยๆ Update 18/9/51
http://th.php.net/manual/en/function.array.php - สร้างอาเรย์ http://th.php.net/range - สร้างอาเรย์ด้วยขอบเขตที่กำหนดไว้ http://th.php.net/array_merge - ใช้รวมค่าอาเรย์มากกว่าหนึ่ง http://th.php.net/array_rand - สุ่มค่าในอาเรย์ คืนค่าเป็น index ของ array http://th.php.net/array_search - หาค่าในอาเรย์ คืนค่าเป็น boolean http://th.php.net/array_unique - กรองค่าซ้ำในอาเรย์ทิ้ง http://th.php.net/explode - แยก string เป็น array http://th.php.net/implode - รวม array เป็น string
http://th.php.net/for - วนลูปตามจำนวนรอบนับ http://th.php.net/foreach - วนลูปตามจำนวนในอาเรย์ http://th.php.net/while - วนลูปจนกว่าเงื่อนไขจะเป็นเท็จ http://th.php.net/manual/en/control-structures.do.while.php - ทำงานจนกว่าเงื่อนไขจะเป็นเท็จ
http://th.php.net/str_replace - แทนที่คำทั่วไป http://th.php.net/strtr - แทนที่คำโดยอ้างอิงจากชุด array http://th.php.net/preg_replace - แทนที่คำด้วย Regex http://th.php.net/preg_match - ตรวจหาคำด้วย pattern ที่เขียนด้วย regex
http://th.php.net/include - เรียกใช้ชุดคำสั่ง php มาทำงาน http://th.php.net/require - เรียกใช้ชุดคำสั่ง php มาทำงาน http://th.php.net/file_get_contents - เรียกเนื้อหาของ content มาแสดง (เหมาะกับใช้ภายนอก) http://th.php.net/curl - (กลุ่มชุดคำสั่ง) เปิดการติดต่อกับเว็บภายนอก (เหมาะใช้แทน file_get_contents) http://th.php.net/manual/en/function.mail.php - ใช้ส่งอีเมล์ http://th.php.net/readfile - อ่าน source ของไฟล์ (เหมาะกับใช้ภายใน) http://th.php.net/file_put_contents - (PHP5) ใช้เขียนไฟล์ http://th.php.net/serialize - แปลงค่าตัวแปรกลับเป็น string สำหรับจัดเ้ก็บบันทึกลงไฟล์หรือ db http://th.php.net/unserialize - แปลงค่า string ที่ serialize กลับเป็นตัวแปร
http://th.php.net/echo - แสดงผล http://th.php.net/printf - แสดงผลโดยอ้างอิงจากโค้ดคุมการแสดงผล http://th.php.net/sprintf - คืนค่าโดยไม่แสดงผล อ้างอิงจากโค้ดคุมการแสดงผล http://th.php.net/print_r - แสดงค่า array (ถ้าอยากให้คืนค่า ให้กำหนด parameter ตัวที่ 2 เป็น true) http://th.php.net/var_dump - แสดงข้อมูลของตัวแปร http://th.php.net/phpinfo - แสดงข้อมูลของ php
http://th.php.net/trim - กำจัดช่องว่างก่อนและหลังของ string http://th.php.net/strtolower - แปลงทุกอักษรเป็นพิมพ์เล็ก http://th.php.net/strtoupwer - แปลงทุกอักษรเป็นพิมพ์ใหญ่ http://th.php.net/strpos - หาตำแหน่งของอักษร คืนค่าเป็นตำแหน่ง len http://th.php.net/substr - ตัดคำโดยอ้างอิงตำแหน่ง len http://th.php.net/substr_replace - แทนที่คำโดยอ้างอิงตำแหน่ง len
|
|
« แก้ไขครั้งสุดท้าย: 18 กันยายน 2008, 17:32:23 โดย EThaiZone »
|
บันทึกการเข้า
|
|
|
|
|
หน้า: 1 ... 10 11 [12] 13 14 ... 21 ขึ้นบน |
|