Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
Danilo Camargo

Como criar um formulário para cadastrar vários valores em uma mesma tabela?

Recommended Posts

Boa noite, pessoal!

 

Estou desenvolvendo um sistema ERP para uma matéria da faculdade. A sala foi dividida em grupos e cada grupo ficou responsável por um módulo. No meu caso, meu grupo e eu ficamos com a parte de ESTOQUE. E estamos tendo dificuldades para criar uma tela que foi solicitada pelo professor. Preciso criar uma tela para incluir itens em determinada requisição. O problema é que essa tela deve conter um botão chamado "Adicionar Mais Itens" e quando clicar nesse botão deverá aparecer novos campos para o preenchimento de um outro produto sem sair da tela atual. E por fim, um botão "Submit" para enviar as informações dos campos dos Produtos para o Banco de Dados. Estamos desenvolvendo o ERP em PHP e utilizando o PHP My Admin na parte do BD. Seria possível fazer isso?

Agradeço desde já.

 

Irei postar abaixo o código da tela e do banco que possuímos no momento.

 

Nome do arquivo: requisição.php

<?php
	include_once("..\..\config.php");
?>
<?php
	$page_title = "Cadastro Requisicao";
	include($_SERVER['DOCUMENT_ROOT']."/NovoModelo/header.php");
	echo "<div class='right-button-margin'>";
    echo "<a href='..\..\IniciaisMenu/estoque.php' class='btn btn-info pull-right'>";
    echo "<span class='glyphicon glyphicon-list-alt'></span> Voltar ";
    echo "</a>";
	echo "</div>";
?>
<html>
	<body>
		<form action="requisicao.php" method="post" name="form1" style = "background-color:white;">
			<table align="center">
				<tr align="center">
					<td rowspan="2"><b> <h3> Cadastrar Requisição </b> </h3></b></td>
				</tr>
			</table>
			<table align="center" >	
				<tr>
					<td colspan="2"><h6>* Digite as informações nos campos abaixo, para cadastrar uma nova requisição.</h6></Td>
				</tr>
				<tr><td><br></td></tr>
				<tr>
					<td><b>Descrição</b></td>
					<td>
						<input type="text" name="descricao">
					</td>
				</tr>
				<tr><td><br></td></tr>
				<tr>
					<td><b>Data</b></td>
					<td>
						<input type="text" name="data">
					</td>
				</tr>
				<tr><td><br></td></tr>
				<tr>
					<td><b>STATUS</b></td>
					<td><select name="status"/>
						<option value="">Selecione</option>
						<option value ="Aberto"> Aberto </option>
						<option value ="Fechado"> Fechado </option>
					</td>
				</tr>
				<tr><td><br></td></tr>
				<tr>
					<td colspan="2" align="center">
						<center>
						<input type="submit" name="Submit" value="Salvar" class="btn btn-primary">		
						</center>
					</td>
				</tr>
			</table>
			<br><br>
		</form>
		<?php
			echo "<div class='right-button-margin'>";
			echo "<a href='requisicao2.php' class='btn btn-primary pull-right'>";
			echo "<span class='glyphicon glyphicon-plus'></span>Incluir Itens";
			echo "</a>";
			echo "</div>";
		?>
		<?php
			//including the database connection file
			include($_SERVER['DOCUMENT_ROOT']."/NovoModelo/config.php");

			if(isset($_POST['Submit'])) {	
				$descricao = mysqli_real_escape_string($mysqli, $_POST['descricao']);
				$data = mysqli_real_escape_string($mysqli, $_POST['data']);
				$status = mysqli_real_escape_string($mysqli, $_POST['status']);
				$result = mysqli_query($mysqli, "INSERT INTO est_requisicao(req_descricao, req_data, req_status) VALUES('$descricao','$data','$status')");	
			}
		?>
	</body>
</html>
<div style="position:fixed;margin-bottom:0px;">
	<?php
		include($_SERVER['DOCUMENT_ROOT']."/NovoModelo/footer.php");
	?>
</div>

 

Nome do arquivo: requisição2.php

 

<?php
	include_once("..\..\config.php");
?>
<?php
	$page_title = "Incluir Itens";
	include($_SERVER['DOCUMENT_ROOT']."/NovoModelo/header.php");
	echo "<div class='right-button-margin'>";
	echo "<a href='..\..\IniciaisMenu/estoque.php' class='btn btn-info pull-right'>";
	echo "<span class='glyphicon glyphicon-list-alt'></span> Voltar ";
	echo "</a>";
	echo "</div>";
?>
<html>
	<body>
		<form action="requisicao2.php" method="post" name="form1" style = "background-color:white;">
			<table align="center">
				<tr align="center">
					<td rowspan="2"><b> <h3> Incluir Itens na Requisição </b> </h3></b></td>
				</tr>
			</table>
			<table align="center" >	
				<tr>
					<td colspan="2"><h6>* Digite as informações nos campos abaixo, para incluir um novo item.</h6></Td>
				</tr>
				<TR>
					<td ><b> Requisição </b> </td>
					<td><select name="requisicao">
						<option value="">Selecione</option>
						<?php
							$result_requisicao = "SELECT * FROM est_requisicao WHERE req_status='Aberto'";
							$resultado_requisicao = mysqli_query($mysqli, $result_requisicao);
							
							while ($row_requisicao = mysqli_fetch_assoc($resultado_requisicao)){ ?>
								<option value ="<?php echo $row_requisicao['req_id']; ?>"><?php echo $row_requisicao['req_descricao']; ?>
							</option> <?php
							}
						?>
					</td>
				</TR>
				<tr><td><br></td></tr>
				<TR>
					<td ><b>PRODUTO EM ESTOQUE</b> </td>
					<td><select name="prod_est">
						<option value="">Selecione</option>
						<?php
							$result_produto = "SELECT * FROM est_cad_prod";
							$resultado_produto = mysqli_query($mysqli, $result_produto);
							
							while ($row_produto = mysqli_fetch_assoc($resultado_produto)){ ?>
								<option value ="<?php echo $row_produto['cad_prod_id']; ?>"><?php echo $row_produto['cad_prod_nome']; ?>
								</option> <?php
							}
						?>
					</td>
				</TR>
				<tr><td><br></td></tr>
				<TR>
					<td ><b> SETOR </b> </td>
					<td><select name="setor">
				<option value=""></option>
			<?php
				
				$result_setor = "SELECT * FROM est_setor";
				$resultado_setor = mysqli_query($mysqli, $result_setor);
				
				while ($row_setor = mysqli_fetch_assoc($resultado_setor)){ ?>
					<option value ="<?php echo $row_setor['set_id']; ?>"><?php echo $row_setor['set_descritivo']; ?>
					</option> <?php
				}
			
			?></td>
			</TR>
				<tr><td><br></td></tr>
				<tr>
					<td><b>PRODUTO NOVO</b></td>
					<td>
						<input type="text" name="prod_novo">
					</td>
				</tr>
				<tr><td><br></td></tr>
				<tr>
					<td><b>Quantidade</b></td>
					<td>
						<input type="text" name="qtde">
					</td>
				</tr>
				<tr><td><br></td></tr>
				<tr>
					<td colspan="2" align="center">
						<center>
						<input type="submit" name="Submit" value="Salvar" class="btn btn-primary">		
						</center>
					</td>
				</tr>
			</table>
			<br><br>
		</form>	
		<?php
		//including the database connection file
		include($_SERVER['DOCUMENT_ROOT']."/NovoModelo/config.php");

		if(isset($_POST['Submit'])) {	
			$requisicao = mysqli_real_escape_string($mysqli, $_POST['requisicao']);
			$prod_est = mysqli_real_escape_string($mysqli, $_POST['prod_est']);
			$setor = mysqli_real_escape_string($mysqli, $_POST['setor']);
			$prod_novo = mysqli_real_escape_string($mysqli, $_POST['prod_novo']);
			$qtde = mysqli_real_escape_string($mysqli, $_POST['qtde']);
			$result = mysqli_query($mysqli, "INSERT INTO est_requisicao_itens(req_id, cad_prod_id, set_id, req_itens_novo, req_itens_qtde) VALUES('$requisicao','$prod_est', '$setor', '$prod_novo','$qtde')");
			
		}
		?>
	</body>
</html>
<div style="position:fixed;margin-bottom:0px;">
	<?php
		include($_SERVER['DOCUMENT_ROOT']."/NovoModelo/footer.php");
	?>
</div>

 

Banco de dados: 

CREATE TABLE `est_cad_prod` (
  `cad_prod_id` int(11) NOT NULL,
  `cate_prod_id` int(11) NOT NULL,
  `cad_prod_codigo` varchar(10) COLLATE utf8_bin NOT NULL,
  `cad_prod_est_min` int(20) NOT NULL,
  `cad_prod_nome` varchar(40) COLLATE utf8_bin NOT NULL,
  `cad_prod_descritivo` varchar(255) COLLATE utf8_bin NOT NULL,
  `cad_prod_data` date NOT NULL,
  `cad_prod_un_medida` varchar(3) COLLATE utf8_bin NOT NULL,
  `cad_prod_ncm` int(11) NOT NULL,
  `cad_prod_estoque` int(11) NOT NULL
)

CREATE TABLE `est_cate_prod` (
  `cate_prod_id` int(11) NOT NULL,
  `cate_prod_descritivo` varchar(40) COLLATE utf8_bin NOT NULL
)

CREATE TABLE `est_moviment` (
  `mov_id` int(11) NOT NULL,
  `mov_status_id` int(11) NOT NULL,
  `cad_prod_id` int(11) NOT NULL,
  `mov_qtde` int(11) NOT NULL,
  `mov_nf` int(5) NOT NULL,
  `mov_valor_uni` int(10) NOT NULL,
  `mov_data` date NOT NULL,
  `set_id` int(11) NOT NULL
)


CREATE TABLE `est_moviment_status` (
  `mov_status_id` int(11) NOT NULL,
  `mov_status` varchar(15) COLLATE utf8_bin NOT NULL
)


CREATE TABLE `est_requisicao` (
  `req_id` int(11) NOT NULL,
  `cate_prod_id` int(11) NOT NULL,
  `req_descricao` varchar(255) COLLATE utf8_bin NOT NULL,
  `req_data` date NOT NULL,
  `req_status` varchar(10) COLLATE utf8_bin NOT NULL
)


CREATE TABLE `est_requisicao_itens` (
  `req_itens_id` int(11) NOT NULL,
  `req_id` int(11) NOT NULL,
  `cad_prod_id` int(11) DEFAULT NULL,
  `set_id` int(11) NOT NULL,
  `req_itens_novo` varchar(40) COLLATE utf8_bin NOT NULL,
  `req_itens_qtde` int(11) NOT NULL
)


CREATE TABLE `est_setor` (
  `set_id` int(20) NOT NULL,
  `set_descritivo` varchar(20) COLLATE utf8_bin NOT NULL
)

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, seria possível.

 

Usando um exemplo fantasia (porque eu não vou fazer o seu dever de casa, lol). Se o seu formulário tem três campos: descrição, data e status. E esses três campos constituem um item. Se você quiser adicionar um novo item no formulário, então você precisaria de mais três campos. E assim por diante. Cada novo item adicionaria mais três campos.

 

Isso não é difícil de fazer através do Javascript. Mas é importante tomar cuidado com o nome (atributo name) dos campos. Eles precisam ser diferentes, mas que você possa acessar no PHP quando você enviar o formulário. Um jeito simples, seria utilizar arrays nos nomes. Então se você tem um:

 

<input type="text" name="descricao">

Então ele passará a ser chamado

 

<input type="text" name="valor[0][descricao]">

Assim, o nome da descrição do segundo item que você adicionar ao formulário poderá ser chamado:

<input type="text" name="valor[1][descricao]">

Então quando você enviar para o PHP, você terá uma variável em $_POST['valor']. Essa variável vai ser um array, onde cada elemento dessa array é um item (com descrição, data e status). Então para gravar os valores no banco de dados, você apenas faria um loop nessa array e gravaria cada um dos items. 

 

O exemplo desse formulário fantasia completo:

 

<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
  // Lê cada um dos items que está no array $_POST['valor']
  foreach ($_POST['valor'] as $item) {
    // Aqui você poderia inserir os items no banco de dados
    echo "# <b>Descrição:</b> ". $item['descricao'] .", ";
    echo "<b>Data:</b> ". $item['data'] .", ";
    echo "<b>Status:</b> ". $item['status'] ."<br>";
  }
}
?>
<!doctype html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Exemplo</title>
    <style type="text/css">
      #website { max-width: 500px; margin: 0 auto; }
      .item { padding: 5px; margin: 5px; background-color:silver; border-radius: 5px; }
    </style>

    <script type="text/javascript">
      // Index dos items do formulario
      var index = 0;

      document.addEventListener('DOMContentLoaded', function () {
        document.getElementById("botao_add").addEventListener('click', function () {
          // Sempre que alguem clicar no botão "botao_add" fazer:

          // Acrescenta mais um no index
          index++;

          // Gera uma nova div da classe item
          let novaDiv = document.createElement('div');
          novaDiv.setAttribute('class', 'item');

          // Os campos com o novo index
          let novoItem = 
           '<input type="text" name="valor['+ index +'][descricao]" placeholder="Descrição"> ' +
           '<input type="text" name="valor['+ index +'][data]" placeholder="Data"> ' +
           '<select name="valor['+ index +'][status]">' +
              '<option value="">Status</option>' +
              '<option value ="Aberto"> Aberto </option>' +
              '<option value ="Fechado"> Fechado </option>' +
            '</select>';

          novaDiv.innerHTML = novoItem;

          // Adiciona o novo item na div "formulario" (mantendo o que já está lá)
          document.getElementById("formulario").appendChild(novaDiv);
        });
      });
    </script>
  </head>

  <body>
    <div id="website">
      <form method="post">
        <h1>Cadastrar requisição</h1>

        <div id="formulario">

          <div class="item">
            <input type="text" name="valor[0][descricao]" placeholder="Descrição">
            <input type="text" name="valor[0][data]" placeholder="Data">
            <select name="valor[0][status]">
              <option value="">Status</option>
              <option value ="Aberto"> Aberto </option>
              <option value ="Fechado"> Fechado </option>
            </select>
          </div>

        </div>

        <div style="text-align: center">
          <a href="#" id="botao_add">Adicionar novo item</a><br><br>
          <button>Enviar</button>
        </div>
      </form>
    </div>
  </body>
</html>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • Autor do tópico
  • Muito bom, theCluelessDude.

    Estou estudando o código que você fez e adaptando às minhas necessidades. Mas como eu sou leigo em javascript, estou passando por maus bocados para fazer um SELECT através do mesmo para buscar os dados contidos na tabela 'est_cad_prod' e traze-los para exibição no SELECT HTML. Como eu faria isso?

     

    Muito obrigado pela força. Me ajudou muito. Eu estava sem rumo e agora já estou praticamente vendo meu módulo funcionando. 

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    @Danilo Camargo Eu faria com o uso do ajax. sem criar novos campos.

     

    O ajax é uma técnica em javascript para fazer requisições assíncronas. Assim, se o produto tem vários campos como nome, descrição, preço, quantidade e mais outros.

    O ideal é você fazer o cadastramento via requisição assíncrona. Assim você não sai da pagina que está, insere no banco de dados e zera os campos automáticamente.

     

    Na prática, é muito mais simples do que fazer a solução anterior(embora seja uma ótima sugestão do colega)

     

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
  • Autor do tópico
  • Eu andei pesquisando sobre o que você falou DiF, mas achei um pouco difícil. Nunca mexi com AJAX antes. Eu consegui fazer o que eu queria, utilizando PHP puro. Na primeira tela tem um campo para digitar a quantidade de produtos desejada e dependendo da quantidade que eu coloco, aparecem os campos dos produtos conforme indiquei. Fiz através de um laço FOR. O problema é que sempre que preencho os dados e aperto no botão salvar, é inserido no banco, as informações digitadas no ultimo produto para todos os outros, ou seja, todos os produtos que eu cadastro vão idênticos.

     

     

     

    Olha como eu fiz:

     

    Código da primeira página: requisicao.php

    <?php
    	include_once("..\..\config.php");
    ?>
    <?php
    	$page_title = "Cadastro Requisicao";
    	include($_SERVER['DOCUMENT_ROOT']."/NovoModelo/header.php");
    	echo "<div class='right-button-margin'>";
        echo "<a href='..\..\IniciaisMenu/estoque.php' class='btn btn-info pull-right'>";
        echo "<span class='glyphicon glyphicon-list-alt'></span> Voltar ";
        echo "</a>";
    	echo "</div>";
    ?>
    <html>
    	<body>
    		<form action="requisicao.php" method="post" name="form1" style = "background-color:white;">
    			<table align="center">
    				<tr align="center">
    					<td rowspan="2"><b> <h3> Cadastrar Requisição </b> </h3></b></td>
    				</tr>
    			</table>
    			<table align="center" >	
    				<tr>
    					<td colspan="2"><h6>* Digite as informações nos campos abaixo, para cadastrar uma nova requisição.</h6></Td>
    				</tr>
    				<tr><td><br></td></tr>
    				<tr>
    					<td><b>Descrição</b></td>
    					<td>
    						<input type="text" name="descricao">
    					</td>
    				</tr>
    				<tr><td><br></td></tr>
    				<tr>
    					<td><b>Data</b></td>
    					<td>
    						<input type="text" name="data">
    					</td>
    				</tr>
    				<tr><td><br></td></tr>
    				<tr>
    					<td><b>STATUS</b></td>
    					<td><select name="status"/>
    						<option value="">Selecione</option>
    						<option value ="Aberto"> Aberto </option>
    						<option value ="Fechado"> Fechado </option>
    					</td>
    				</tr>
    				<tr><td><br></td></tr>
    				<tr>
    					<td>Quantidade de Produtos:</td>
    					<td><input type='text' name='QTD' class='form-control' placeholder="Digite a Quantidade de Produtos" ></td>
    				</tr>
    				<tr><td><br></td></tr>
    				<tr>
    					<td colspan="2" align="center">
    						<center>
    						<input type="submit" name="Submit" value="Salvar & Adicionar Produtos" class="btn btn-primary">		
    						</center>
    					</td>
    				</tr>
    			</table>
    			<br><br>
    		</form>
    <?php
    if(isset($_POST['Submit'])) {	
    
    	$descricao = mysqli_real_escape_string($mysqli, $_POST['descricao']);
    	$data = mysqli_real_escape_string($mysqli, $_POST['data']);
    	$status = mysqli_real_escape_string($mysqli, $_POST['status']);
    	$QTD = mysqli_real_escape_string($mysqli, $_POST['QTD']);
    	
    	
    	$result = mysqli_query($mysqli, "INSERT INTO est_requisicao (req_descricao, req_data, req_status) VALUES ('$descricao', '$data', '$status')");
    	     
        $id = mysqli_insert_id($mysqli);
        
        $URL = "requisicao2.php?id=".$id."&qtd=".$QTD;
        echo $URL;
        
        echo '<META HTTP-EQUIV="refresh" content="0;URL=' . $URL . '">';
        echo "<script type='text/javascript'>document.location.href='{$URL}';</script>";
        
        //echo "<META HTTP-EQUIV='Refresh' Content='0'; URL='requisicao2.php'>";
        //echo "<script>Location.href = requisicao2.php?id=".$id."&qtd=".$QTD."</script>";
    	
    }
    ?>
    </body>
    </html>
    <div style="position:fixed;margin-bottom:0px;">
    <?php
    include($_SERVER['DOCUMENT_ROOT']."/NovoModelo/footer.php");
    ?>
    </div>

     

    Código da segunda página: requisicao2.php

     

    <?php
    	include_once("..\..\config.php");
    ?>
    <?php
    	$page_title = "Incluir Itens";
    	include($_SERVER['DOCUMENT_ROOT']."/NovoModelo/header.php");
    	echo "<div class='right-button-margin'>";
    	echo "<a href='..\..\IniciaisMenu/estoque.php' class='btn btn-info pull-right'>";
    	echo "<span class='glyphicon glyphicon-list-alt'></span> Voltar ";
    	echo "</a>";
    	echo "</div>";
    	include($_SERVER['DOCUMENT_ROOT']."/NovoModelo/config.php");
    ?>
    <html>
    	<body>
    		<form action="#" method="post" name="form1" style = "background-color:white;">
    			<table align="center">
    				<tr align="center">
    					<td rowspan="2"><b> <h3> Incluir Itens na Requisição </b> </h3></b></td>
    				</tr>
    			</table>
    			<table align="center" >	
    				<tr>
    					<td colspan="2"><h6>* Preencha os campos abaixo para incluir os itens na requisição: </h6></Td>
    					<td>
    						<?php
    							$id = $_GET['id'];
    							$result = mysqli_query($mysqli, "SELECT req_descricao FROM est_requisicao WHERE req_id = $id"); 
    
    
    							while($row = mysqli_fetch_array($result)) 
    							{ 
    								echo $row['req_descricao']; 
    							}
    						?>
    					</td>
    				</tr>
    				<?php 
            
            $qtd = $_GET['qtd'];
            
            for($x=1; $x<=$qtd; $x++)
            {
    		  echo "<tr><td colspan=2 align=center> _______________________________________________________________ </td></tr>";
    		  echo "<tr><td colspan=2 align=center> <b>Produto</b> "; echo $x; echo "</td></tr>";
    		  echo "<tr><td colspan=2 align=center> _______________________________________________________________ </td></tr>";
    		  echo "<tr><td><br></td></tr>";
    		  echo "<tr>";
    		  echo "<td ><b>PRODUTO EM ESTOQUE</b> </td>
    					<td><select name='prod_est'>
    						<option value=''>Selecione</option>";
    						
    						$result_produto = "SELECT * FROM est_cad_prod";
    							$resultado_produto = mysqli_query($mysqli, $result_produto);
    							
    							while ($row_produto = mysqli_fetch_assoc($resultado_produto)){ ?>
    								<option value ="<?php echo $row_produto['cad_prod_id']; ?>"><?php echo $row_produto['cad_prod_nome']; ?>
    								</option> <?php
    							}
    		  echo "</td>";
    		  echo "</TR>
    				<tr><td><br></td></tr>
    				<TR>
    					<td ><b> SETOR </b> </td>
    					<td><select name='setor'>
    				<option value=''></option>";
    		  
    		  	$result_setor = "SELECT * FROM est_setor";
    				$resultado_setor = mysqli_query($mysqli, $result_setor);
    				
    				while ($row_setor = mysqli_fetch_assoc($resultado_setor)){ ?>
    					<option value ="<?php echo $row_setor['set_id']; ?>"><?php echo $row_setor['set_descritivo']; ?>
    					</option> <?php
    				}
    		  echo "</td>";
    		  echo "</TR>
    				<tr><td><br></td></tr>
    				<tr>
    					<td><b>PRODUTO NOVO</b></td>
    					<td>
    						<input type='text' name='prod_novo'>
    					</td>
    				</tr>
    				<tr><td><br></td></tr>
    				<tr>
    					<td><b>Quantidade</b></td>
    					<td>
    						<input type='text' name='qtde'>
    					</td>
    				</tr>";
    				echo "<tr><td><br></td></tr>";
            } 
            ?>
    			    <tr> 
    			<td></td>		
    			 <td>
    				<center>
    				<input type="submit" name="Submit" value="Salvar" class="btn btn-primary">		
    				</center>
    			</td>			
    		</tr> 
        </table>
    </form>
    
    <?php
    //including the database connection file
    include($_SERVER['DOCUMENT_ROOT']."/NovoModelo/config.php");
    
    if(isset($_POST['Submit'])) {	
    
        $qtd = $_GET['qtd'];
        $id = $_GET['id'];
        
        for ($x=1; $x<=$qtd; $x++)
        {
    		$prod_est = mysqli_real_escape_string($mysqli, $_POST['prod_est']);
    		$setor = mysqli_real_escape_string($mysqli, $_POST['setor']);
    		$prod_novo = mysqli_real_escape_string($mysqli, $_POST['prod_novo']);
    		$qtde = mysqli_real_escape_string($mysqli, $_POST['qtde']);
    		$result = mysqli_query($mysqli, "INSERT INTO est_requisicao_itens(req_id, cad_prod_id, set_id, req_itens_novo, req_itens_qtde) VALUES('$id','$prod_est', '$setor', '$prod_novo','$qtde')");
            
    	   if($result == false){
    		echo mysql_error(); 
             }
        }
        
        $URL = "requisicao.php";
    
        echo '<META HTTP-EQUIV="refresh" content="0;URL=' . $URL . '">';
        echo "<script type='text/javascript'>document.location.href='{$URL}';</script>";
    		
    }
    ?>
    </body>
    </html>
    <div style="position:fixed;margin-bottom:0px;">
    <?php
    include($_SERVER['DOCUMENT_ROOT']."/NovoModelo/footer.php");
    ?>
    </div>

     

    Obrigado a todos que estão me ajudando. 

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    @Danilo Camargo Olá,  bem o ajax se utilizado com javascript puro torna-se massivo, chato e difícil. 

    Mas se usado com o jQuery,  é simples e prático.  Dá para fazer requisições com pouquíssimas linhas!

     

    No mais, do jeito que está fazendo até dá para fazer também, embora seja uma mega gambiarra é só para fins educacionais como é seu caso..  Já se  fosse um sistema para alguma empresa ou botar no mercado, seria péssimo.

     

    Enfim, mesmo que esteja fazendo deste modo, recomendo você ir estudando o "ajax em jQuery" que com certeza vai facilitar a sua vida!

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
  • Autor do tópico
  • @DiF Exatamente como você disse. Concordo plenamente. Só estou fazendo com todas essas gambiarras porque estou sem tempo. Mas vou fazer como você me indicou e estudar a fundo o AJAX em jQuery. Obrigado pelos conselhos meu amigo. Vejo que você tem muito conhecimento na área. Com relação ao código que postei em PHP, qual seria o motivo de estar cadastrando informações repetidas, como expliquei ali em cima? 

    Só não corro atras de fazer com ajax e jQuery, pois tenho que entregar esse sistema rodando segunda feira. Está tudo quase tudo pronto, já me ajudaram muito aqui no fórum. Só falta essa parte de requisição. Não sei se utilizei o for erroneamente ou algo errado em outra parte. Se puder me ajudar, serei muito grato.

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Crie uma conta ou entre para comentar

    Você precisar ser um membro para fazer um comentário






    Sobre o Clube do Hardware

    No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

    Direitos autorais

    Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

    ×