2012-04-05 11 views
0

Versuchen Sie, eine AJAX IM für meine Website zu erstellen ... müssen den Teil der Seite laden, wenn Zeile in MySQL DB eingefügt wird ... kann jemand mir helfen mit .. Vielen Dank im VorausAjax Instant Messenger mit PHP

+4

Sie benötigen mehr Informationen hinzuzufügen. Einige Codes, die Sie bisher erstellt haben, wären auch nützlich. – Undefined

+0

Ich stimme mit @SamWarren überein, dass Ihre Frage jemanden auffordert, etwas für Sie zu erstellen. Nicht um Hilfe bitten. – Bradmage

Antwort

0
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script> 
<script type="text/javascript"> 
var waittime=2000; 
var intUpdate = null; 


function verifDB(){ 

$.ajax({ 
    type: "POST", 
    url: "verifdb.php", 
    success: function(msg){ 
    alert(msg),; 
    } 
}); 

intUpdate = setTimeout("verifDB()", waittime); 
} 
verifDB(); 
</script> 

verifdb.php Datei wird alle 2000 ms abgefragt auf der Datenbank zu überprüfen Sie Ihre Datei in Requette verifdb.php setzen können, und Sie werden die Antwort in der Variable msg

+0

Thnkx für die Hilfe .. die einzige Möglichkeit ist es, mehrmals nach einem Zeitintervall zu überprüfen .. erhöht dies nicht die Last auf DB .. gibt es eine Möglichkeit, ein Ereignis für einfügen ausgelöst hat –

1

Client Side haben

Für assyncronous Anforderungen auf der Client-Seite Sie JQuery oder einfache Javascript verwenden können XMLHTTPRequest

Server Side

Ich weiß, Sie haben PHP angegeben, aber ich würde Ihnen empfehlen, zu überprüfen, wie google channels Arbeit und machen eine ähnliche Implementierung in PHP.

Da mehrere Benutzer auf Updates auf der Datenbank überprüft werden, würde ich empfehlen, Memcache zu verwenden.

Etwas wie:

$script_called_time = time(); 
while($memcache->get('last_message') < $script_called_time){ 
    usleep(100); 
} 

$result = $database->query("SELECT * FROM `messages` WHERE `date` > " . $script_called_time . "'"); 
... 

diese Weise die Verbindung hergestellt wird, und der Benutzer wird eine Antwort erhalten, wenn eine da ist ...

+0

thnkx für die Hilfe..will Schau in Es hinein –