Snipper 0 Denunciar post Postado Março 15, 2013 Recebo do form o valor 0,44Pessoal estou desenvolvendo um sistema para ser usando na engenharia e esse sistema eu preciso fazer alguns cálculos para achar os resultado, e o que ta pegando é o seguinte, a primeira parte do sistema ja esta pronta e ela me da um resultado que é por ex: 0,44 agora vamos ao problema, eu preciso pegar esse resultado e ver se ele existe em uma tabela de referencia que eu ja tenho cadastrada no mysql se ele existir ótimo ja esta resolvido basta eu acha lo e pegar o valor referente a ele, ate ai tudo bem, agora se el não existir na tabela de referencia eu preciso pegar os valores de 0,40 e 0,50 e fazer a interpolação para achar o valor exato de 0,44 então esse é meu problema eu preciso acha o valor máximo aproximado e minimo aproximando do valor que vem do form que eu pego via $_POST Ilustração Recebo do form o valor 0,44 Na tabela temos 0,43 0,44 0,45 0,46 Otimo so pegasmo o 0,44 e pronto Agora se na tabela tiver 0,42 0,43 0,45 0,46 Problema eu preciso identificar o primeiro numero menor que 0,44 que é o 0,43 e o primeiro maior que é 0,45 vale lembrar que os numero não seguem uma ordem tipo 1 2 3 4 5 6, os valores da tabela são 0,0010, 0,0020, 0,0040 e assim pordiante ela esta em ordem crescente mais os valores não tem o passo constante Desde ja agradeço a ajuda de todos Att Alexandre Desde ja agradeço a ajuda de todos Att Alexandre Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Março 15, 2013 And valor between round(0.44,2) and ( round(0.44,2) + .1) Grosso modo seria isto , creio. Compartilhar este post Link para o post Compartilhar em outros sites
Snipper 0 Denunciar post Postado Março 15, 2013 Mota a grosso modo sim mais como fale a tabela não e constante por exemplo se eu tiver o 0,44 e na tabela tiver 0,30 0,31 0,39 0,40 0,60 se eu somar +1 não vai funcionar esse esta sendo meu grande problema porque entre 0,40 e 0,60 eu posso ter 20 resultados diferentes Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Março 15, 2013 Na realidade seria entre 0.40 e 0.50, arredonda .44 para a 2@ casa decimal ==> 0.40 , soma então 0.10 (decimal da 1@ casa acima) ==> 0.50, assim o where ficaria And valor BETWEEN 0.40 AND 0.50 Eu talvez criasse uma function para calcular os dois valores. Compartilhar este post Link para o post Compartilhar em outros sites
Snipper 0 Denunciar post Postado Março 15, 2013 Motta vlw pela ajuda ai consegui resolver o problema, segue o código em anexo caso alguém precise $mi = $_POST['mi']; $sql = mysql_query("SELECT p2p1, m0 FROM tabela WHERE p2p1 = '$mi'") or die(mysql_error()); $total = mysql_num_rows($sql); if ($total == 1) { while($total=mysql_fetch_array($sql)){ echo "$total[p2p1] - $total[m0]"; } } else { if ($total == 0) { $sql1 = mysql_query("SELECT * FROM tabela WHERE p2p1 < '$mi' ORDER BY p2p1 DESC LIMIT 1"); while($total=mysql_fetch_array($sql1)){ echo "$total[p2p1] - $total[m0]</br>"; } $sql2 = mysql_query("SELECT * FROM tabela WHERE p2p1 > '$mi' ORDER BY p2p1 ASC LIMIT 1"); while($total=mysql_fetch_array($sql2)){ echo "$total[p2p1] - $total[m0]"; } } } Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Março 16, 2013 Problema eu preciso identificar o primeiro numero menor que 0,44 que é o 0,43 e o primeiro maior que é 0,45 Não atentei para isto ... Compartilhar este post Link para o post Compartilhar em outros sites
Snipper 0 Denunciar post Postado Março 16, 2013 Tranquilo de toda forma muito obrigado pela atenção Compartilhar este post Link para o post Compartilhar em outros sites