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

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

ThaiSEOBoard.comพัฒนาเว็บไซต์Programming[PHP] ขอคำแนะนำการเขียนให้วนลูป insert db นานๆด้วยครับ
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: [PHP] ขอคำแนะนำการเขียนให้วนลูป insert db นานๆด้วยครับ  (อ่าน 2093 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
Ser PARK
ก๊วนเสียว
*

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

กระทู้: 343



ดูรายละเอียด
« เมื่อ: 11 กรกฎาคม 2013, 22:13:22 »

คือจะวนลูบ ดึงข้อมูลจาก text file แล้ว insert ลง db แล้วให้ echo ข้อมูลบางอย่างออกมาทุกรอบด้วยครับ
ผมลองแล้วเหมือนมันค้างไปเลย ไม่ทราบเขาใช้มีเทคนิคยังไงครับ
ขอคำชี้แนะด้วยครับ
 wanwan017 wanwan017 wanwan017
บันทึกการเข้า
nrokas
ก๊วนเสียว
*

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

กระทู้: 218



ดูรายละเอียด
« ตอบ #1 เมื่อ: 11 กรกฎาคม 2013, 22:14:21 »

คือจะวนลูบ ดึงข้อมูลจาก text file แล้ว insert ลง db แล้วให้ echo ข้อมูลบางอย่างออกมาทุกรอบด้วยครับ
ผมลองแล้วเหมือนมันค้างไปเลย ไม่ทราบเขาใช้มีเทคนิคยังไงครับ
ขอคำชี้แนะด้วยครับ
 wanwan017 wanwan017 wanwan017
ประกาศ
ob_start(); ไว้บนสุด

เวลา echo $var;

ให้ใส่คำสั่ง ob_flush();
หรือ flush();
ต่อจากคำสั่งแสดงผลครับ
« แก้ไขครั้งสุดท้าย: 11 กรกฎาคม 2013, 22:15:04 โดย nrokas » บันทึกการเข้า

hello penguin 2.1 update from 2.0 it's fuzzy algorithm
Ser PARK
ก๊วนเสียว
*

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

กระทู้: 343



ดูรายละเอียด
« ตอบ #2 เมื่อ: 11 กรกฎาคม 2013, 22:17:47 »

คือจะวนลูบ ดึงข้อมูลจาก text file แล้ว insert ลง db แล้วให้ echo ข้อมูลบางอย่างออกมาทุกรอบด้วยครับ
ผมลองแล้วเหมือนมันค้างไปเลย ไม่ทราบเขาใช้มีเทคนิคยังไงครับ
ขอคำชี้แนะด้วยครับ
 wanwan017 wanwan017 wanwan017
ประกาศ
ob_start(); ไว้บนสุด

เวลา echo $var;

ให้ใส่คำสั่ง ob_flush();
หรือ flush();

ครับ

อันนี้ผมลองแล้วครับ
แต่ก็ยังไม่ได้ตามต้องการ
ไม่รู้ผมผิดตรงไหน
พอจะมีตัวอย่างไหมครับ
+1ให้ครับ wanwan017 wanwan017
บันทึกการเข้า
nrokas
ก๊วนเสียว
*

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

กระทู้: 218



ดูรายละเอียด
« ตอบ #3 เมื่อ: 11 กรกฎาคม 2013, 22:18:46 »

เอา code คุณมาดูดีกว่าครับ จะได้เสริมให้
บันทึกการเข้า

hello penguin 2.1 update from 2.0 it's fuzzy algorithm
Ser PARK
ก๊วนเสียว
*

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

กระทู้: 343



ดูรายละเอียด
« ตอบ #4 เมื่อ: 11 กรกฎาคม 2013, 22:28:44 »

ครับ เดี่ยวสักครู่ครับ
โด๊ดอยู่ใน โน็ตบุค น้องถือไปด้วย
เดี่ยวผมเขียนขึ้นมาใหม่ก่อน
บันทึกการเข้า
kaorism
ก๊วนเสียว
*

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

กระทู้: 338



ดูรายละเอียด
« ตอบ #5 เมื่อ: 12 กรกฎาคม 2013, 19:22:33 »

มีเหตุผลอะไรเป็นพิเศษมั้ยครับ  ที่ต้อง insert ทีละ record

แนะนำให้ insert ข้อมูล พร้อมกันทีละ หลายๆ  record ดีกว่าครับ
ประสิทธิ์ภาพเร็วกว่ามากๆ
บันทึกการเข้า

DropRobot - Domains and SEO network expert  droprobot.com
ไม่มี account ก็ pm มานะจ๊ะ  ตอนนี้รับจำนวนจำกัด...


- has1.com   yim8.com  1xyz.com  kor3.com  bd2u.com, ig69.com  / โดเมนละ 1000 บาท
- ออกแบบ เคส iPhone 5 และเคสอื่นๆ ออนไลน์
MrWhisper
Newbie
*

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

กระทู้: 3



ดูรายละเอียด
« ตอบ #6 เมื่อ: 12 กรกฎาคม 2013, 20:24:57 »

มีเหตุผลอะไรเป็นพิเศษมั้ยครับ  ที่ต้อง insert ทีละ record

แนะนำให้ insert ข้อมูล พร้อมกันทีละ หลายๆ  record ดีกว่าครับ
ประสิทธิ์ภาพเร็วกว่ามากๆ


+1

ส่วนเรื่อง flush(); ผมงงๆกับมัน  บางทีมันก็ออก บางทีมันก็ไม่ออก  แต่เอาออกชัวร์ๆ ลองทำเป็น ajax ดูครับ
บันทึกการเข้า
piranon
คนรักเสียว
*

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

กระทู้: 185



ดูรายละเอียด เว็บไซต์
« ตอบ #7 เมื่อ: 12 กรกฎาคม 2013, 21:36:37 »

set_time_limit(0); ใส่ใว้บนสุดเลยเพื่อให้ สคริปทำงานได้ตลอด

ใช้คำสั่ง sleep() หลังการ insert อาจจะกำหนดโดยการ insert 10 ครั้ง sleep 2 วินาที

แล้วใช้คำสั่ง flush() หลัง echo ทุกครั้งเพื่อไม่ใช้ browser ตายครับ ตัวอย่างเช่น

set_time_limit(0);

$count_sleep = 0;

foreach($data as $k => $v)
{
   $sql="Insert ...',
   mysql_query($sql);
   echo "เพิ่มข้อมูลใหม่ เรียบร้อยแล้วค่ะ";
   flush();
   
   $count_sleep++;
   if(($count_sleep%10)==0)
   {
      sleep(2);
   }
}

ประมาณนี้ งง ตรงไหนถามได้ครับ
บันทึกการเข้า

Siam4Friend.com :  หาเพื่อน หาแฟน หากิ๊ก หาเพื่อนคุย msn หาเพื่อน line บีบี facebook skype และอีกมากมาย
lexurous
คนรักเสียว
*

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

กระทู้: 126



ดูรายละเอียด
« ตอบ #8 เมื่อ: 12 กรกฎาคม 2013, 21:46:01 »

เชคบราวเซอร์ด้วย บางทีมันออกมาแล้วแต่ไม่แสดง เช่นโครมถ้ายาวไม่พอมันไม่แสดง

echo("<html><body>");
while(1) {
  echo(str_pad($my_string_var,2048," "));
  @ob_flush();
  flush();
}
บันทึกการเข้า

Ser PARK
ก๊วนเสียว
*

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

กระทู้: 343



ดูรายละเอียด
« ตอบ #9 เมื่อ: 12 กรกฎาคม 2013, 22:34:19 »

set_time_limit(0); ใส่ใว้บนสุดเลยเพื่อให้ สคริปทำงานได้ตลอด

ใช้คำสั่ง sleep() หลังการ insert อาจจะกำหนดโดยการ insert 10 ครั้ง sleep 2 วินาที

แล้วใช้คำสั่ง flush() หลัง echo ทุกครั้งเพื่อไม่ใช้ browser ตายครับ ตัวอย่างเช่น

set_time_limit(0);

$count_sleep = 0;

foreach($data as $k => $v)
{
   $sql="Insert ...',
   mysql_query($sql);
   echo "เพิ่มข้อมูลใหม่ เรียบร้อยแล้วค่ะ";
   flush();
   
   $count_sleep++;
   if(($count_sleep%10)==0)
   {
      sleep(2);
   }
}

ประมาณนี้ งง ตรงไหนถามได้ครับ

ขอบคุณครับ
เดี่ยวลองดู
+1ทุกท่านครับ
บันทึกการเข้า
หน้า: [1]   ขึ้นบน
พิมพ์