Atualizar Página Assim Qe Tiver Atualização No Banco De Dados
#1
Posted 05/02/2007, 01:06
não sabia se postava aqui ou em php
mas acho qe tem mais a ver com javascript
seguinte...
tenho uma página de pedidos online
e tem um painel de administração
assim qe um novo pedido é feito, eu quero qe apareça na tela..
pq no momento, a página atualiza de 3 em 3 minutos...
e se tem novos pedidos, aparece né!
mas eu queria qe fosse imediato
assim qe tem um pedido, aparece
qe nem é em um bate-papo
assim qe algm manda uma msg, aparece na tela
ou naqeles liveHelp, acho qe é isso... qe tem nos suportes do host...
assim qe o cara manda a msg, aparece na tela...
qero algo assim, qe apareça no momento
me falaram pra usar ajax
mas eu não sei praticamente nada de ajax...
só uso um script qe ve se o login qe o cara digito já tá cadastrado
mas é mto simples e cada vez qe tem qe editar é mó trampo
algm me dá uma luz, o qe eu faço...
qe caminho devo seguir, pesquisar...
e desculpa pelo post gigante, uehaiuehaiu
valeu!
#2
Posted 05/02/2007, 09:51
http://www.w3schools...jax/default.asp
basicamente o que se tem em ajax é sempre a mesma coisa, o request, o que você precisa fazer é modificar
como você chama sua página php e como você processa a informação retornada pela mesma com javascript.
Qualquer coisa estamos aí.
I'm back!
Edgy Eft 7.04
#3
Posted 05/02/2007, 10:19
mas assim
o ajax ele é executado depois de um comando, exemplo
quando o usuário digita algo num campo, quando o focus vai pro campo, ou quando sai de um campo, certo?
como eu tenho qe fazer, pra ele ficar verificando se tem uma atualização?
#4
Posted 05/02/2007, 10:23
I'm back!
Edgy Eft 7.04
#5
Posted 05/02/2007, 10:32
é como uma loja virtual... so que de pizzaria
então, quanto antes o administrador da loja ver que o pedido foi feito, melhor
atualmente tem um refresh em html mesmo de 3 em 3 minutos
que mostra os pedidos
mas além daqele tec-tec do internet explorer
é ruim... então eu queria que fosse algum qe aparecesse no mesmo instante
assim qe o usuário foi lá e fez o pedido, um registro é inserido no banco de dados
e aí eu queria que na pagina do administrador aparece lá, que há novos pedidos...
tipo em bate papo? tu manda a mensagem e no mesmo instante o outro cara ve a mensagem, saca?
é o que quero!
#6
Posted 05/02/2007, 10:44
Eu estava pensando que o problema do refresh era com o usuário. Mas pelo que vi é com o adm.
Bom, aí eu não sei te dizer como fazer e se realmente ajax é a linguagem a ser utilizada, pois quem vai
causar o evento é o usuário e não o adm.
I'm back!
Edgy Eft 7.04
#7
Posted 05/02/2007, 10:47
eu pensei em colocar um timer, de 1 segundo
e ficar fazendo a requisição por ajax
mas ai eu caio no mesmo excesso de transferencia de dados que com o refresh em html
é´que eu nãõ tenho a menor idéia de como funcionam bate-papo
e nem se é algo mto complexo, pq se for tb eu não vo saber fazer pq eu sei mto poco de js
#8
Posted 05/02/2007, 12:19
Imaginei o seguinte, se o usuário mandar um pedido você deixa um campo na tabela como ativo, assim:
tabela do banco: id user pedido ativo 1 006 9873 0 2 007 9874 0 3 008 9875 1
Ou seja, seria um relacionamento nas tabelas, nesta aqui você não guarda informações sobre o usuário e nem sobre o pedido, só relaciona o identificador de cada um deles (users 006,007,008 por exemplo)... e no campo ativo quais pedidos são novos, ou seja, usuário pediu algo novo entra nessa tabela como 1, assim que o administrador trabalhar o pedido (passar para o balcão, e mandar pra entrega) ele confirma q foi atendido e o sistema muda pra 0 o ativo.
Com o AJAX na página de administração você só vai fazer uma consulta ao banco de dados na tabela ativos (indexa o campo ativo), e como ela só tem 4 campos vai ser pouco uso do banco. Se a consulta retorna um resultado você joga na página. Uma consulta ficaria assim:
Exemplo com SQL: SELECT * FROM ativos WHERE ativo = '1'
Mamão com açúcar .. melzinho na chupeta ...
Yeah I do have some stories, and it's true I want all the glory ...
#9
Posted 05/02/2007, 12:28
então, o sistema tá exatamente assim
tem um campo com o nome ENTREGUE e com o valor 0 para não entregue e 1 para entregue
na home do painel de administração tem
Há pedidos não entregues (com um link pra esses pedidos)
(x) pedidos já entregues (com um link pra esses pedidos)
mas atualmente a verificação é de 3 em 3 minutos
o cara tá exigindo que seja imediata
o cliente pediu, aparece na tela pra ele HÁ UM PEDIDO NÃO ENTREGUE
caso antes esse link não tivesse aparecendo, saco??
porisso eu disse do intervalo pequeno!
Edição feita por: Henderson, 05/02/2007, 12:28.
#10
Posted 05/02/2007, 13:03
Tipo eu tenho o PHP Live! instalado aqui e toda hora fica pedindo informação pro servidor. ;(
Uma solução seria aumentar a transferência e diminuir o tempo de atualização. Outro dia eu vi um host.. xpg eu acho que tinha transferência ilimitada mas não sei se suporta mysql/php hehe.
#11
Posted 05/02/2007, 14:23
Entenda o seguinte, para fazer um sistema mais "smooth", que não vai fazer a atualização com refresh, você pode utilizar o AJAX. A cada 'x' segundos você faz a consulta ao banco de dados procurando por ativos = 1 ... e na página que vai fazer essa consulta você já testa o retorno:
if(qtd_registros > 0){ echo "1"; } else{ echo "0"; }
Somente isso na página ... em outras palavras, se tiver 1 ou mais ativos o seu sistema vai saber que deve atualizar a página.
Então você precisa saber como fazer uma requisição em AJAX, ler sobre como usar a função setInterval() do javascript. Só isso ... uma função vai ficar fazendo a requisição e testando o banco de dados ...
A única coisa que cabe a você é decidir se caso o retorno seja verdadeiro, é se você vai dar um refresh na página, ou faz uma requisição completa com o AJAX e pega todos os dados dos pedidos em aberto ....
Yeah I do have some stories, and it's true I want all the glory ...
#12
Posted 05/02/2007, 15:25
é qe tipo, achei qe tinha algum jeito de manter uma comunicação pra não ter que ficar fazendo requizição a todo instante
mas como o mgomes já disse, coisas que eu achava que mantinham essa comunicação como o php live! não mantém... pelo contrário, requisitam informaçao a todo instante
então o jeito vai ser esse, eu vo colocar um intervalo curto, tipo, 15 segundos...
se tiver novos pedidos, aparece o link...
15 segundos é um bom tempo e não vai ter o tec-tec do navegador
valeu ae a ajuda
#13
Posted 05/02/2007, 15:28
Precisando é só dar um toque
Sucesso em sua 'jornada' hehe! :]
#14
Posted 05/02/2007, 15:55
Segue o tutorial:
http://www.ajaxproje...ls.php?itemid=9
http://www.dynamicajax.com/chat.php (Demostrativo)
#15
Posted 28/09/2017, 07:23
accutane buy online reviews Tadalafil Best Price Clomiphene Citrate 50 Mg Men online pharmacy Zithromax Ten Days 20mg Cialis Vs 100mg Viagra
1 user(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)