Server Side PHP Long polling

Eu fiz muitas perguntas e tentei muitas coisas diferentes (escrevendo e lendo a partir de tutoriais) em relação à pesquisa longa na rede sem resultados sólidos no que diz respeito à escrita do lado do servidor php ao tentar uma longa pesquisa. Eu tenho o lado do cliente e o código do lado do servidor configurado … Apenas eu tenho alguns problemas.

  1. A chamada não chama novos registros desse último ID inserido que ele chama há 2 semanas

Eu tentei muitas coisas diferentes e esses resultados não são o que eu estou procurando.

Tudo o que preciso é para o usuário efetuado o login para ver as novas postagens feitas pelos amigos desde a última publicação no feed. O ajax seleciona a última ID no feed que está funcionando de forma excelente. Isso faz isso com meu PHP. Gostaria que o meu php decidisse se há ou não uma nova postagem no database que é uma ID maior do que a atual enviada. Remova-o com JSON e insira-o no feed. Se não tem nada, então não publique nada … Apoie seu conteúdo de publicação e não há nenhum novo resultado publicado … Portanto, está errado. Estou pensando em fazer a chamada durar cerca de um minuto também para interromper chamadas extensivas para o meu servidor.

Eu suspeito que há algumas poucas pessoas aqui que tenham experiência em fazer chamadas para o servidor, então, realmente, posso começar a encontrar onde eu esgueirado. Eu acho que é o código PHP eu mesmo porque não estou acostumado a usar os laços JSON e WHILE.

Aqui é o que eu tenho

AJAX

$calls = "SELECT FROM streamdata ORDER BY streamitem_id DESC LIMIT 1"; $chants = mysqli_query($mysqli, $calls) or die(mysqli_error($mysqli)); $streamitem_catch = mysqli_fetch_array($chants); ?>  function wait() { var streamitem_id =; $.ajax({ type: "POST", url: "testingajaxfeed.php?streamitem_id=" + streamitem_id, async: true, cache: false, dataType: "json", data: { streamitem_id: streamitem_id }, success: function (response){ $("#homestatusid").prepend("
X
"+response['first']+" "+ response['middle']+" "+response['last']+" said
"+response['streamitem_timestamp']+"
"+response['streamitem_content']+"
\ \ \
"); { return false; setTimeout('wait()',1000); } error: function wait(XMLHttpRequest, textStatus, errorThrown) { alert("error: " + textStatus + "(" + errorThrown + ")"); setTimeout('wait()',1000); } } }); } $(document).ready(function(){ wait(); });

PHP

 if (isset($_POST['streamitem_id'])) { $lastID = $_POST['streamitem_id']; if(empty($lastID)) { die('timeout'); } else { $following_string = $_SESSION['id']; $result="SELECT d.*, c.*, u.* FROM streamdata AS d JOIN streamdata_comments AS c ON d.streamitem_id = c.comment_streamitem JOIN users AS u ON u.id = c.comment_poster WHERE c.comment_poster = '$following_string' AND d.streamitem_id