Ir para conteúdo

POWERED BY:

Arquivado

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

yiseri

Atualizando Tabelas dinâmicas

Recommended Posts

Olá, pessoal, estou precisando de uma luz para saber como eu poderia fazer o seguinte: tenho uma página dividida em 2 divs, div esquerda e div direita, em cada uma tem uma tabela, onde preciso lançar dados vindo do bd, cada lado corresponde a um pedido, por exemplo, o lado esquerdo é o pedido nº1 e o lado direito é o pedido nº 2, vai ter um link para clicar quando o pedido estiver pronto, quando clicado o pedido que estiver pronto deve dar lugar ao próximo da lista, atualizando, no caso se o pedido nº1 estiver pronto, ele deve ser excluído e o pedido nº3 deve aparecer no seu lugar, e o nº2 continua se não tiver pronto, se tiver da lugar ao pedido nº4 e assim sucessivamente...

Agora, popular a tabela com dados vindo do bd eu sei, mas como faço pra excluir o antigo e dar lugar ao próximo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, como você vai mostrar dois pedidos por vez, o SQL que traz os dados do banco deve se limitar a dois registros.

 

Isso você faz por intermédio da cláusula LIMIT.

 

Porém, você precisar de um condicional nesse SQL, para que apenas os pedidos abertos sejam passíveis de serem considerados no retorno. Você pode fazer isso com uma cláusula WHERE, com base numa coluna com o status do pedido.

 

Se você não precisar mais dos pedidos já concluídos, ao concluir um pode simplesmente apagá-lo da tabela. E isso dispensaria o WHERE.

 

Uma vez trazidos os resultados, você terá os dados num array multidimensional.

 

Então você conta os resultados. Se for igual a zero, você exibe uma mensagem do tipo "Não existem pedidos abertos no momento".

 

Se for igual a 1 (um), você "arranca" o primeiro elemento dessa matriz com array_shift() -OU- usa $variavel[0]. E exibe a coluna da esquerda.

 

Se você usou array_shift() pode contar a variável de novo ou usar isset() para ver se o índice de número 1 (um), que corresponde ao segundo registro, existe ou não.

 

Se existir, mostra a coluna direita.

 

Por fim, a ação executada ao se clicar no link de conclusão do pedido. Ao trazer as informações, o ID do registro virá junto, então você usa esse valor para., via URL, informar ao programa receptor qual pedido está sendo conluído:

 

http://www.site.com/pedidos.php?acao=concluir&id=<?php echo $variavel[0]['ID']; ?>

Obs: Nesse exemplo estou assumindo que você NÃO tenha usado array_shift(), utilizando apenas a notação de colchetes básica, e que a coluna da sua chave primária se chama ID (tudo maiúsculo).

 

Com essa informação em mãos, através de $_GET['id'], depois de tratado e verificado é claro, você tem duas opções, baseadas no que eu disse no começo:

 

- Se os pedidos concluídos forem necessários futuramente, como que para gerar um gráfico estatístico, você executa um UPDATE, alterando o valor da coluna que usou no WHERE ora citado.

 

- Se não forem mais necesários, simplesmente executa um DELETE.

 

Em qualquer dos casos, o valor do ID passado via URL será usado como argumento de uma cláusula WHERE, se não você acaba atualizando ou excluindo todos os registros existentes.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Deixa eu ver se entendi, quando eu chamo a tabela pedidos, eu tenho os dados num array multidimensional, certo? aí eu conto usando o $total=mysql_num_rows($resultado)?? abro um if pro total e se = a 1 eu aplico array_shift() pra arrancar o próximo pedido pra ocupar o lugar?? e aí depois devo contar novamente pra saber se há mais registros, como ele vai saber para qual lado ir? div esquerda ou div direita?

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.