Follow 0 Denunciar post Postado Dezembro 20, 2009 Bem primeiramente bom dia. Eu possuo um formulario com 2 campos e script que faz um calculo. Eu preencho o primeiro campo ao clicar em submit ele gera o conteudo do segundo campo. O Formulario esta assim: <form action="javascript:exit();"><table class="indented"> <tr> <th>Texto</th> <td><input type="text" name="input" size="50"/></td></tr> <tr><th> </th><td style="text-align:center"> <input type="button" onclick="pi.value = chise_pi(input.value)" value="Gerar Calculo"/></td></tr> <tr> <th>Pi:</th><td><input type="text" name="pi" size="50"/></td></tr> </table></form> No caso as tabelas seriam input e pi, porem como o click no gerar chama a função não sei como fazer para gravam em um banco. Compartilhar este post Link para o post Compartilhar em outros sites
João Batista Neto 448 Denunciar post Postado Dezembro 20, 2009 Follow, Você tem algum conhecimento de PHP ? Já sabe qual banco de dados vai usar ? Compartilhar este post Link para o post Compartilhar em outros sites
Follow 0 Denunciar post Postado Dezembro 20, 2009 Mysql5 Meu conhecimento é bem novato, estou começando a uns meses. Desculpe pelo titulo com o "ajuda" Vo dar mais ou menos o que to pretendendo fazer. Eu gostaria de salvar os resultados do que gerou no Banco, para os poucos ir implementando um sisteminha de busca de calculos ja efetuados. Inicialmente minha duvida é de como gravar os resultados, eu poderia fazer um grava.php no submit com os dados de conexao com o banco, porem o botão submit ja faz o calculo do segundo campo. No caso eu queria que fizesse os 2, não tenho ideia de como fazer :/ Compartilhar este post Link para o post Compartilhar em outros sites
João Batista Neto 448 Denunciar post Postado Dezembro 20, 2009 porem o botão submit ja faz o calculo do segundo campo. No caso eu queria que fizesse os 2, não tenho ideia de como fazer :/ Nesse caso, você deverá primeiro substituir a ação do seu botão, atribuindo uma função JavaScript para que faça o cálculo e envie os dados: <input type="button" onclick="calcular();" value="Gerar Cálgulo" /> Ou então, atribuir as duas ações: <input type="button" onclick="pi.value = chise_pi(input.value); enviar();" value="Gerar Cálgulo" /> Compartilhar este post Link para o post Compartilhar em outros sites
Follow 0 Denunciar post Postado Dezembro 20, 2009 Desculpa a ignorancia minha, mas a função do botão ja é JS o que ta entre "". No caso eu chamaria o grava.php ao invés do "enviar()"? Compartilhar este post Link para o post Compartilhar em outros sites
João Batista Neto 448 Denunciar post Postado Dezembro 20, 2009 No caso eu chamaria o grava.php ao invés do "enviar()"? No action do seu form você colocaria grava.php e no enviar você faria o cálculo e colocaria: seuform.submit(); Compartilhar este post Link para o post Compartilhar em outros sites
Follow 0 Denunciar post Postado Dezembro 20, 2009 To boiando, vamos la. Se me disse para mudar o action do form <form action="javascript:exit();"><table class="indented">para <form action="grava.php"><table class="indented">Seria isso? porque se eu tirar "javascript:exit();" meu script entra em loop teoricamente =/ Você teria um exemplo pratico de algo que grave no banco que ja exista um calculo previo em JS. Exemplo: campo1=1+1 submit com js campo2=2 Compartilhar este post Link para o post Compartilhar em outros sites
João Batista Neto 448 Denunciar post Postado Dezembro 20, 2009 Você teria um exemplo pratico de algo que grave no banco que ja exista um calculo previo em JS. Exemplo: campo1=1+1 submit com js campo2=2 teste.html <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http-~~-//www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http-~~-//www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>Exemplo de envio de formulário com cálculo</title> <script type="text/javascript"> function somar(){ var campo1 = parseInt( document.getElementById( 'campo1' ).value ); var campo2 = parseInt( document.getElementById( 'campo2' ).value ); document.getElementById( 'resultado' ).setAttribute( 'value' , campo1 + campo2 ); document.getElementById( 'form1' ).submit(); } </script> </head> <body> <form id="form1" action="grava.php" method="post"> <label for="campo1"> <span>Campo 1:</span><br /> <input id="campo1" name="campo1" size="50" /> </label> <br /> <label for="campo2"> <span>Campo 2:</span><br /> <input id="campo2" name="campo2" size="50" /> </label> <br /> <label for="resultado"> <span>Resultado:</span><br /> <input id="resultado" name="resultado" size="50" readonly="readonly" /> </label> <br /> <input type="button" onclick="somar();" value="Somar" /> </form> </body> </html> grava.php <?php $campo1 =& $_POST[ 'campo1' ]; $campo2 =& $_POST[ 'campo2' ]; $resultado =& $_POST[ 'resultado' ]; echo 'O campo 1 vale: ' , $campo1 , '<br />'; echo 'O campo 2 vale: ' , $campo2 , '<br />'; echo 'O resultado vale: ' , $resultado , '<br />'; Compartilhar este post Link para o post Compartilhar em outros sites
Follow 0 Denunciar post Postado Dezembro 20, 2009 Subistitiu os valores do seu grava.php por esses: grava.php <?php $dbConnection = mysql_connect("endereço", "usuario", "senha") or die("Não foi possível estabelecer uma ligação ao MYSQL!"); $dbSelected = mysql_select_db("kuroneko",$dbConnection) or die("Não foi possível seleccionar a Base de Dados! |Conexão ao MYSQL: ".$dbConnection); if(isset($_POST['botao_submit'])) { $campo1 = $_POST['campo1']; $campo2 = $_POST['campo2']; if(!(empty($campo1) || empty($campo2))) { mysql_query("INSERT INTO teste(campo1,campo2) VALUES('".$_POST['campo1']."','".$_POST['campo2']."')"); $id = mysql_insert_id(); } } if(isset($id)) { $get = mysql_query("SELECT * FROM teste WHERE id=".$id); $record = mysql_fetch_assoc($get); } ?>Esta correto?No caso acho que não gravou por não existir a tabela teste no banco. Como ficaria o insert do select para eu adicionar na tabela teste: ID(autoincremento), Campo1, Campo2, Data(Dia/mês/Ano), Horario(Hora:Minuto:Segundo) e IP Compartilhar este post Link para o post Compartilhar em outros sites
João Batista Neto 448 Denunciar post Postado Dezembro 20, 2009 Como ficaria o insert do select para eu adicionar na tabela teste: ID(autoincremento), Campo1, Campo2, Data(Dia/mês/Ano), Horario(Hora:Minuto:Segundo) e IP O ideal é que você tenha na tabela em vez de uma coluna data e uma horario você tenha apenas uma gravado do tipo TIMESTAMP, criando a tabela: mysql> create table `teste`( -> `id` mediumint(8) unsigned not null auto_increment, -> `campo1` mediumint(8) not null, -> `campo2` mediumint(8) not null, -> `gravado` timestamp not null default current_timestamp, -> `ip` varchar(15) default null, -> primary key(`id`) -> ); Query OK, 0 rows affected (0.01 sec) Para recuperar o IP você pode usar: $_SERVER[ 'REMOTE_ADDR' ] Para gravar ficaria assim: //... $campo1 = $_POST['campo1']; $campo2 = $_POST['campo2']; $ip = $_SERVER[ 'REMOTE_ADDR' ]; if ( !empty($campo1) && !empty($campo2) ) ){ mysql_query( sprintf( 'INSERT INTO `teste`(`campo1`,`campo2`,`ip`) VALUES(%d,%d,"%s");' , $campo1 , $campo2 , $ip ) ); $id = mysql_insert_id(); } //... A coluna gravado como está com DEFAULT CURRENT_TIMESTAMP irá gravar automaticamente a data e hora da gravação para você Compartilhar este post Link para o post Compartilhar em outros sites
Follow 0 Denunciar post Postado Dezembro 20, 2009 O seu exemplo funciona perfeitamente e grava no banco. Ainda não consegui alterando os campos da minha tabela e php, simplesmente o javascript ta perdendo a função e não calculando quando clico no botão. Antes estava dessa forma: <form action="javascript:exit();"><table class="indented"> eu to perdendo o código subistitui deixando assim <form id="form1" action="grava.php" method="post"><table class="indented">.o onclick permanece inalterado: <input type="button" onclick="pi.value = chise_pi(input.value)" value="Gerar Calculo"/> Antes dele abrir o form ele tem um retorno, sera que poderia ter a ver? return pi; } //--> </script> Compartilhar este post Link para o post Compartilhar em outros sites
João Batista Neto 448 Denunciar post Postado Dezembro 21, 2009 Amigão, não compreendi esse seu último post. Compartilhar este post Link para o post Compartilhar em outros sites
Follow 0 Denunciar post Postado Dezembro 22, 2009 Não sei se to sabendo me expressar. Nessa linha do seu: <form id="form1" action="grava.php" method="post"><table class="indented"> No action, tem como colocar as 2 ações ao mesmo tempo? Meu script sem isso aqui <form action="javascript:exit();"> parece que não funciona. Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Dezembro 23, 2009 Poste a funcao: exit() pois sem ter a menor ideia do que ela faz, nao vamos saber oque sugerir. Compartilhar este post Link para o post Compartilhar em outros sites
Follow 0 Denunciar post Postado Dezembro 24, 2009 Poste a funcao: exit() pois sem ter a menor ideia do que ela faz, nao vamos saber oque sugerir. Segue o código do jeito que ta: <script src="http://www.matematicando.org/lamat.js" type="text/javascript"></script> <script type="text/javascript"> <!-- function createRandomLowerCaseLetter() { return String.fromCharCode(97 + Math.round(Math.random() * 25)); } function chise_pi (deno) { nostre = ''; for (i=0; i<100; i++) { nostre += createRandomLowerCaseLetter(); } ino = do_lamat(nostre).substring(5, 4); pi = do_lamat(ino + deno) + '/' + ino; return pi; } //--> </script> <form action="javascript:exit();"><table class="indented"> <tr> <th>Texto</th> <td><input type="text" name="input" size="50"/></td></tr> <tr><th> </th><td style="text-align:center"> <input type="button" onclick="pi.value = chise_pi(input.value)" value="Gerar Pi"/></td></tr> <tr> <th>Pi:</th><td><input type="text" name="pi" size="50"/></td></tr> </table></form> eita moveram denovo. Bem eu tava tendo uma ideia aqui não sei se viajei no pensamento. E se ao invés de eu chamar o arquivo no action eu incluir algum "include grava.php ou include conexao.php" no inicio do arquivo. Vejo isso pois em estruturas de sites php é comun uma pagina chamar outra (scripts de forum por exemplo). Meu conhecimento é bem vago de php, não sei se to pedindo algo impossivel. A estruturinha do arquivo como podem ver é simples, inicialmente a minha ideia é apenas gravar os campos. Depois viria implementação, exibir ultimas adições e etc :/ Compartilhar este post Link para o post Compartilhar em outros sites