Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

BlecKautE

Chat com Long Polling

Recommended Posts

eu fiz com file_get_contents, só que ele não atualiza a consulta do arquivo php , só atualiza o fonte dele rsrsrs

eu preciso k ele atualize caso haja algum registro novo inserido

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como você fez? E por que não deu certo?

 

É difícil eu fazer um exemplo genérico que lhe seja útil. Depende do seu objetivo. Qual é a condição de parada do loop?

Olha é o seguinte

tenho uma tabela chamada group_posts nela fica as mensagens postadas, eu quero que a cada vez k alguem inserir uma nova mensagem, atualize, eu ja tenho pagina pa mostrar as mensagens

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então, se seguir o meu exemplo, $requestedTimestamp continuará sendo o parâmetro que você passa pro script. A única coisa que muda é o $modifiedAt. Em vez de pegar a data de modificação do arquivo, você vai fazer um select na tabela, filtrando por registros cujas datas sejam maiores que $requestedTimestamp. Se encontrar algum, retorne os dados e interrompa o loop.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Beraldo eu entendi a aprte do select e filtro blz, só que depois como faço pra exibir os valores, no metodo antigo eu so coloca um $data = $dataFileName pra exibir o arquivo, e agora, como faço pra consulta ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Depende de como você quer exibir os dados. Você pode criar um array e dar um echo usando json_encode, pra gerar um JSON.

 

Se quiser exibir na tela, simplesmente, pode só dar um echo dentro do loop que percorre os resultados do banco.

Compartilhar este post


Link para o post
Compartilhar em outros sites


<?php

 

$requestedTimestamp = isset ( $_GET [ 'timestamp' ] ) ? (int)$_GET [ 'timestamp' ] : null;

 

$PDO = new PDO("mysql:host=localhost;dbname=nome_banco", 'user', 'pass' );

 

while ( true )

{

 

$sql = "SELECT * FROM tabela WHERE data_hora > '" . $requestedTimestamp . "'";

$result = $PDO->query( $sql );

 

$rows = $q->fetchAll();

 

if ( count( $rows ) > 0 )

{

$data = [];

foreach ( $rows as $row )

{

$data[] = $row;

}

 

$arrData = array(

'content' => $data,

'timestamp' => $modifiedAt

);

 

$json = json_encode( $arrData );

 

echo $json;

 

break;

}

else

{

sleep( 2 );

continue;

}

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

intoa na url da pagina tem k ter um timestamp, é isso k eu entendi msm?


e como k eu passo um timestamp pra get url, qual seria o modelo

 

timestamp=2014-11-13 11:58:48

 

 

 

 

????

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.