Czy to prawdziwa długa ankieta?
Po wielu próbach udało mi się utrzymać stałe połączenie z bazą danych. Teraz koduj cheking i pokaż wiadomości, jeśli są nowe w bazie danych.
Recenzja i powiedzenie Plzczy w tym kodzie jest prawdziwa długa technika odpytywania? Jeśli tak nie jest, zasugeruj plz, gdzie się mylę (odbiegając od długiego głosowania) i jak można to zrobić w prawdziwym długim głosowaniu.
Obecnie otrzymuję te błędy. Mimo to utrzymuje ciągłe połączenie z bazą danych.
za każdym razem tylko jedna wiadomość jest ciągnięta zamiast wszystkich.(Użyłem pętli .each, ale zatrzymuje długie odpytywanie)Po każdych 10/15 sekundach pojawia się błąd tokena (Parse erroe (błąd składni = nieoczekiwany token)).
var last_msg_id = 2;
function load_msgs() {
$.ajax({
type:"Post",
url:"getdata.php",
data:{
last_msg_id:last_msg_id
},
dataType:"json",
async:true,
cache:false,
success:function(data) {
var json = data;
$("#commidwin").append(json['msg']);
last_msg_id = json["last_msg_id_db"];
setTimeout("load_msgs()", 1000);
},
error:function(XMLhttprequest, textstatus, errorthrown) {
alert("error:" + textstatus + "(" + errorthrown + ")");
setTimeout("load_msgs()", 15000);
}
});
}
Plik php jest tutaj
$last_msg_id=$_POST['last_msg_id'];
$last_msg_id_db=1;
while($last_msg_id>$last_msg_id_db){
usleep(10000);
clearstatcache();
$sql=mysqli_query($db3->connection,"SELECT * FROM chat_com where id>'$last_msg_id' ORDER by id ASC");
$sql_m=mysqli_query($db3->connection,"SELECT max(id) as maxid FROM chat_com");
$row_m=mysqli_fetch_array($sql_m);
$last_msg_id_db=$row_m['maxid'];
while($row=mysqli_fetch_array($sql)){
$textt=$row['mesg'];
$last_msg_id_db=$last_msg_id_db;
$response=array();
$response['msg']=$textt;
$response['last_msg_id_db']=$last_msg_id_db;
}
}
echo json_encode($response);