Jump to content


Photo

Atualizar Página Assim Qe Tiver Atualização No Banco De Dados


  • Faça o login para participar
18 replies to this topic

#1 Henderson

Henderson

    12 Horas

  • Usuários
  • 279 posts
  • Sexo:Não informado
  • Localidade:Santos

Posted 05/02/2007, 01:06

ae
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 matt.cavotta

matt.cavotta

    Ativo

  • Usuários
  • 347 posts
  • Sexo:Masculino
  • Localidade:Campinas
  • Interesses:Desenvolvimento Web & Programação

Posted 05/02/2007, 09:51

Eu também recomendo fortemente você a usar AJAX. Dá uma estudada em:

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í.
WebFórum - Equipe de Desenvolvimento - Estagiario

I'm back!
Posted Image Edgy Eft 7.04

#3 Henderson

Henderson

    12 Horas

  • Usuários
  • 279 posts
  • Sexo:Não informado
  • Localidade:Santos

Posted 05/02/2007, 10:19

ta
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 matt.cavotta

matt.cavotta

    Ativo

  • Usuários
  • 347 posts
  • Sexo:Masculino
  • Localidade:Campinas
  • Interesses:Desenvolvimento Web & Programação

Posted 05/02/2007, 10:23

Bom, depende de como o pedido é feito, se é um text box etc., e como você sabe se um pedido está sendo feito ou foi feito.
WebFórum - Equipe de Desenvolvimento - Estagiario

I'm back!
Posted Image Edgy Eft 7.04

#5 Henderson

Henderson

    12 Horas

  • Usuários
  • 279 posts
  • Sexo:Não informado
  • Localidade:Santos

Posted 05/02/2007, 10:32

é assim, vo explicar
é 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 matt.cavotta

matt.cavotta

    Ativo

  • Usuários
  • 347 posts
  • Sexo:Masculino
  • Localidade:Campinas
  • Interesses:Desenvolvimento Web & Programação

Posted 05/02/2007, 10:44

Hmm acho que saquei.

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.
WebFórum - Equipe de Desenvolvimento - Estagiario

I'm back!
Posted Image Edgy Eft 7.04

#7 Henderson

Henderson

    12 Horas

  • Usuários
  • 279 posts
  • Sexo:Não informado
  • Localidade:Santos

Posted 05/02/2007, 10:47

pois é!
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 bimonti

bimonti

    Super Veterano

  • Usuários
  • 2654 posts
  • Sexo:Masculino

Posted 05/02/2007, 12:19

Ajax mesmo é uma boa saída ... não precisa fazer um intervalo muito pequeno, acho que de 1 em 1 minuto é suficiente .... e o consumo de banda é muito pequeno se você planejar bem o sistema.

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 ... :D
WebFórum - Equipe de Desenvolvimento - Monitor
Posted Image
Yeah I do have some stories, and it's true I want all the glory ...

#9 Henderson

Henderson

    12 Horas

  • Usuários
  • 279 posts
  • Sexo:Não informado
  • Localidade:Santos

Posted 05/02/2007, 12:28

heaiuheaiuheaiu
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 mgomes

mgomes

    12 Horas

  • Usuários
  • 134 posts
  • Sexo:Masculino
  • Localidade:SP

Posted 05/02/2007, 13:03

Cara.. sinceramente eu ainda não encontrei alguma solução boa.. fora as citadas (refresh) porq para obter novas informações tem que ter algum tipo de comunicação.

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.
"Tropeçamos sempre nas pedras pequenas; as grandes vêem-se logo"

#11 bimonti

bimonti

    Super Veterano

  • Usuários
  • 2654 posts
  • Sexo:Masculino

Posted 05/02/2007, 14:23

se precisa ser "automático", deixe um tempo pequeno para a requisição.

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 ....
WebFórum - Equipe de Desenvolvimento - Monitor
Posted Image
Yeah I do have some stories, and it's true I want all the glory ...

#12 Henderson

Henderson

    12 Horas

  • Usuários
  • 279 posts
  • Sexo:Não informado
  • Localidade:Santos

Posted 05/02/2007, 15:25

entendi
é 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 mgomes

mgomes

    12 Horas

  • Usuários
  • 134 posts
  • Sexo:Masculino
  • Localidade:SP

Posted 05/02/2007, 15:28

Henderson,

Precisando é só dar um toque ;)

Sucesso em sua 'jornada' hehe! :]
"Tropeçamos sempre nas pedras pequenas; as grandes vêem-se logo"

#14 sk15

sk15

    Super Veterano

  • Usuários
  • 2071 posts
  • Sexo:Masculino
  • Localidade:SP - SP

Posted 05/02/2007, 15:55

Se precisar de mais exemplos eu tava fucando esses dias e achei um chat (bem simples) em PHP/MySQL + Ajax :)

Segue o tutorial:
http://www.ajaxproje...ls.php?itemid=9
http://www.dynamicajax.com/chat.php (Demostrativo)

#15 LarPhozyHah

LarPhozyHah

    Super Veterano

  • Usuários
  • 14515 posts
  • Sexo:Masculino
  • Localidade:San Miguel de Tucuman

Posted 28/09/2017, 07:23

Viagra Combien Sa Coute Farmacia On Line Tadalafil cheap cialis Bentyl Cod Only Low Price
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)

IPB Skin By Virteq