Jump to content
emmanuelsiqueira30

Salvar dados de um select multivalorado

Recommended Posts

Pessoal estou querendo saber como posso salvar os dados de um formulário com um select com multiple="multiple" ativado, por exemplo se eu selecionar mesa 01 e 02, digitar o nome e o telefone celular e clicar em inserir e no banco de dados como ficaria, seria como um carrinho de compras que seriam gerados dois registros?

HTML

<style>
	
	body {
		background-image: url("imagens/bg_adm.jpg");
		background-repeat: no-repeat;
		background-size: cover;
	}
	
	.btn-success{
		height: 100px;
		width: 300px;
		margin: 20px -150px; 
		position:relative;
		top:20%; 
		left:50%;
	}
	
	.btn-primary{
		height: 100px;
		width: 300px;
		margin: 20px -150px; 
		position:relative;
		top:20%; 
		left:50%;
	}
	
	.btn-warning{
		height: 100px;
		width: 300px;
		margin: 20px -150px; 
		position:relative;
		top:20%; 
		left:50%;
	}
	
	.btn-dark{
		height: 100px;
		width: 200px;
		margin: 20px -150px; 
		position:relative;
		top:20%; 
		left:50%;
	}
</style>

<?php 
  include("conexao.php");
  $dados = mysqli_query($con,"SELECT * FROM mesa");
?>

<!DOCTYPE html>
<html>

<head>

<?php
  include("sessao.php");
?>

<title>ControlTable</title>

<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">

<!-- jQuery library -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>

<!-- Latest compiled JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>

<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

</head>

<body>
<div class="container-fluid">
	<div class="row">
		<form action="insere-resp.php" method="POST">
			<div class="col-xs-12">
				<image class="image-responsive" src="imagens/logo.png" width="70%" style="width: 70%; margin: 0% 15%;"></image>
			</div>
			
			<div class="col-xs-12">
				<h4><strong>Selecione quais mesas deseja:</strong></h4>
				
				<div class="form-group">															
					<label for="proprietario_id_prop">MESAS: </label>
					<select class="form-control" name="id_mesa" id="id_mesa" multiple="multiple">
						<?php
							include ("conexao.php");
							$query = "SELECT * FROM mesa";
							$consulta = mysqli_query($con,$query); 

							while ($dados = mysqli_fetch_assoc($consulta)) { ?>
								<option value="<?php echo $dados['id_mesa']; ?>"><?php echo $dados['nome_mesa']; ?></option> <?php 
							}
						?>
					</select>
				</div>
					
			<div class="col-xs-12">
				
				  <div class="form-group">
					<label for="nome_pessoa">NOME:</label>
					<input type="text" class="form-control" id="nome_pessoa" name="nome_pessoa">
				  </div>
				  <div class="form-group">
					<label for="fonecel_pessoa">CONTATO:</label>
					<input type="text" class="form-control" id="fonecel_pessoa" name="fonecel_pessoa">
				  </div>
				  <div class="form-group">
					<label for="email_pessoa">E-MAIL:</label>
					<input type="text" class="form-control" id="email_pessoa" name="email_pessoa">
				  </div>
				  
				  <button type="submit" class="btn btn-primary">INCLUIR</button>
		</form>
	</div>

</div>

</div>
</div>
</div>

</body>

</html>

PHP

<?php
	
	include("conexao.php");

	$id_mesa = $_POST['id_mesa'];
	$nome_pessoa = $_POST['nome_pessoa'];
	$fonecel_pessoa = $_POST['fonecel_pessoa'];
	$email_pessoa = $_POST['email_pessoa'];
		
	$sql = "INSERT INTO responsavel (id_mesa,nome_pessoa,fonecel_pessoa,email_pessoa) VALUES ('$id_mesa','$nome_pessoa','$fonecel_pessoa','$email_pessoa')";
		
	$result = mysqli_query($con,$sql);
	
	if ($result) {
		echo "<script>alert('Cadastro realizado com sucesso.'); location='cad-resp.php';</script>";
	} else {
		echo "<script>alert('Erro ao cadastrar.'); location='cad-resp.php';</script>";
	}
	
	$con->close();		
	
?>

 

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Vibraphera
      Oi gente eu recentemente comecei a aprender php e fui atras de desafios legais e me deparei com um que até hoje não consigo resolver.
      Preciso mostrar a maior e a menor palavra de uma frase ou texto. Eu tentei transformar em um array mas não sei se seria o adequado.
      Resumindo apenas me retorna corretamente a maior palavra mas a menor não me retorna nada. ALGUÉM ME DA UM HELP kk
      OBS: quando não tem ponto final parece que não retorna nada e quando tem ponto final ele retorna o 'ou' da frase mas não deveria retornar a letra 'é' ou a letra 'a'?
       
      <?php
      $texto = 'Como faço para saber qual é a menor e a maior de uma frase ou grandes textos';
      $arr = explode(" ", $texto);
      $maior="";
      $menor="";
      for ($i=0; $i <count($arr) ; $i++) { 
          $atual = $arr[$i];
          if (strlen($atual) > strlen($maior)) {
              $maior = $atual;
          } else if (strlen($atual) < strlen($maior)) {
              $menor = $atual;
          }
      }
      echo "<br>";
      echo $maior;
      echo "<br>";
      echo $menor;
    • By danteblatt
      Olá Srs,
      Não tenho muito conhecimento em PHP e estou com um formulário onde o usuário tem alguns campos para preencher e gravar no banco de dados SQL, sendo que um campo deste form será dinâmico onde o usuário poderá adicionar quantos campos forem necessários a partir de um botão "+".
      Nome do campo dinâmico: chavenf
      Segue abaixo o código do formulário:
      <form method="POST" action="../includes/mf-processa.php"> <div class="form-group"> <div class="form-row"> <div class="form-group col-md-4"> <input type="hidden" name="usuario[]" value="<?php echo $_SESSION['usuarioNome']; ?>" /> <select class="form-control" id="tipo" name="tipo[]"> <option selected>Tipo</option> <option>1</option> <option>2</option> </select> </div> <div class="form-group col-md-4"> <select class="form-control" id="prioridade" name="prioridade[]"> <option selected>Prioridade</option> <option>Alta</option> <option>Padrão</option> </select> </div> <div class="form-group col-md-4"> <input class="form-control" type="text" name="fornecedor[]" placeholder="Fornecedor" id="fornecedor"> </div> </div> <div style="display:none;" class="form-row" id="chavecte"> <div class="form-group col-md-12"> <label>Chave </label> <input class="form-control" type="text" name="chavecte[]"> </div> </div> <div class="form-row" id="row-nota"> <div class="form-group col-md-12"> <label>Chave da NF </label> <input class="form-control" type="text" name="chavenf[]" id="chavenf"> </div> </div> <div style="display:none;" class="form-row" id="add-field-nf"> <div class="form-group col-md-2"> <button type="button" class="btn btn-primary" id="add"> + </button> </div> </div> <div class="form-row"> <div class="form-group col-md-2"> <input type="submit" class="btn btn-primary" value="Cadastrar"> </div> </div> </div> </form> <script> $( "#add" ).click(function() { $( "#row-nota" ).append('<div class="form-group col-md-12"><input class="form-control" type="text" name="chavenf[]" id="chavenf"></div>'); }); </script> Abaixo o arquivo que conecta e insere no BD, "mf-processa.php"
      <?php session_start(); include_once("conexao.php"); $prioridade = filter_input(INPUT_POST, 'prioridade', FILTER_SANITIZE_STRING); $usuarioentrada = filter_input(INPUT_POST, 'usuario', FILTER_SANITIZE_STRING); $tipofrete = filter_input(INPUT_POST, 'tipofrete', FILTER_SANITIZE_STRING); $fornecedor = filter_input(INPUT_POST, 'fornecedor', FILTER_SANITIZE_STRING); $chavenf = preg_replace("/\s+/", "", filter_input(INPUT_POST, 'chavenf', FILTER_SANITIZE_STRING)); $chavecte = preg_replace("/\s+/", "", filter_input(INPUT_POST, 'chavecte', FILTER_SANITIZE_STRING)); $nNF = substr($chavenf, 25, 9); $timenow = date('d-m-Y'); $timenow .= ' '.date('H:i:s'); $qtnotas = count($chavenf)-1; for ($f = 0; $f <= $qtnotas; $f++) { $sql = "INSERT INTO base (data, usuarioentrada, prioridade, tipofrete, nf, fornecedor, chavenf, chavecte, acao, dataretorno, usuariofiscal) VALUES ( '.$timenow[$f].', '.$usuarioentrada[$f].', '.$prioridade[$f].', '.$tipofrete[$f].', '.$nNF[$f].', '.$fornecedor[$f].', '.$chavenf[$f].', '.$chavecte[$f].', '', '', '' )" or die ("<center>Erro: " . mysqli_error() . "</center>"); $insert = mysqli_query($conn, $sql); if(mysqli_insert_id($conn)){ $_SESSION['msgrec'] = "<p style='color:green;'>Nota cadastrada com sucesso!</p>"; header("Location: ../recebimento/recebimento.php"); }else{ $_SESSION['msgrec'] = "<p style='color:red;'>Nota não cadastrada com sucesso!</p>"; header("Location: ../recebimento/recebimento.php"); }  
       
      Veja o erro retornado na página.. Já tentei alterar o código e mesmo assim não consegui efetuar a inserção dos dados no BD.
       
      ( ! ) Warning: count(): Parameter must be an array or an object that implements Countable in D:\Wamp\www\RecebimentoAdm\includes\mf-processarecebimento.php on line 31 Call Stack # Time Memory Function Location 1 0.0001 411528 {main}( ) ...\mf-processarecebimento.php:0  
      ( ! ) Notice: Uninitialized string offset: 0 in D:\Wamp\www\RecebimentoAdm\includes\mf-processarecebimento.php on line 41 Call Stack # Time Memory Function Location 1 0.0001 411528 {main}( ) ...\mf-processarecebimento.php:0  
      ( ! ) Notice: Uninitialized string offset: 0 in D:\Wamp\www\RecebimentoAdm\includes\mf-processarecebimento.php on line 42 Call Stack # Time Memory Function Location 1 0.0001 411528 {main}( ) ...\mf-processarecebimento.php:0
    • By lordstarlight
      Olá, 
       
      Como posso bloquear todos ips, menos o meu para acesso ao meu site?
      preciso fazer isto para poder fazer manutenção.
       
      obrigado!
    • By lordstarlight
      Olá pessoal,
       
      Tenho uma base de dados onde há um campo decimal que guarda um valor tipo (10.20).
      Quanto tento retornar o valor multiplicado por quantidade (10.2 * 2) retorna apenas 20,00
       
      $subTotal = $qtdeItem * $precoProduto;
      echo  'R$ '.number_format($subTotal,2,",",".");?><br>
       
      Como faço para retornar 20,40 ?
    • By groudon900
      Estou cursando aula pra aprender php e eu estava montando uma pagina de login, está tudo certo, mas não consegue conectar de jeito nenhum vou mandar o código pra vocês darem uma olhada
      banco de dados "aula"
      tabela "usuarios"
       
      contem, usuarios, senha, email e ID
       
       
      <?php require_once"config.php" ?> <?php if ( isset($_POST["usuario"])) { $usuario = $_POST["usuario"]; $senha = $_POST["senha"]; $login = "SELECT * "; $login .= "FROM usuarios "; $login .= "WHERE usuario = '{$usuario}' and senha = '{$senha}' "; $acesso = mysqli_query($conecta, $login); if ( !$acesso) { die("Falha na consulta ao banco!"); } $informacao = mysqli_fetch_assoc($acesso); if ( empty($infomacao)) { $mensagem = "login sem sucesso"; } else { header("location:listagem.php"); } } ?>  
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.