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,037

HOME > PHP > PHP Forum > เจอปัญหาการ Load ข้อมูลจาก Database แบบ Real Time ด้วย PHP+Ajax jQuery ครับ มันไม่ยอมแสดงข้อมูลครับ



 

เจอปัญหาการ Load ข้อมูลจาก Database แบบ Real Time ด้วย PHP+Ajax jQuery ครับ มันไม่ยอมแสดงข้อมูลครับ

 



Topic : 109320



โพสกระทู้ ( 216 )
บทความ ( 1 )



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



ตามหัวข้อเลยครับ ทั้งๆที่ในฐานข้อมูลก็มีข้อมูลอยู่แต่มันไม่ยอมแสดงข้อมูลนะสิครับ นี่โค้ดครับ

ปล.อ้างอิงค์จากบทความ https://www.thaicreate.com/community/jquery-get-load-data-real-time.html

เพิ่มเติมครับ ดูหน้าเว็บที่มัปัญหาได้ที่ Code
http://www.zohind.com/project/chatroom
ครับ

ไฟล์ getmsg.php
Code (PHP)
<?php
	include '../config.php';
	$sql = "SELECT * FROM pj_chat WHERE 1 ORDER BY id ASC";
	$query = mysql_query($sql);
	$intNumField = mysql_num_fields($query);
	$resultarray = array();
	while($result = mysql_fetch_array($query)){
		$arrCol = array();
		for($i=0;$i<$intNumField;$i++){
			$arrCol[mysql_field_name($query,$i)] = $result[$i];
		}
		array_push($resultarray,$arrCol);
	}
	
	echo json_encode($resultarray);
?>


ไฟล์ index.php
Code (PHP)
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>"DEMO"</title>
    <script src="js/jquery-1.11.1.min.js"></script>
    <script>
    function getDataFromDb(){
	$.ajax({ 
            url: "getmsg.php" ,
            type: "POST",
            data: ''
        })
            success(function(result) { 
		var obj = jQuery.parseJSON(result);
                    if(obj != ""){
			//$("#myTable tbody tr:not(:first-child)").remove();
			$("#tblbody").empty();
			$.each(obj, function(key, val) {
                            var tr = "<tr>";
                            tr = tr + "<td>" + val["datetime"] + "</td>";
                            tr = tr + "<td>" + val["user"] + "</td>";
                            tr = tr + "<td>" + val["msg"] + "</td>";
                            tr = tr + "</tr>";
                        $('#tbltable > tbody:last').append(tr);
                        });
                    }
            });
    }
    setInterval(getDataFromDb, 500);   // 1000 = 1 second
    </script>
</head>
<body>
<div align="center">
    <h2>"DEMO" Chat Room</h2> 
    <table width="650" border="0" id="tbltable">
        <thead>
            <tr>
                <td width="100"><div align="center">Datetime</div></td>
                <td width="100"><div align="center">User</div></td>
                <td width="450"><div align="center">Massage</div></td>
            </tr>
        </thead>
        <tbody id="tblbody"></tbody>
    </table>
</body>
</html>




Tag : PHP, MySQL, HTML/CSS, Ajax, jQuery









ประวัติการแก้ไข
2014-06-19 19:50:13
2014-06-19 19:51:24
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2014-06-19 19:48:36 By : kuzaa516 View : 2233 Reply : 17
 

 

No. 1



โพสกระทู้ ( 14 )
บทความ ( 0 )



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


ในไฟล์ getmsg.php บรรทัดที่3 น่าจะมีปัญหาตรง where l
เพราะมันควรจะต้อง เป็น where l = ?? อะไรซะอย่างนึง








ประวัติการแก้ไข
2014-06-19 20:09:14
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-06-19 20:08:26 By : Alan
 


 

No. 2



โพสกระทู้ ( 9,586 )
บทความ ( 2 )



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


ก่อนอื่น คุณเรียก getmsg.php ตรงๆ จาก web browser เลยครับ
ให้มัน โชว์ json_encode ก่อนครับ วา่ได้ข้อมูลตามที่ต้องการหรือเปล่า


ปล. where 1 ไม่ต้องใส่ก็ได้ครับ มันเป็นแค่ตัวอย่าง เท่านี้นครับ แต่ก็ไม่ผิด ที่จะใส่


การใช้ where 1 เพื่อบอกว่าเป็นจริง

แต่ถ้า ใช้ where 0 เป็นการ ทดสอบ ไวยกรณ์ในการเรียก แต่ไม่ต้องการ ผลลัพธ์ใดๆ ทั้งสิ้น
เพราะ ถือว่าเป็น เท็จ

ตัวอย่าง where 0

select * from tb where (ตัวเปรียบเทียบ ที่ต้องการ) and 0
ด้วยคำสังนี้ สามารถตรวจสอบ ไวยกรณ์ ของ where clause ต้วอื่นๆ ได้ โดยไม่ต้องยุ่งกับ ข้อมูลจริง


ประวัติการแก้ไข
2014-06-19 20:16:39
2014-06-19 20:22:52
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-06-19 20:14:42 By : Chaidhanan
 

 

No. 3



โพสกระทู้ ( 216 )
บทความ ( 1 )



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

ตอบท่าน >> Alan
1 ครับไม่ใช่ l ดูโค๊ดตามอ้างอิงค์เลยครับ เขามางี้อะครับ เท่าที่ผมเข้าใจคือ ให้ Select ข้อมูลจาก .... เมื่อ 1 โดยเรียงแบบ ASC ครับ

ตอบท่าน >> Chaidhanan
ได้ข้อมูลตามต้องการครับ แต่หน้า index ที่ทำ jQuery ให้ Realtime ข้อมูลไม่ขึ้นครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-06-19 20:19:35 By : kuzaa516
 


 

No. 4



โพสกระทู้ ( 143 )
บทความ ( 0 )



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


อยากบอกว่า การดึงข้อมูล จากฐานข้อมูล Real Time แบบนี้ SERVER ทำงานหนักแน่ครับ
อีกทั้งยิ่งทำระบบ chat แบบนี้ ในกรณีที่มี USER เข้ามาเยอะๆ SERVER ไม่ไหวแน่ๆ
เพราะ คนนึง ก็ต้องติดต่อฐานข้อมูล INSERT , SELECT ตลอดเวลา

**ไม่แนะนำให้เก็บข้อมูล ไว้ในฐานข้อมูลแบบนี้ แนะนำให้เขียนเก็บลงไฟล์ดีกว่า
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-06-19 20:30:27 By : FreshyMusiC
 


 

No. 5



โพสกระทู้ ( 216 )
บทความ ( 1 )



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

ตอบความคิดเห็นที่ : 4 เขียนโดย : FreshyMusiC เมื่อวันที่ 2014-06-19 20:30:27
รายละเอียดของการตอบ ::
ขอบคุณท่านมากครับ แต่ผมจำเป็นต้องทำครับ เพราะเขาต้องการให้เชื่อมต่อฐานข้อมูลครับ ทำโปรเจคส่งอาจารย์ครับป๋ม รบกวนด้วยครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-06-19 20:45:33 By : kuzaa516
 


 

No. 6



โพสกระทู้ ( 9,586 )
บทความ ( 2 )



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


คือต้องบอกก่อนครับ ผมไม่ชำนาญกับ jquery นะครับ ผมโปรแกรมเมอร์ โบราณครับ พวก tool สมัยใหม่ไม่ค่อยคล่องนะครับ
ที่บันทัดนี้ครับ
24 $('#tbltable > tbody:last').append(tr); // ลองเช็คคำสั่งนี้ครับ ว่ามันทำอะไร
// เป็นการ create table ใหม่หรือเปล่าครับ เพราผมไม่เห็น id="tbltable" ที่ตรงไหนเลยครับ
// เห็นแต่ id="tblbody"


ถ้าถูกต้อง ลองย้าย <script> ... </script> ทั้งหมด ไปไว้ ก่อน </body> ครับ
(ตัวที่เป็น file script ไม่ต้องครับ )
ผมเคยเจอปัญหา มันหา element ที่ต้องการไม่เจอครับ เพราะ script อยู่นอก body
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-06-19 20:45:42 By : Chaidhanan
 


 

No. 7



โพสกระทู้ ( 216 )
บทความ ( 1 )



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

ตอบความคิดเห็นที่ : 6 เขียนโดย : Chaidhanan เมื่อวันที่ 2014-06-19 20:45:42
รายละเอียดของการตอบ ::
ลองย้ายแล้วครับ ก็ไม่ขึ้นครับป๋ม ส่วน tbltable อยุบรรทัดที่ 35 อะครับ T T

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-06-19 20:52:30 By : kuzaa516
 


 

No. 8



โพสกระทู้ ( 9,586 )
บทความ ( 2 )



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


18. $.each(obj, function(key, val) {
19. var tr = "<tr>";
20. tr = tr + "<td>" + val["datetime"] + "</td>";
21. tr = tr + "<td>" + val["user"] + "</td>";
22. tr = tr + "<td>" + val["msg"] + "</td>";
23. tr = tr + "</tr>";
24. $('#tbltable > tbody:last').append(tr);
25. });
26. }
27. });

งั้นแก้ เป็นนี่เลยครับ
Code (JavaScript)
var tr_index=1;
var tb=document.getElementById('tbltable');
var tb_row;
$.each(obj, function(key, val) {
	tb_row = tb.insertRow(tr_index);
	tb_row.insertCell(0).innerHTML=val["datetime"];
	tb_row.insertCell(1).innerHTML=val["user"];
	tb_row.insertCell(2).innerHTML=val["msg"];
	tr_index++;
});


เอาแบบวิชาหากินดั้งเดิมเลยก็แล้วกันนะครับ โมฯเอาเองง่ายกว่าเยอะสำหรับผม


ประวัติการแก้ไข
2014-06-19 22:08:55
2014-06-19 22:11:18
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-06-19 22:08:14 By : Chaidhanan
 


 

No. 9



โพสกระทู้ ( 216 )
บทความ ( 1 )



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

ตอบความคิดเห็นที่ : 8 เขียนโดย : Chaidhanan เมื่อวันที่ 2014-06-19 22:08:14
รายละเอียดของการตอบ ::
ลองแล้วครับ ก็ไม่ได้เหมือนเดิมครับป๋ม รบกวนด้วยนะครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-06-20 08:20:26 By : kuzaa516
 


 

No. 10



โพสกระทู้ ( 143 )
บทความ ( 0 )



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


ลองวิธีนี้ดูครับ ประยุกต์เข้ากับฐานข้อมูลเอา

http://www.ninenik.com/%E0%B9%81%E0%B8%99%E0%B8%A7%E0%B8%97%E0%B8%B2%E0%B8%87_%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B8%94%E0%B8%B6%E0%B8%87%E0%B8%82%E0%B9%89%E0%B8%AD%E0%B8%A1%E0%B8%B9%E0%B8%A5_%E0%B9%81%E0%B8%9A%E0%B8%9A_real_time_%E0%B8%94%E0%B9%89%E0%B8%A7%E0%B8%A2_ajax_%E0%B9%83%E0%B8%99_jQuery_-284.html
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-06-20 10:49:11 By : FreshyMusiC
 


 

No. 11



โพสกระทู้ ( 216 )
บทความ ( 1 )



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

ตอบความคิดเห็นที่ : 10 เขียนโดย : FreshyMusiC เมื่อวันที่ 2014-06-20 10:49:11
รายละเอียดของการตอบ ::
มันก็วิธีเดียวกันไม่ใช่หรอคับ คือตอนนี้ที่มันมีปัญหาตรงที่ ajax มันไม่ยอมโชว์ข้อมูลจากไฟล์ getmsg.php อะครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-06-20 11:35:19 By : kuzaa516
 


 

No. 12



โพสกระทู้ ( 1,095 )
บทความ ( 0 )

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

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


Code (PHP)
<script type="text/javascript">
    function getDataFromDb(){
		$.ajax({ 
			url: "getmsg.php" ,
			type: "POST",
			data: "",
			success: function(result){
				var obj = jQuery.parseJSON(result);
					if(obj != ""){
					//$("#myTable tbody tr:not(:first-child)").remove();
						$("#tblbody").empty();
						$.each(obj, function(key, val) {
							var tr = "<tr>";
							tr = tr + "<td>" + val["datetime"] + "</td>";
							tr = tr + "<td>" + val["user"] + "</td>";
							tr = tr + "<td>" + val["msg"] + "</td>";
							tr = tr + "</tr>";
						$('#tbltable > tbody:last').append(tr);
						});
					}
			 }
		});
		
    }
    setInterval(getDataFromDb, 500);   // 1000 = 1 second
</script>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-06-20 12:24:02 By : ไวยวิทย์
 


 

No. 13



โพสกระทู้ ( 9,586 )
บทความ ( 2 )



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


งั้นเรามาตรวจสอบ ajax บันทัดนี้ก่อนครับ ว่าได้ข้อมูลมาถูกต้องหรือไม่


13. success(function(result) {
// แทรกบันทัดนี้ครับ
alert(result); // แล้วก๊อป result ที่แสดงมาดูกันครับ
14.var obj = jQuery.parseJSON(result);
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-06-20 12:24:48 By : Chaidhanan
 


 

No. 14



โพสกระทู้ ( 9,586 )
บทความ ( 2 )



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


นั่นไงความเห็น 12 เลยครับ ไวยกรณ์ผิด บันทัดที่ 6,7
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-06-20 12:29:54 By : Chaidhanan
 


 

No. 15



โพสกระทู้ ( 216 )
บทความ ( 1 )



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

ขอบคุณทุกท่านมากครับ ได้แล้วครับป๋ม ตามท่าน Nico เลยครับป๋ม ขอบคุณครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-06-20 12:33:57 By : kuzaa516
 


 

No. 16



โพสกระทู้ ( 9,586 )
บทความ ( 2 )



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



แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-06-20 12:41:24 By : Chaidhanan
 


 

No. 17



โพสกระทู้ ( 1,095 )
บทความ ( 0 )

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

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



แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-06-20 13:18:12 By : ไวยวิทย์
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : เจอปัญหาการ Load ข้อมูลจาก Database แบบ Real Time ด้วย PHP+Ajax jQuery ครับ มันไม่ยอมแสดงข้อมูลครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 05
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 อัตราราคา คลิกที่นี่