Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Galera, to com um problema aqui, eu tenho um formulario com um select, que quando a pessoa seleciona e busca, ele retorna para a mesma pagina, só que para o select nao "zerar", eu utilizo um cookie para ele se manter na posicao que o usuario clicou anteriormente, acontece que o cookie tá maluco!, se eu seleciono x, ela processa x e volta pra posicao anterior, que vamos dizer, seja o y, daee se eu clico novamente, ele permanece no y e assim sucessivamente se eu for clicando sempre no y, daee se eu aperto no z, ele processa o z, busca os dados de z e retorna pra posicao y, nao sei se vcs me entendem, mas meu problema é basicamente esse, e detalhe, o cookie é gerado ou rescrito quando se é submetido o formulario, isso é, teoricamente era para ele ser o mesmo do resultado da busca.
Basicamente eu guardo um select num cookie e verifico se o meu select atual é igual ao anterior armazenado no cookie, é isso? E o que seria checksum ? Mas ao inves de guarda o select, nao seria melhor guardar os valores?? Se eles forem iguais, nem executa a query, nao? E esse meu maldito cookie continua voltando o valor anterior...
Dá uma pesquisada aí bro, Table Checksum MySQL ..
Ou então, veja o link :seta: Checksum Table
Ok Andrey, vlw pela ajuda, mas como eu já estou armazenando os valores no cookie, seria mais pratico eu verifica se o valor do GET é igual ao do cookie, pq se forem, é pq estaria executando a mesma query, e eu to usando o postgre, nao sei se essa função me seria util, meu problema sao os cookies q insistem em retorna ao valor anterior...
Tem como mostrar como você está fazendo ?
Basicamente é isso:
formulario que envia via get, para a MESMA PAGINA
<form>...CONTEUDO DO FORMULARIO...</form>
na mesma pagina tem esse codigo, pra verificar a solicitacao, caso tenha sido feita
if(isset($_GET['valor']) AND !empty($_GET['valor']))
require('caminho...');
dae dentro do require, ao mesmo tempo que se recebe a variavel, se atualiza o cookie, entao, na minha cabeça, teoricamente o cookie teria o mesmo valor que a variavel que esta sendo enviada pelo formulario, mas pelo que percebo, o valor dele, é o valor da variavel da busca anterior.
ps: to pegando um desgosto monstro pelo cookie... poutz.
Bem .. o modo que você está fazendo, pode não ser o melhor, mais também não é o pior, porque pensa comigo, a cada vez que o usuário atualiza a página, ele vai executar a query, dar o fetch .. ou não, enfim, de qualquer forma, você vai ficar executando query e obtendo o mesmo resultado, ou sejá, posso falar que é uma perda de processamento. Você pode fazer o seguinte, você faz o select, guarda tudo em uma session, ou cookie, todo o array voltado. creio que seja melhor em session. Então, você vai verificar se o último select feito, e igual ao atual, no caso, o valor do dado passado para fazer o select, se for, nem executa a query. Eu costumo fazer isso, mais não dessa maneira, utilizo checksum na tabela, assim vou verificando se á alteração nos resultados, se tiver, eu faço outro select com fetch, se não tiver, mantenho no mesmo resultset