ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

ThaiSEOBoard.comพัฒนาเว็บไซต์Programming[WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
หน้า: 1 2 [3] 4 5 ... 21   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!  (อ่าน 66916 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
lowprofile
คนรักเสียว
*

พลังน้ำใจ: 11
ออฟไลน์ ออฟไลน์

กระทู้: 189



ดูรายละเอียด
« ตอบ #40 เมื่อ: 07 สิงหาคม 2008, 00:42:22 »

เคยทำเว็บงานนึง มันให้เป็นรายชม.ให้เราออกแบบทุกอย่าง ชม.ละ 350 นั่งคิดนั่งเขียนรูปแบบ พร้อมกับทำtemplateไปให้มันดู ใช้ไป10 ชม. มันว่าแพง - -* เวลาถามมันอยากได้แบบไหน บอกไม่มีไอเดีย ให้ผมไปคิดมา หรือว่าตอนผมนั่งคิดรูปแบบคิดคอนเซ็ป ผมห้ามคิดตังค์มันอ่ะ  Tongue Tongue

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

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

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

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

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



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



หรือเขาทำกันแบบนี้เป็นปกติอยู่แล้วก็ไม่รู้นะ ตอนหลังๆ มาเลยทำแบบเจ็กแปะ มีเท่านี้ เอามั้ย
ไม่เอาก็ไปหาเอาข้างหน้า ตูไม่ง้อเฟ้ย ก็เลยจนมาถึงทุกวันนี้
 Tongue
บันทึกการเข้า

ชีวิตนี้น้อยนัก

๏ พายเถิดพ่ออย่ารั้ง   รอพาย
จวนตะวันจักสาย   ส่องฟ้า
ของสดสิ่งควรขาย   จักขาด ค่าแฮ
ตลาดเลิกแล้วอ้า   บ่นอื้นเอาใคร ๚ะ๛


คราวนี้เป็นคราวเงินหมด
ธนาคาร : ไทยพาณิชย์ จำกัด (มหาชน) สาขา : อุดรธานี
ชื่อบัญชี : โครงการช่วยชาติโดยหลวงตามหาบัว ญาณสัมปันโน
เลขที่บัญชี : 510-2-83957-5
EThaiZone
เจ้าพ่อโลลิค่อน
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 321
ออฟไลน์ ออฟไลน์

กระทู้: 12,518



ดูรายละเอียด เว็บไซต์
« ตอบ #41 เมื่อ: 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+ ผมเอาข้อความของการสวมเขามาแก้นิดหน่อยแล้วโพส อย่าถือสาละกันนะครับ  Smiley

คราวหน้าจะมาพูดเรื่องแนวนี้อีกโพส แต่จะเป็นสำหรับ html
จะได้ครบสูตรทั้ง php และ html เลย  Smiley
บันทึกการเข้า

Kazamatsuri
ก๊วนเสียว
*

พลังน้ำใจ: 5
ออฟไลน์ ออฟไลน์

กระทู้: 319



ดูรายละเอียด
« ตอบ #42 เมื่อ: 08 สิงหาคม 2008, 03:48:22 »

ไม่มีอะไรให้เขียน มีแต่เรื่องมาถามได้มั้ยอ่ะ  Tongue

กำลังสงสัยว่าการนับจำนวน 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 ได้ดีที่สุดครับ

เคยจะโดนโฮสเตะออกเพราะเรื่องพวกนี้มาแระ Tongue
บันทึกการเข้า

EThaiZone
เจ้าพ่อโลลิค่อน
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 321
ออฟไลน์ ออฟไลน์

กระทู้: 12,518



ดูรายละเอียด เว็บไซต์
« ตอบ #43 เมื่อ: 08 สิงหาคม 2008, 08:27:18 »

ู^
^
ถ้าเป็นผมนะ ผมไม่ใช้ซักกะตัว
อย่างมากก็เปลือง txt เพิ่มอีกไฟล์

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

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

 Smiley
บันทึกการเข้า

EThaiZone
เจ้าพ่อโลลิค่อน
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 321
ออฟไลน์ ออฟไลน์

กระทู้: 12,518



ดูรายละเอียด เว็บไซต์
« ตอบ #44 เมื่อ: 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
บุคคลทั่วไป
« ตอบ #45 เมื่อ: 08 สิงหาคม 2008, 09:08:57 »

ู^
^
^
อันนี้เจ๋งดีครับ ขอบคุณมากๆ

แล้วมันมีข้อเสียอะไรมั้ยครับ อย่างเช่นถ้าข้อมูลมันเยอะ จะมีปัญหามั้ย
บันทึกการเข้า
pugkung
Verified Seller
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 196
ออฟไลน์ ออฟไลน์

กระทู้: 2,681



ดูรายละเอียด เว็บไซต์
« ตอบ #46 เมื่อ: 08 สิงหาคม 2008, 09:39:20 »

ตัวอย่าง

โค๊ด:
$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>";

ประมาณนี้
ู^
^
^
อันนี้เจ๋งดีครับ ขอบคุณมากๆ

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

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

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

 Smiley

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

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

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

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

จริง ๆ ผมทำได้อยู่ แต่คิดว่า วิธีของผมน่าจะกิน ทรัพยากรเครื่อง เพราะต้องติดต่อฐานข้อมูล ทุกครั้งที่จะสร้าง row ใหม่เพื่อเอามานับ แถว  Tongue
« แก้ไขครั้งสุดท้าย: 08 สิงหาคม 2008, 10:11:30 โดย pugkung » บันทึกการเข้า

EThaiZone
เจ้าพ่อโลลิค่อน
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 321
ออฟไลน์ ออฟไลน์

กระทู้: 12,518



ดูรายละเอียด เว็บไซต์
« ตอบ #47 เมื่อ: 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 มีฟังค์ชั่น หรือการเขียนอะไรพิเศษตรงนี้ไหม
ในขณะนี้ก็ตอบได้เท่านี้
บันทึกการเข้า

pugkung
Verified Seller
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 196
ออฟไลน์ ออฟไลน์

กระทู้: 2,681



ดูรายละเอียด เว็บไซต์
« ตอบ #48 เมื่อ: 08 สิงหาคม 2008, 11:28:13 »

โอ้ว ขอบคุณครับ

ได้ไอเดีย ไปเขียนเลย thx หลาย ๆ ครับ  Smiley
บันทึกการเข้า

qwert001
ก๊วนเสียว
*

พลังน้ำใจ: 49
ออฟไลน์ ออฟไลน์

กระทู้: 298



ดูรายละเอียด เว็บไซต์
« ตอบ #49 เมื่อ: 08 สิงหาคม 2008, 11:32:34 »

มีวิธีให้คำสั่ง php ทำงานโดยไม่ต้อเปิดหน้าเวบไหมครับ เช่น พอเที่ยงคืนก็ส่งเมลถึงผมอัตโนมัติเลยครับ Kiss
บันทึกการเข้า

paradox_073
สมุนแก๊งเสียว
*

พลังน้ำใจ: 30
ออฟไลน์ ออฟไลน์

กระทู้: 720



ดูรายละเอียด
« ตอบ #50 เมื่อ: 08 สิงหาคม 2008, 11:36:25 »

มีวิธีให้คำสั่ง php ทำงานโดยไม่ต้อเปิดหน้าเวบไหมครับ เช่น พอเที่ยงคืนก็ส่งเมลถึงผมอัตโนมัติเลยครับ Kiss


ตั้ง cronjob ใช่เปล่า
บันทึกการเข้า

EThaiZone
เจ้าพ่อโลลิค่อน
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 321
ออฟไลน์ ออฟไลน์

กระทู้: 12,518



ดูรายละเอียด เว็บไซต์
« ตอบ #51 เมื่อ: 08 สิงหาคม 2008, 11:45:57 »

อ่านเรื่อง cron job
โค๊ด:
http://www.thaiseoboard.com/index.php/topic,30624.0.html

 Tongue
บันทึกการเข้า

ITAXIz
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 41
ออฟไลน์ ออฟไลน์

กระทู้: 1,439



ดูรายละเอียด
« ตอบ #52 เมื่อ: 08 สิงหาคม 2008, 11:50:27 »

ยังงเรื่อง แคช กะ sql อยู่เลย เดยวอ่านพวก mysql เยอะๆก่อนละกันครับ

ขอบคุณครับ
บันทึกการเข้า
qwert001
ก๊วนเสียว
*

พลังน้ำใจ: 49
ออฟไลน์ ออฟไลน์

กระทู้: 298



ดูรายละเอียด เว็บไซต์
« ตอบ #53 เมื่อ: 08 สิงหาคม 2008, 11:59:09 »

มีวิธีให้คำสั่ง php ทำงานโดยไม่ต้อเปิดหน้าเวบไหมครับ เช่น พอเที่ยงคืนก็ส่งเมลถึงผมอัตโนมัติเลยครับ Kiss



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


อ่านเรื่อง cron job
โค๊ด:
http://www.thaiseoboard.com/index.php/topic,30624.0.html

 Tongue


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

บันทึกการเข้า

icez
Verified Seller
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 296
ออฟไลน์ ออฟไลน์

กระทู้: 2,886



ดูรายละเอียด
« ตอบ #54 เมื่อ: 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 เอาได้ง่ายๆ ครับ
บันทึกการเข้า

THZHost SSD Hosting ไทย/สิงคโปร์ พร้อม firewall ป้องกันการยิงเว็บ + scan ไวรัสในเว็บ
EThaiZone
เจ้าพ่อโลลิค่อน
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 321
ออฟไลน์ ออฟไลน์

กระทู้: 12,518



ดูรายละเอียด เว็บไซต์
« ตอบ #55 เมื่อ: 08 สิงหาคม 2008, 12:06:46 »

ยังงเรื่อง แคช กะ 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 ก็ได้

 Smiley
บันทึกการเข้า

pugkung
Verified Seller
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 196
ออฟไลน์ ออฟไลน์

กระทู้: 2,681



ดูรายละเอียด เว็บไซต์
« ตอบ #56 เมื่อ: 08 สิงหาคม 2008, 12:08:32 »

เรื่องการนับจำนวนแถวในตาราง
_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 ผมเก่งขึ้นจากการเข้า บอร์ดเสียว นะไม่ได้ไปบอร์ด อื่นเลย   Smiley
บันทึกการเข้า

EThaiZone
เจ้าพ่อโลลิค่อน
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 321
ออฟไลน์ ออฟไลน์

กระทู้: 12,518



ดูรายละเอียด เว็บไซต์
« ตอบ #57 เมื่อ: 08 สิงหาคม 2008, 12:13:59 »

เรื่องการนับจำนวนแถวในตาราง
_http://www.icez.net/blog/25


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


เคยอ่านจากบล็อกต่างประเทศเหมือนกัน เห็นว่าต้องใส่ condition ลงไปด้วย
ถ้าใส่เป็น SELECT COUNT(*) FROM TABLE ก็ถึงกับอืดไปเลย
บันทึกการเข้า

icez
Verified Seller
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 296
ออฟไลน์ ออฟไลน์

กระทู้: 2,886



ดูรายละเอียด
« ตอบ #58 เมื่อ: 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(*) เยอะ
บันทึกการเข้า

THZHost SSD Hosting ไทย/สิงคโปร์ พร้อม firewall ป้องกันการยิงเว็บ + scan ไวรัสในเว็บ
pugkung
Verified Seller
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 196
ออฟไลน์ ออฟไลน์

กระทู้: 2,681



ดูรายละเอียด เว็บไซต์
« ตอบ #59 เมื่อ: 08 สิงหาคม 2008, 13:15:37 »

mysql_fetch_assoc($sql);
กับ
mysql_fetch_array($sql);

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

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

แบบว่าอยากพัฒนาตัวเองหน่อยครับ รู้สึกว่า เป็น โง่ ๆ ยังไงไม่รู้ช่วงนี้   Tongue
บันทึกการเข้า

หน้า: 1 2 [3] 4 5 ... 21   ขึ้นบน
พิมพ์