Ir para conteúdo
Fórum Script Brasil
  • 0

duvida formulario, botao adicionar campo consultar.


heldersm

Pergunta

ola pessoal, me cadastrei no forum hoje e gostaria de pedir ajuda sobre uma duvida.

estou construindo um sistema aqui no meu trampo em php e mysql....

funciona da seguinte forma:

um banco mysql com uma tabela com codigo, produto, preço etc...

e um formulario php q busca nessa tabela pelo codigo e exibe o resultado. Ai a pessoa clica num botao adicionar campo e repete o formulario mantendo o atual em cima, e digita outro codigo consulta e assim vai, ate terminar tudo e gerar a impressao..

o formulario e simples so tem dois campos codigo e quantidade...o codigo não se repete, então nada complexo...

a pessoa digita o codigo, e clica em consultar, o resultado vem no iframe. q fica sempre aparecendo na pagina.

o problema q estou tendo a no botao adicionar campo, q não consigo repetir o formulario, alias ate consigo mas ele não manda so repete uma vez. acho q tinha q ser em javascript certo?

eu tenho outro script q fiz em javascript so q cada vez q adiciono um campo apaga o outro =(...

vo postar o primeiro q eu gostei mais.

vo posta o script do php e o da conexao mysql...espero q me ajudem.

vlw!

<html>  
<head>
    <link rel="shortcut icon" href="favicon.ico" type="image/x-icon"/>
    <title>SISPLAN - Sistema de Planilhas e Orçamento</title>  
<script language="JavaScript" type="text/javascript">
function mostra(rBtnValor){
     div = document.getElementById('teste');
     if(rBtnValor == '1')
     {
            div.style.display = 'block';  
     }
     else
     {
             div.style.display = 'none';                            
     }                  
};

function mostra(rBtnValor){
     div = document.getElementById('teste2');
     if(rBtnValor == '1')
     {
            div.style.display = 'block';
     }
     else
     {
             div.style.display = 'none';
     }
}
</script>
</head>  

<body>
<div id="cabecalho" align="center">
    <img src="imagens/img1.jpg" border="0" />
    </div>
    <br />
    <br />
    <div id="formulario" align="center">
      <form method="POST" name="form" action="teste.php" target="_painel">
      <b>Escolha a Tabela:</b>
        <input type="radio" checked="true" name="tabela" value="teste1" />tabela 1
        <input type="radio" name="tabela" value="pini" />tabela 2
        <input type="radio" name="tabela" value="siurb" />tabela 3
        <input type="radio" name="tabela" value="sinap" />tabela 4
      <br />
      <br />
      <b>Codigo:</b>
          <input type="text" name="codigo">
      <b>Quantidade:</b>
          <input type="text" name="quantidade">
          <input type="reset" value="Apagar">
          <input type="submit" value="Consultar">
          <input type="button" name='rTeste' onclick="mostra('1');" value="Adicionar outro item" class="campo">    
      </form>
      <iframe name="_painel"></iframe>


<br />

      
      <div id="teste2" style="display: none;">
      <form method="POST" name="form" action="teste.php" target="fff2">
      <b>Escolha a Tabela:</b>
        <input type="radio" checked="true" name="tabela" value="teste1" />tabela 1
        <input type="radio" name="tabela" value="pini" />tabela 2
        <input type="radio" name="tabela" value="siurb" />tabela 3
        <input type="radio" name="tabela" value="sinap" />tabela 4
      <br />
      <br />
      <b>Codigo:</b>
          <input type="text" name="codigo">
      <b>Quantidade:</b>
          <input type="text" name="quantidade">
          <input type="reset" value="Apagar">
          <input type="submit" value="Consultar">
          <input type="button" name='rTeste' onclick="mostra('1');" value="Adicionar outro item" class="campo">
      </form>
      <iframe name="fff2"></iframe>
      </div>

</body>  
</html>
aqui o da busca
<HTML>
<HEAD>
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon"/>
<TITLE>Documento PHP</TITLE>
</HEAD>
<BODY>

<?
//script banco
$tabela = $_POST['tabela'];
$codigo = $_POST['codigo'];
$quantidade = $_POST['quantidade'];
$bd = 'tab_carlos';
$user = 'root';
$host = 'localhost';
$senha = '1302';
$conecta = mysql_connect($host, $user, $senha) or die ("erro de conexao BD". mysql_error());
$link = mysql_select_db($bd, $conecta) or die ("erro selecao bd". mysql_error());
$query = ('SELECT * FROM '.$tabela.' WHERE codigo LIKE "%'.$codigo.'%"');
$resultado = mysql_query($query) or die("Erro no query". mysql_error());
$total = mysql_num_rows($resultado);
if (mysql_num_rows($resultado) > 0){
while ($linha = mysql_fetch_array($resultado)) {
   ?>
   <table border="1" align="center">
   <tr>
      <td><? echo $linha['codigo']; ?></td>
      <td><? echo $linha['descricao']; ?></td>
   </tr>
   </table>
   <?
   loop;
}
}else{
echo "<b>Não foi encontrado nenhum resultado</b>";


}
mysql_close();

?>

</BODY>
</HTML>

desde já obrigado em

=)

Link para o comentário
Compartilhar em outros sites

13 respostass a esta questão

Posts Recomendados

  • 0

Faz isso e veja se funciona...

<input type="button" value="Adcionar" onclick='adcionar();'>
<script language='JavaScript'>
function adcionar()
{
    window.location.replace("pagina.php?add=<?php if(isset($_GET["add"])){ echo $_GET["add"]+1; } else{ echo"1"; } ?>");
}
</script>
<?php
$add = $_GET["add"];
for($i=0;$i<$add;$i++)
{
    echo"<input type='text' name='codigo'><BR><BR><input type='text' name='quantidade'>";
}
?>

Funcionando este código, é só ajustá-lo da maneira como você necessita.

Link para o comentário
Compartilhar em outros sites

  • 0

obrigado pela ajudar renato....funcionou o scritpt mas resolvi fazer de outro jeito.

vou colocar a busca numa div, e o resultado da consulta no iframe abaixo, ai nele ira ter um botao adicionar

e ele jogar aquele item para outro iframe embaxo, montando assim a planilha com o orcamento...a duvida agora esta no botao q envia o item para a outra tabela.

vocês acham q eu crio uma tabela temporaria? ou crio uma tabela no servidor q ao sair do programa apague os registros?

descupa as duvidas e q sou iniciante hahaa =)....

mas brigadao

queria alguma dica pra jogar o item da consulta na nova tabela, tipo o botao adicionar tem q ser submit e ele vai com POST e exececuta um arquivo php q cria a tabela temporaria ou insere o item num tabela no banco certo?

faco com o if?

vlw!

Link para o comentário
Compartilhar em outros sites

  • 0

acho q estou perto

tipo a consulta ta resultando no iframe certo, só preciso fazer o botao inserir, colocar o resultado na nova tabela, e mostrar ela no iframe de baixo...eu to conseguindo inserir os dados na tabela, mas não os dados do resultado da consulta...

olha o script pra ver se entendem

busca

<?
//script banco
$tabela = $_POST['tabela'];
$codigo = $_POST['codigo'];
$quantidade = $_POST['quantidade'];
$bd = 'tab_carlos';
$user = 'root';
$host = 'localhost';
$senha = '1302';
$conecta = mysql_connect($host, $user, $senha) or die ("erro de conexao BD". mysql_error());
$link = mysql_select_db($bd, $conecta) or die ("erro selecao bd". mysql_error());
$query = ('SELECT * FROM '.$tabela.' WHERE codigo LIKE "%'.$codigo.'%"');
$resultado = mysql_query($query) or die("Erro no query". mysql_error());
$total = mysql_num_rows($resultado);
if (mysql_num_rows($resultado) > 0){
while ($linha = mysql_fetch_array($resultado)) {
   ?>
   <table border="1" align="left">
   <tr>
      <td><? echo $linha['codigo']; ?></td>
      <td><? echo $linha['descricao']; ?></td>
   </tr>
   </table>
   <form method="post" action="insere2.php" target="orcamento">
   <input type="submit" name="insere" value="Inserir?">
   </form>
   <?
   loop;
}
}else{
echo "<h3>Este item não existe na tabela.</h3>";


}
mysql_close();

?>
inserir
<?php
$bd = 'temporario';
$user = 'root';
$host = 'localhost';
$senha = '1302';
$conecta = mysql_connect($host, $user, $senha) or die ("erro de conexao BD". mysql_error());
$link = mysql_select_db($bd, $conecta) or die ("erro selecao bd". mysql_error());
$inserir = "INSERT INTO temp (codigo,descricao) VALUES ('$codigo','$descricao')";
$dados = mysql_query ($inserir);
if( $dados ) echo 'Dados inseridos<br>';

   else echo 'Não foi possível inserir os dados na tabela<br>';

?>

Link para o comentário
Compartilhar em outros sites

  • 0

isso é possivel?

inserir em uma nova tabela os valores de uma outra tabela de acordo com a busca do formulario?

<?php

$query = ('INSERT INTO temp (codigo,descricao) VALUE (codigo,descricao) FROM '.$tabela.' WHERE codigo LIKE "'.$codigo.'"');
$dados = mysql_query ($query);
if( $dados ) echo 'Dados inseridos<br>';

   else echo 'Não foi possível inserir os dados na tabela<br>';
?>

Link para o comentário
Compartilhar em outros sites

  • 0

consegui fazer a consulta e inserir \o/

usei

$inserir = ('INSERT INTO temp SELECT * FROM '.$tabela.' WHERE codigo LIKE "'.$codigo.'"');

agora gostaria de saber se algum de vocês sabe onde eu coloco as colunas q gostaria de inserir tipo...

a $tabela tem codigo e descricao, e a tabela tempo vai ter codigo, descricao, total...só q eu só quero pegar o codigo e a descricao da $tabela.

entenderam?

brigadao!

Link para o comentário
Compartilhar em outros sites

  • 0
consegui fazer a consulta e inserir \o/

...

$inserir = ('INSERT INTO temp SELECT * FROM '.$tabela.' WHERE codigo LIKE "'.$codigo.'"');
...agora gostaria de saber se algum de vocês sabe onde eu coloco as colunas q gostaria de inserir tipo... a $tabela tem codigo e descricao, e a tabela tempo vai ter codigo, descricao, total...só q eu só quero pegar o codigo e a descricao da $tabela...
Oi, 'heldersm' Complete a instrução insert colocando os campos assim:
$inserir = ('INSERT INTO temp (codigo, descricao)
SELECT codigo, descricao FROM '.$tabela.' WHERE codigo LIKE "'.$codigo.'"');

Link para o comentário
Compartilhar em outros sites

  • 0

poxa cara funcionou hahaa =)

eu juro q já tinha tentado e não tinha conseguido...

=]

sem querer abusar mas tenho outra duvida...

estou usando esse select pra consultar os dados na tabela

$query = ("SELECT * FROM ".$tabela." WHERE codigo LIKE '".$codigo."'");
onde $tabela é um radio buton q escolhe as tabelas no banco de dados, e $codigo é o text box onde é digitado o codigo para a consulta. Só q tenho um text box $quantidade, e preciso q esse valor digitado seja multiplicado pelo valor da coluna valor_unit na tabela. E depois seja mostrado no resultado q é esse:
while ($linha = mysql_fetch_array($resultado)) {
   ?>
   <table border="1" align="center">
   <tr align="center">
      <td><b>Codigo</b></td>
      <td><b>Descricao</b></td>
      <td><b>Valor Unitario</b></td>
      <td><b>Quantidade</b></td>
      <td><b>Valor total</b></td>
   </tr>
   <tr>
      <td><? echo $linha['codigo']; ?></td>
      <td><? echo $linha['descricao']; ?></td>
      <td><? echo $linha['valor_unit']; ?></td>
      <td><? echo $linha['quantidade']; ?></td>
      <td><? echo $linha['valor_total']; ?></td>
   </tr>
   </table>

posso adiconar AND ali no select? ou tem outro jeito mais facil?

muito obrigado pela ajuda, to aprendendo sozinho, é legal, mas tem hora q agente se encontra meio perdido...

vlw!

Link para o comentário
Compartilhar em outros sites

  • 0
...estou usando esse select pra consultar os dados na tabela

$query = ("SELECT * FROM ".$tabela." WHERE codigo LIKE '".$codigo."'");
onde $tabela é um radio buton q escolhe as tabelas no banco de dados, e $codigo é o text box onde é digitado o codigo para a consulta. Só q tenho um text box $quantidade, e preciso q esse valor digitado seja multiplicado pelo valor da coluna valor_unit na tabela. E depois seja mostrado no resultado q é esse:
<td><? echo $linha['codigo']; ?></td>
      <td><? echo $linha['descricao']; ?></td>
      <td><? echo $linha['valor_unit']; ?></td>
      <td><? echo $linha['quantidade']; ?></td>
      <td><? echo $linha['valor_total']; ?></td>
...
Faça assim:
$query = ("SELECT codigo, descricao, valor_unit, ".$quantidade." AS quantidade, (valor_unit * ".$quantidade.") AS valor_total,  tabela." FROM ".$tabela." WHERE codigo LIKE '".$codigo."'");

Não sei nada de PHP. Mas o código segue a idéia. Verifique se são estes os nomes dos campos de sua tabela. Se não for, substirua-os pelos nomes corretos.

Link para o comentário
Compartilhar em outros sites

  • 0

vlw amigo deu certo =).

já fiz a consulta e a parte de inserir na nova tabela q ficou assim:

$inserir = ("INSERT INTO temp (codigo,descricao,valor_unit,quantidade,valor_total) SELECT codigo, descricao, valor_unit, ".$quantidade." AS quantidade, (valor_unit * ".$quantidade.") AS valor_total FROM ".$tabela." WHERE codigo LIKE ".$codigo." ");

agora minha duvida é a seguinte, na hora q insiro o dado, preciso q atualize automaticamente o iframe q aparece a tabela em que esta sendo adicionado os itens...

tipo é uma tabela só, conforme a pessoa vai adicionando dados eles vao sendo inseridos. Ai na hora q a pessoa sai do programa eu fiz um botao q pergunta se a pessoa quer sair, se sim ela fecha e apagar a tabela temporaria =)....

preciso colocar tipo um refresh não tenho ideia como haha. to dando uma pesquisada se alguém tiver alguma dica me ajude =)...

brigadao!

Link para o comentário
Compartilhar em outros sites

  • 0

bom consegui resolver mais essa fase =).

agora a duvida é a seguinte...

eu tenho o a tabela temporaria no banco, assim q a pessoa fecha o programa a tabela fica limpa.

ate ai tudo bem. só q agora vou precisa criar botoes com a formula total, da soma da coluna $total.

ele vai incluindo itens e conforme for vai adicionando.

quando você clica em sub total vem o resultado da soma de todos os itens incluidos por ele ate o momento.

depois ele volta a incluir mais itens. e quando acabar , sub total novamente.

ate a hora q ele se cansa e clica em TOTAL. ai o programa soma os sub totais.

depios ele clica em bdi e digita a porcentagem e o programa pega o total e soma a porcentagem.

fica mais ou menos assim

codigo | descricao | valor_unit | quantidade | valor_total

5 | bbb | 20 | 5 | 100

20 | ffff | 5 | 10 | 50

|SUB TOTAL | 150

_____________________________________________

codigo | descricao | valor_unit | quantidade | valor_total

6 | aaa | 2 | 5 | 10

66 | dddf | 5 | 5 | 25

| SUB TOTAL | 35

_____________________________________________

| TOTAL | | 185

| BDI | 10% | 203,5

| TOTAL GERAL | | 388,5

_______________________________________________

não sei se deu pra entender muito bem hahaha =).

gostaria da opniao de vocês se isso é possivel? se sim, vocês podem me dar alguma dica ou indicar o caminho de como fazer?

estava pensando em criar mais 1 tabela só de totais, mas não sei se daria certo, estou meio sem ideias =(.

se vocês me mostrarem a luz eu chego ate ela =).

sou autodidata to aprendendo com apostila e com a ajuda desse foruns na net =).

desde já brigadao

Editado por heldersm
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...