Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,027

HOME > PHP > PHP Forum > จะหน่วงเวลาให้แสดงข้อมูลออกมาทีละชุดอย่างไรครับผม



 

จะหน่วงเวลาให้แสดงข้อมูลออกมาทีละชุดอย่างไรครับผม

 



Topic : 103588

Guest




จากโค๊ดด้านล่างจะมีข้อมูลออกมาทั้งหมด 5 ชุด คือผมจะให้ออกมาทีละชุดแล้วหน่วงเวลา 1 วิ จะทำอย่างไรได้บ้างครับ

Code (PHP)
<?php
for($i=0;$i<5;$i++)
{
	$strSQL = "SELECT * FROM test_grid order by id Limit $i,1 ";
	$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
	$objResult = mysql_fetch_array($objQuery);
	echo nl2br($objResult["text"]);
}
?>




Tag : PHP, MySQL







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2013-12-13 19:23:51 By : PHPมือใหม่ View : 2170 Reply : 2
 

 

No. 1



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

ใช้พวก flush() ครับ ส่วนหน่วงเวลงให้ดู sleep(1);






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-12-14 08:53:09 By : mr.win
 


 

No. 2

Guest


การหน่วงเวลาการแสดงผลในฝั่งเซิร์ฟเวอร์ จะใช้ไม่ได้ผลกับบางบราวเซอร์ เพราะบางตัวจะรอให้ข้อมูลมาทั้งหมดก่อน คือรอให้การเชื่อมต่อเสร็จสิ้น หรือไม่ก็รอจนกว่าจะมีข้อมูลเยอะในระดับหนึ่ง แล้วจึงพยายามแสดงผล

อย่างตัวอย่างต่อไปนี้จะได้ผลใน Chrome หรือ Firefox แต่ไม่ได้ผลใน IE

Code (PHP)
<?php
for($i=0;$i<5;$i++) {
    echo $i . '<br />';
    flush();
    sleep(1);
}
?>


และก็ไม่ดีต่อประสิทธิภาพของเซิร์ฟเวอร์ด้วย เพราะจะต้องทำให้ request นั้นๆ ทำงานนานถึง 5 วินาทีโดยไม่จำเป็น

ทางออกสำหรับโจทย์นี้คือ อ่านข้อมูลออกมาให้หมด แล้วใช้ javascript หน่วงเวลาแสดงข้อมูลแทนครับ

ตัวอย่าง
<?php
$text = array();
$strSQL = "SELECT * FROM test_grid order by id Limit 5";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
while ($objResult = mysql_fetch_array($objQuery)) {
	$text[] = $objResult["text"];
}
?>
<body>
<div id="console"></div>
<script>
var con = document.getElementById("console");
var text = <?php echo json_encode($text); ?>;
function showLine() {
	if (!text.length) {
		return;
	}
	con.innerHTML += '<div>' + text.shift() + '</div>';
	setTimeout(showLine, 1000);
}
showLine();
</script>
</body>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-12-14 11:24:37 By : K
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : จะหน่วงเวลาให้แสดงข้อมูลออกมาทีละชุดอย่างไรครับผม
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 01
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่