İşte benim geçerli bir sorundur. Ben chat module ile çalışıyorum ve ben onlar bir sohbete davet edildiğini AJAX ile kullanıcılara bildirir bir modül inşa ediyorum. Davet tablo için geçerli tablo yapısı aşağıdaki gibi görünür:
|-------------------------------------------------------------------------| | CCID | NID | INVITER_UID | INVITEE_UID | NOTIFIED | ACCEPTED | |-------------------------------------------------------------------------| | int | int | int | int | (0 or 1) | (0 or 1) | |-------------------------------------------------------------------------|
Ben kullanıyorum periodical updater plug-in JQuery sürekli davetlere kontrol etmek için sunucuyu yoklamak için. Bir davet bulunduğunda, ben 0-1 bildirilir ayarlayın. Ancak, benim problem periyodik güncelleyici. Ben önce bir davet olduğunu gördüğünüzde, ben kullanıcıyı bilgilendirecek ve 1 bildirilir ayarlayın. Sonraki seçme üzerinde olsa da, güncelleme işe yaramadı sanki, daha önce aynı sonuçları almak. Ben veritabanını kontrol var Ama, ben sadece iyi çalıştı görebilirsiniz. Sorgu önbelleği sorgulama sanki, ama ben onu anlamaya olamaz.
Aşağıdaki gibi periyodik Güncellemesi için benim kod:
window.onload = function() {
var uid = $('a#chat_uid').html();
$.PeriodicalUpdater(
'/steelylib/sites/all/modules/_chat_whos_online/ajax/ajax.php', //url to service
{
method: 'get', //send data via...
data: {uid: uid}, //data to send
minTimeout: '1000', //min time before server is polled (milli-sec.)
maxTimeout: '20000', //max time before server is polled (milli-sec.)
multiplyer: '1.5', //multiply against curretn poll time every time constant data is returned
type: 'text', //type of data recieved (response type)
maxCalls: 0, //max calls to make (0=unlimited)
autoStop: 0 //max calls with constant data (0=unlimited/disabled)
},
function(data) //callback function
{
alert( data ); //for now, until i get it working
}
);
}
And my code for the ajax call is as follows:
<?php
#bootstrap Drupal, and call function, passing current user's uid.
function _create_chat_node_check_invites($uid)
{
cache_clear_all('chatroom_chat_list', 'cache');
$query = "SELECT * FROM {chatroom_chat_invite} WHERE notified=0 AND invitee_uid=%d and accepted=0";
$query_results = db_query( $query, $uid );
$json = '{"invites":[';
while( $row = db_fetch_object($query_results) )
{
var_dump($row);
global $base_url;
$url = $base_url . '/content/privatechat' . $uid .'-' . $row->inviter_uid;
$inviter = db_fetch_object( db_query( "SELECT name FROM {users} WHERE uid = %d", $row->inviter_uid ) );
$invitee = db_fetch_object( db_query( "SELECT name FROM {users} WHERE uid = %d", $row->invitee_uid ) );
#reset table
$query = "UPDATE {chatroom_chat_invite} "
."SET notified=1 "
."WHERE inviter_uid=%d AND invitee_uid=%d";
db_query( $query, $row->inviter_uid, $row->invitee_uid );
$json .= '[';
$json .= '"' . $url . '",';
$json .= '"' . ($inviter->name) . '",';
$json .= '"' . ($invitee->name) . '"' ;
$json .= '],';
}
$json = substr($json, 0, -1);
$json .= ']}';
return $json;
}
?>
Ben neyin yanlış gittiğini anlamaya olamaz, herhangi bir yardım büyük beğeni topluyor!