PF2G Posted June 28, 2012 Report Share Posted June 28, 2012 Bom dia eu estou a trabalhar neste simulador onde tenho o forumlario num .php e os calculos noutro .php estou a chamar o .php dos caluclos, mas sempre que clico em calcular diz-me que não encontra o ficheiro formulário <html> <form name="form" id="form" action="../save.php" method="post"> <input type="hidden" name="action" value="calc_panel" /> <table style="width:454px;"> <tr> <td class="descricao" style="width: 350px; height: 18px;">TIPO DE PAINEL E RESPECTIVA ALTURA:</td> </tr> <tr> <td style="width: 454px"> (....) </html> save.php (onde estao as action): case 'calc_panel': if(isset($_POST['quantidade'])) { $quantidade = $_POST['quantidade']; if (fmod($quantidade, 2.5)) { $quantidade = ceil($quantidade / 2.5) * 2.5; } $minimo = 3; switch ($quantidade) { case ($quantidade < 30): $flag=1; $val_montagem_1 = $flag * 3.5 + 25 ; $montagem=$val_montagem_1; case ($quantidade > 29 && $quantidade < 50 ): $flag=1; $val_montagem_2 = $flag * 3.5; $montagem = $montagem + $val_montagem_2 + $minimo; case ($quantidade < 100): $flag=1; $val_montagem_3 = $flag * 0.75; $montagem= $montagem + $val_montagem_3 ; case ($quantidade < 150): $flag=1; $val_montagem_4 = $flag * 0.5 ; $montagem= $montagem + $val_montagem_4 ; case ($quantidade < 300): $flag=1; $val_montagem_5 = $flag * 0.5; $montagem=$montagem + $val_montagem_5; case ($quantidade < 500): $flag=1; $val_montagem_6 = $flag * 0.5; $montagem= $montagem + $val_montagem_6; case($quantidade < 1000): $flag=1; $val_montagem_7 = $flag * 0.5; $montagem=$montagem + $val_montagem_7 ; } } else $quantidade=0; $sapatas = $_POST['sapatas']; $fiadas = $_POST['fiadas']; $distancia = $_POST['distancia']; if(isset($_POST['distancia'])) { if ($distancia < 0) { $distancia = abs($distancia); } if ($quantidade < 250) { $transporte = $distancia * 1.5 + 75; } } $exec_sapatas = ((15 * $sapatas)/2.5); $exec_fiadas = ((15 * $fiadas)/2.5); $rede =$rede + $exec_sapatas + $exec_fiadas; if ($quantidade == 0) { $transporte=0; $quantidade=1; $total_metro = ($total / $quantidade)*0; $total = (($rede+$montagem) * $quantidade + $transporte)* 0; $flag_1=0; } else if ($quantidade > 0) { $total = (($rede+$montagem) * $quantidade + $transporte); $total_metro = $total / $quantidade ; } $total=number_format ($total,2,',', '.'); $total_metro=number_format ($total_metro,2,',', '.'); break; Alguem me consegue ajudar? Obrigado, PF2G Link to comment Share on other sites More sharing options...
yoda Posted June 28, 2012 Report Share Posted June 28, 2012 <form name="form" id="form" action="save.php" method="post"> before you post, what have you tried? - http://filipematias.info sense, purpose, direction Link to comment Share on other sites More sharing options...
PF2G Posted June 28, 2012 Author Report Share Posted June 28, 2012 dessa maneira dá erro numa variável no save.php Eu estou a tentar usar o JQuery.Post. Será que me podes ajudar? Estou a tentar entender, mas é um bocado complicado. Obrigado, PF2G Link to comment Share on other sites More sharing options...
MASNathan Posted June 28, 2012 Report Share Posted June 28, 2012 1 - O caminho do ficheiro tem de ser o correcto, de outra forma não serve de nada 2 - Qual é o erro que te dá 3 - A informação que nos disponibilizas-te não é a suficiente para te ajudar-mos (tal como em todos os teus outros posts) Link to comment Share on other sites More sharing options...
PF2G Posted June 28, 2012 Author Report Share Posted June 28, 2012 (edited) Não me da erro nenhum, agora. Mas sempre que clico em calcular é-me redireccionado para o index if(isset($_POST['quantidade'])) { $quantidade = $_POST['quantidade']; if (fmod($quantidade, 2.5)) { $quantidade = ceil($quantidade / 2.5) * 2.5; } $minimo = 3; switch ($quantidade) { case ($quantidade < 30): $flag=1; $val_montagem_1 = $flag * 3.5 + 25 ; $montagem=$val_montagem_1; case ($quantidade > 29 && $quantidade < 50 ): $flag=1; $val_montagem_2 = $flag * 3.5; $montagem = $montagem + $val_montagem_2 + $minimo; case ($quantidade < 100): $flag=1; $val_montagem_3 = $flag * 0.75; $montagem= $montagem + $val_montagem_3 ; case ($quantidade < 150): $flag=1; $val_montagem_4 = $flag * 0.5 ; $montagem= $montagem + $val_montagem_4 ; case ($quantidade < 300): $flag=1; $val_montagem_5 = $flag * 0.5; $montagem=$montagem + $val_montagem_5; case ($quantidade < 500): $flag=1; $val_montagem_6 = $flag * 0.5; $montagem= $montagem + $val_montagem_6; case($quantidade < 1000): $flag=1; $val_montagem_7 = $flag * 0.5; $montagem=$montagem + $val_montagem_7 ; } } else $quantidade=0; $sapatas = $_POST['sapatas']; $fiadas = $_POST['fiadas']; $distancia = $_POST['distancia']; if(isset($_POST['distancia'])) { if ($distancia < 0) { $distancia = abs($distancia); } if ($quantidade < 250) { $transporte = $distancia * 1.5 + 75; } } $exec_sapatas = ((15 * $sapatas)/2.5); $exec_fiadas = ((15 * $fiadas)/2.5); $rede =$rede + $exec_sapatas + $exec_fiadas; Este é o codigo que estou a utilizar no .php do formulário: <script> $("#form").submit( function () { $.ajax({ type: "POST", dataType: "php", cache: false, url: "../save.php", success: function(data){ $("#results").php(data); } });return false; }); </script> <?php // liga os erros e a sua apresentação, comentar para desligar os erros ini_set('display_errors', 1); ini_set('error_reporting', E_ALL ^ E_NOTICE); //vizualizar variaveis //echo '<pre>';print_r($_POST);//print_r($_SESSION);print_r($_SERVER); $id_produtos = $_POST['id_produto']; $produtos = mysql_query("SELECT preco FROM produtos WHERE id_produto = '$id_produtos'") or die(mysql_error()); $linha = mysql_fetch_assoc($produtos); $rede = $linha['preco']; /*****************************FORUMLÁRIO PAINEIS**********************************/ ?> <div style="padding: 0 0 0 450px;"> <table> <div> <form name="form" id="form" action="save.php" method="post"> <input type="hidden" name="action" value="calc_panel" /> <table style="width:454px;"> <tr> <td class="descricao" style="width: 350px; height: 18px;">TIPO DE PAINEL E RESPECTIVA ALTURA:</td> </tr> <tr> <td style="width: 454px"> <select style="width:460px; text-align:left;" name="id_produtos" class="valor"> (...) Edited June 28, 2012 by PF2G Link to comment Share on other sites More sharing options...
MASNathan Posted June 28, 2012 Report Share Posted June 28, 2012 <script> $("#form").submit( function () { $.ajax({ type: "POST", dataType: "php", cache: false, url: "../save.php", <-------ESTÁ ERRADO success: function(data){ $("#results").php(data); } });return false; }); </script> <form name="form" id="form" action="save.php" method="post"> <------TIRA O ACTION Link to comment Share on other sites More sharing options...
PF2G Posted June 28, 2012 Author Report Share Posted June 28, 2012 Parece estar lá perto...agora eu clico em calcular e faz refresh, apagando todos os valores: FORMULÁRIO jquery <script> $("#form").submit( function () { $.ajax({ type: "POST", dataType: "php", cache: false, url: "../save", success: success; } });return false; }); </script> <?php // liga os erros e a sua apresentação, comentar para desligar os erros ini_set('display_errors', 1); ini_set('error_reporting', E_ALL ^ E_NOTICE); //vizualizar variaveis //echo '<pre>';print_r($_POST);//print_r($_SESSION);print_r($_SERVER); $id_produtos = $_POST['id_produto']; $produtos = mysql_query("SELECT preco FROM produtos WHERE id_produto = '$id_produtos'") or die(mysql_error()); $linha = mysql_fetch_assoc($produtos); $rede = $linha['preco']; /*****************************FORUMLÁRIO PAINEIS**********************************/ ?> <div style="padding: 0 0 0 450px;"> <table> <div> <form name="form" id="form" method="post"> <input type="hidden" name="action" value="calc_panel" /> <table style="width:454px;"> <tr> <td class="descricao" style="width: 350px; height: 18px;">TIPO DE PAINEL E RESPECTIVA ALTURA:</td> </tr> <tr> <td style="width: 454px"> <select style="width:460px; text-align:left;" name="id_produtos" class="valor"> <?php $produtos = mysql_query("SELECT * FROM produtos WHERE tipo_painel=1") or die(mysql_error()); $linha = mysql_fetch_assoc($produtos); do{ ?> <option value="<?php echo $linha['id_produto'] ?>"> <?php echo $linha['nome_produto'].' - '. $linha['altura'].' m'; ?> </option> <?php }while($linha = mysql_fetch_assoc($produtos)); ?> </select> </td> </tr> <tr> <td style="height:30px; width: 350px;"></td> </tr> </table> <table> <tr> <td class="descricao" style="width: 350px">QUANTIDADE DE VEDAÇÃO ( MULTIPLOS DE 2,5 M.L.)</td> <td> <input style="width:100px" type="text" name="quantidade" value="<?php echo $quantidade?>" class="valor"></td> </tr> <tr> <td class="descricao" style="width: 350px">EXECUÇÃO DE SAPATAS DE 2,5 EM 2,5M ?</td> <td> <select style="width:100%" name="sapatas" class="valor"> <option value="" <?php if ($sapatas == "") echo "selected"; ?>>Opção:</option> <option value="1" <?php if ($sapatas == "1") echo "selected"; ?>>SIM</option> <option value="0" <?php if ($sapatas == "0") echo "selected"; ?>>NÃO</option> </select> </td> </tr> <tr> <td class="descricao" style="width: 350px">BRAÇO A 45º COM 3 FIADAS DE FARPADO?</td> <td> <select style="width:100%" name="fiadas" class="valor"> <option value="" <?php if ($fiadas == "") echo "selected"; ?>>Opção:</option> <option value="1"<?php if ($fiadas == "1") echo "selected"; ?>>SIM</option> <option value="0"<?php if ($fiadas == "0") echo "selected"; ?>>NÃO</option> </select> </td> </tr> <tr> <td class="descricao" style="width: 350px">DISTÂNCIA DE LISBOA</td> <td> <input style="width:100px" type="text" name="distancia" value="<?php echo $distancia?>" class="valor"></td> </tr> <tr> <td style="height:30px; width: 350px;"></td> </tr> </table> <table> <tr> <td class="descricao">PREÇO POR M.L.:</td> <td style="width:100px; border:1px solid #A5ACB2;" class="valor"><?php echo $total_metro . ' €';?></td> <!--<td style="width:100px; border:1px solid #A5ACB2;" class="valor"><?php echo $rede;?>REDE </td> <td style="width:100px; border:1px solid #A5ACB2;" class="valor"><?php echo $montagem;?> MONT </td> <td style="width:100px; border:1px solid #A5ACB2;" class="valor"><?php echo $transporte;?> TRANSP</td> </tr>--> <tr> <td class="descricao">VALOR TOTAL:</td> <td style="width:100px; border:1px solid #A5ACB2;" class="valor"><?php echo $total .' €';?></td> </tr> </table> <table> <tr> <td style="height:30px"></td> </tr> <tr> <td style="padding-left:150px"><input type="submit" value="Calcular" /></td> <td style="padding-left:50px"><input type="submit" value="Imprimir" onclick="window.print()" /></td> </tr> <tr> <td></td> </tr> </table> </form> </div> </table> </div> save.php case 'calc_panel': if(isset($_POST['quantidade'])) { $quantidade = $_POST['quantidade']; if (fmod($quantidade, 2.5)) { $quantidade = ceil($quantidade / 2.5) * 2.5; } $minimo = 3; switch ($quantidade) { case ($quantidade < 30): $flag=1; $val_montagem_1 = $flag * 3.5 + 25 ; $montagem=$val_montagem_1; case ($quantidade > 29 && $quantidade < 50 ): $flag=1; $val_montagem_2 = $flag * 3.5; $montagem = $montagem + $val_montagem_2 + $minimo; case ($quantidade < 100): $flag=1; $val_montagem_3 = $flag * 0.75; $montagem= $montagem + $val_montagem_3 ; case ($quantidade < 150): $flag=1; $val_montagem_4 = $flag * 0.5 ; $montagem= $montagem + $val_montagem_4 ; case ($quantidade < 300): $flag=1; $val_montagem_5 = $flag * 0.5; $montagem=$montagem + $val_montagem_5; case ($quantidade < 500): $flag=1; $val_montagem_6 = $flag * 0.5; $montagem= $montagem + $val_montagem_6; case($quantidade < 1000): $flag=1; $val_montagem_7 = $flag * 0.5; $montagem=$montagem + $val_montagem_7 ; } } else $quantidade=0; $sapatas = $_POST['sapatas']; $fiadas = $_POST['fiadas']; $distancia = $_POST['distancia']; if(isset($_POST['distancia'])) { if ($distancia < 0) { $distancia = abs($distancia); } if ($quantidade < 250) { $transporte = $distancia * 1.5 + 75; } } $exec_sapatas = ((15 * $sapatas)/2.5); $exec_fiadas = ((15 * $fiadas)/2.5); $rede =$rede + $exec_sapatas + $exec_fiadas; if ($quantidade == 0) { $transporte=0; $quantidade=1; $total_metro = ($total / $quantidade)*0; $total = (($rede+$montagem) * $quantidade + $transporte)* 0; $flag_1=0; } else if ($quantidade > 0) { $total = (($rede+$montagem) * $quantidade + $transporte); $total_metro = $total / $quantidade ; } $total=number_format ($total,2,',', '.'); $total_metro=number_format ($total_metro,2,',', '.'); break; Link to comment Share on other sites More sharing options...
MASNathan Posted June 28, 2012 Report Share Posted June 28, 2012 url: "../save", deveria ficar url: "save.php", que te parece? Link to comment Share on other sites More sharing options...
PF2G Posted June 28, 2012 Author Report Share Posted June 28, 2012 (edited) mas o save.php esta numa pasta atras, não ha problema? EDIT: acontece a mesma coisa, apaga-me os valores todos, nem chega a fazer os cálculos sequer. Edited June 28, 2012 by PF2G Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted June 28, 2012 Report Share Posted June 28, 2012 o que é feito do load() ??? <script> $("#form").submit( function () { $("#results").load('../save.php'); return false; }); </script> simples e direto ... agora ... se não aparece nada depois disto é porque o script save.php não está a responder nada IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
PF2G Posted June 28, 2012 Author Report Share Posted June 28, 2012 tenho de por o action, certo? <form name="form" id="form" action="calc_panel" method="post"> para ele saber que case há-de usar case 'calc_panel': O que me esta a acontecer é: eu clicar em calcular e redireciona-me para o index Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted June 28, 2012 Report Share Posted June 28, 2012 mas que raio de ficheiro se encontra o javascript ?? IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
PF2G Posted June 28, 2012 Author Report Share Posted June 28, 2012 (edited) Ja esta +/- resolvido. Em vez passar os calculos por um ficheiro a parte, pus tudo no mesmo. Só que agora num simulador só faz cálculos a um produto, se selccionar outros produtos ele calcula o mesmo, estou a tentar o selected, mas sem sucesso: <?php // liga os erros e a sua apresentação, comentar para desligar os erros ini_set('display_errors', 1); ini_set('error_reporting', E_ALL ^ E_NOTICE); $id_produtos = $_POST['id_produto']; $produtos = mysql_query("SELECT preco FROM produtos WHERE id_produto = '$id_produtos'"); $linha = mysql_fetch_assoc($produtos); $rede = $linha['preco']; <div style="padding: 0 0 0 450px;"> <table> <div> <form name="form" id="form" action="" method="post"> <table style="width:454px;"> <tr> <td class="descricao" style="width: 350px; height: 18px;">TIPO DE PAINEL E RESPECTIVA ALTURA:</td> </tr> <tr> <td style="width: 454px"> <select style="width:460px; text-align:left;" name="id_produtos" class="valor"> <?php $all_produtos = mysql_query("SELECT * FROM produtos WHERE tipo_painel=1") or die(mysql_error()); $all_linha = mysql_fetch_assoc($all_produtos); /* $prod_id=mysql_query("SELECT * FROM produtos WHERE id_produto='".$all_linha['id_produto']."'") or die (mysql_error()); $prod=mysql_fetch_assoc($prod_id); */ do{ ?> <option value="<?php echo $all_linha['id_produto'] ?>" <?php if($all_linha['id_produto']){echo 'selected="selected"';} ?>> <?php echo $all_linha['nome_produto'].' - '. $all_linha['altura'].' m'; ?> </option> <?php }while($all_linha = mysql_fetch_assoc($all_produtos)); ?> </select> Edited June 28, 2012 by PF2G Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now