[PHP] ขอคำแนะนำการเขียนให้วนลูป insert db นานๆด้วยครับ

เริ่มโดย Ser PARK, 11 กรกฎาคม 2013, 22:13:22

หัวข้อก่อนหน้า - หัวข้อถัดไป

0 สมาชิก และ 1 ผู้มาเยือน กำลังดูหัวข้อนี้

Ser PARK

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

nrokas

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

เวลา echo $var;

ให้ใส่คำสั่ง ob_flush();
หรือ flush();
ต่อจากคำสั่งแสดงผลครับ
hello penguin 2.1 update from 2.0 it's fuzzy algorithm

Ser PARK

อ้างถึงจาก: nrokas ใน 11 กรกฎาคม 2013, 22:14:21
อ้างถึงจาก: Ser PARK ใน 11 กรกฎาคม 2013, 22:13:22
คือจะวนลูบ ดึงข้อมูลจาก text file แล้ว insert ลง db แล้วให้ echo ข้อมูลบางอย่างออกมาทุกรอบด้วยครับ
ผมลองแล้วเหมือนมันค้างไปเลย ไม่ทราบเขาใช้มีเทคนิคยังไงครับ
ขอคำชี้แนะด้วยครับ
:wanwan017: :wanwan017: :wanwan017:
ประกาศ
ob_start(); ไว้บนสุด

เวลา echo $var;

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

ครับ

อันนี้ผมลองแล้วครับ
แต่ก็ยังไม่ได้ตามต้องการ
ไม่รู้ผมผิดตรงไหน
พอจะมีตัวอย่างไหมครับ
+1ให้ครับ :wanwan017: :wanwan017:

nrokas

hello penguin 2.1 update from 2.0 it's fuzzy algorithm

Ser PARK

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

kaorism

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

แนะนำให้ insert ข้อมูล พร้อมกันทีละ หลายๆ  record ดีกว่าครับ
ประสิทธิ์ภาพเร็วกว่ามากๆ
DropRobot - Domains and SEO network expert  [direct=http://www.droprobot.com]droprobot.com[/direct]
ไม่มี account ก็ pm มานะจ๊ะ  ตอนนี้รับจำนวนจำกัด...


- has1.com   yim8.com  1xyz.com  kor3.com  bd2u.com, ig69.com  / โดเมนละ 1000 บาท
- ออกแบบ [direct=http://www.caseucase.com]เคส iPhone 5[/direct] และเคสอื่นๆ ออนไลน์

MrWhisper

อ้างถึงจาก: kaorism ใน 12 กรกฎาคม 2013, 19:22:33
มีเหตุผลอะไรเป็นพิเศษมั้ยครับ  ที่ต้อง insert ทีละ record

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


+1

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

piranon

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 :  [direct=http://www.siam4friend.com/]หาเพื่อน[/direct] หาแฟน หากิ๊ก หาเพื่อนคุย msn [direct=http://www.siam4friend.com/หาเพื่อน-line/]หาเพื่อน line[/direct] บีบี facebook skype และอีกมากมาย

lexurous

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

echo("<html><body>");
while(1) {
  echo(str_pad($my_string_var,2048," "));
  @ob_flush();
  flush();
}
[direct=http://rackshr400.blogspot.com]test[/direct]

Ser PARK

อ้างถึงจาก: piranon ใน 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);
   }
}

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

ขอบคุณครับ
เดี่ยวลองดู
+1ทุกท่านครับ