لدي موقع سبق وأن عملت عليه منذ فترة، ويتوفر الموقع على خاصية المحادثة الفورية، وأريد إظهار المستخدمين المتصلين حاليا، لكن يحدث خطأ مع دالة append، حيث تُضاف البيانات إلى الصفحة عدة مرات، وهذا كود php الخاص بالصفحة:
<?php
public function online(){
$database = new DB();
$db = $database->database();
$array = array();
$ref = $_SESSION['oc_users_ref'];
$time_out = time()-5;
$time = time();
$query = $db->query("SELECT * FROM oc_users WHERE users_online = 0");
$updateOnline = $db->query("UPDATE oc_users SET users_online = 1 WHERE users_lastcome < '$time_out'");
$q = $db->query("SELECT * FROM oc_users WHERE users_ref <> '$ref' AND users_online = 0 ORDER BY users_lastcome DESC");
while($data = $q->fetch()) {
if($data['users_online'] == 1){
$class = "opacity30";
}else{
$class = '';
}
$array[] = $data;
}
print json_encode($array);
} ?>
كود Javascript:
function getOnline(){
$.ajax({
url: "conf/users.php?act=online",
dataType: "text",
success: function(data) {
var json = $.parseJSON(data);
for (var i=0;i<json.length;++i)
{
$('#printOnline').append('<li><a href="javascript:void(0);" onclick=javascript:chatWith("'+json[i].users_nickname+'")><i></i>'+json[i].users_nickname+'</a></li>');
}
}
});
}
setInterval('getOnline()',10000);
السؤال
سعاد
لدي موقع سبق وأن عملت عليه منذ فترة، ويتوفر الموقع على خاصية المحادثة الفورية، وأريد إظهار المستخدمين المتصلين حاليا، لكن يحدث خطأ مع دالة append، حيث تُضاف البيانات إلى الصفحة عدة مرات، وهذا كود php الخاص بالصفحة:
كود Javascript:
أين يكمُن المشكل؟ وكيف أستطيع حلّه؟
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.