Olá, a todos.....
Quem puder ajudar-me a concretizar uma lógica ficarei realmente MUITOOOOOOOO feliz.
Vou direto ao problema.:
Tenho que criar um relatorio, com o número de vezes em que aconteceu uma volta a um determinado local.
Ex.:
Local 1
Local 2
Local 3
Local 4
Local 2
Local 1
Local 15
Local 1
Preciso criar uma lista que recebera estes valores e ao mesmo tempo em que receba verifica se aquele local já foi listado em algum determinado momento. Caso tiver sido listado já uma pessoa X recebe 1;
Não sei se o tópico esta no lugar certo, acredito que sim;
Preciso apenas de uma ideia para achar uma "LUZ" e transportar para o PHP. Obrigado.

Problema Com Lógica
Started By Guilherme Ajax, 01/08/2007, 11:01
2 replies to this topic
#1
Posted 01/08/2007, 11:01
#2
Posted 01/08/2007, 17:20
isso ai vai estar m um banco ou em uma seção?
bom de qualquer maneira, cria uam estrutura (em banco ou em uma array) que tenha 2 campos: local e visitas
a primeira coisa é verificar se o tal local existe, se sim incremente no campo visitas deste local, +1, se não, crie o campo local com o campo visitas zerado, ou com 1...
bom de qualquer maneira, cria uam estrutura (em banco ou em uma array) que tenha 2 campos: local e visitas
a primeira coisa é verificar se o tal local existe, se sim incremente no campo visitas deste local, +1, se não, crie o campo local com o campo visitas zerado, ou com 1...
- Desenvolvedor Python + Django na World News
Blog
#3
Posted 02/08/2007, 08:52
isso ai vai estar m um banco ou em uma seção?
bom de qualquer maneira, cria uam estrutura (em banco ou em uma array) que tenha 2 campos: local e visitas
a primeira coisa é verificar se o tal local existe, se sim incremente no campo visitas deste local, +1, se não, crie o campo local com o campo visitas zerado, ou com 1...
Antes de tudo, obrigado pela resposta ^^...
Então, está no banco. Eu crei uma array como vc disse; Ai o que eu fiz, listei todos os campos "Vou postar aqui está na linguagem PHP, desculpe-me por postar no subforum de logica"
Este aqui é o processo completo - Não finalizado, o que ele faz é listar todos os locais ( terminais ) Vou separa-lo para explica-lo;
<?php $status = $_GET['status']; $dtini = $_GET['dtini']; $dtfim = $_GET['dtfim']; $es = $_GET['es']; function formata_data_bd($data_ant){ $data_nova = explode("/",$data_ant); $data_n = $data_nova[2]."-".$data_nova[1]."-".$data_nova[0]; return $data_n; } function pesquisa($dtini, $dtfim){ $cons_rel = mysql_query("SELECT * FROM relatorio WHERE dtcom >= '$dtini' AND dtcom <= '$dtfim'"); return $cons_rel; } function criaArray($cons_rel){ $x = 1; while( $row_rel = mysql_fetch_array($cons_rel, MYSQL_ASSOC)){ $terminal[$x] = $row_rel['terminal']; $tecnico[$x] = $row_rel['tecnico']; for($y=1;$y<=$x;$y++){ $term .= $terminal[$y] . " VARIAVEL X = " . $x . "<br>"; } $x += 1; } return $term; } if($status == 1){ $dtini = formata_data_bd($dtini); $dtfim = formata_data_bd($dtfim); $cons_rel = pesquisa($dtini, $dtfim); $term = criaArray($cons_rel); echo $term; } ?>
Eu faço uma verificação no banco dependendo das datas digitas anteriormente;
function pesquisa($dtini, $dtfim){ $cons_rel = mysql_query("SELECT * FROM relatorio WHERE dtcom >= '$dtini' AND dtcom <= '$dtfim'"); return $cons_rel; }
E aqui crio a array terminal que passa por um loop que verifica a sua posição e as anteriores. O problema desse tipo de verificação ja deve estar claro. MUITO lento por que lista todos os itens varias vezes. Exemplo se for a primeira, verifica uma vez, segunda duas, terceira tres, 26.520 26.520 vezes. =[
E ainda por cima não obtive o resultado desejado ainda, que apos eu verificar se existe um terminal igual antes adicionar 1 para o determinado tecnico.
function criaArray($cons_rel){ $x = 1; while( $row_rel = mysql_fetch_array($cons_rel, MYSQL_ASSOC)){ $terminal[$x] = $row_rel['terminal']; $tecnico[$x] = $row_rel['tecnico']; for($y=1;$y<=$x;$y++){ $term .= $terminal[$y] . " VARIAVEL X = " . $x . "<br>"; } $x += 1; } return $term; }
1 user(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)