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 Anderson Maciel
      Boa tarde pessoal,

      Estou quebrando a cabeça para resolver um problema, tenho uma div dinâmica que carrega uma <table> em uma das colunas deveria apresentar o componente Switchery, esta <table> é montada a partir de uma função PHP que faz o select em uma tabela do banco de dados conforme abaixo:
       
      echo '<table class="table table-hover"> <thead> <tr> <th>Nome</th> <th>Agrupamento</th> <th>Ativo</th> </tr> </thead> <tbody>'; foreach($data as $row) { If ($row['ativo'] == 1) {$vativochk = "checked";} else {$vativochk = "";} echo '<tr> <td>'.$row['nome'].'</td> <td>'.$row['agrupamento'].'</td> <td><input type="checkbox" name="ativo_grid" class="js-switch" '.$vativochk.' disabled="disabled"></td> </tr>'; } echo ' </tbody> </table>'; Aqui está o Ajax que chama e retorna atualizando a DIV:
      //funcoes do grid dos graficos function atualiza_grid_graficos() { $.ajax({ type: "POST", url: "hubfuncind.php", data: { id_tabindicadores_paineis: $('#id_tabindicadores_paineis').val(), acao: "gridgraficos" }, success: function(data) { $('#conteudo').html(data); } }); } O retorno vem certinho, mas apenas o componente Switchery está vindo desconfigurado, ou seja vem um checkbox normal (html).

      O que é mais incrível é que neste mesmo formulário mais acima tenho este mesmo componente funcionando normalmente, somente dentro da DIV dinâmica é que fica desconfigurado conforme imagem anexa.

      Será que alguém já passou por isso?

    • By violin101
      Caros amigos membros do grupo, saudações...
       
      Gostaria de tirar uma dúvida com os amigos.
       
      Tenho uma rotina onde consigo efetuar o Download de arquivos para uma pasta dentro do sistema, o que preciso seria mudar o nome do arquivo, por exemplo:
       
      após selecionar  o arquivo criado com o nome de: ESTOQUE.PDF
       
      gostaria de gravar na pasta de upload's com um novo nome, como por exemplo: cliente[1]-estoque.pdf.
       
      Onde poderia fazer essa alteração na rotina abaixo, para gravar o arquivo com um novo nome ?
       
      abaixo posto o fonte da rotina.
      <?php public function anexar() { $this->load->library('upload'); $this->load->library('image_lib'); $upload_conf = array( 'upload_path' => realpath('./assets/anexos'), 'allowed_types' => 'pdf|PDF|doc|DOC|docx|DOCX', // formatos permitidos para anexos de os 'max_size' => 1024, ); //Recebe a variável via POST $validade = $this->input->post('validade'); $this->upload->initialize($upload_conf); foreach ($_FILES['userfile'] as $key => $val) { $i = 1; foreach ($val as $v) { $field_name = "file_".$i; $_FILES[$field_name][$key] = $v; $i++; } } unset($_FILES['userfile']); $error = array(); $success = array(); foreach ($_FILES as $field_name => $file) { if (! $this->upload->do_upload($field_name)) { $error['upload'][] = $this->upload->display_errors(); } else { $upload_data = $this->upload->data(); if ($upload_data['is_image'] == 1) { // set the resize config $resize_conf = array( 'source_image' => $upload_data['full_path'], 'new_image' => $upload_data['file_path'].'thumbs/thumb_'.$upload_data['file_name'], 'width' => 200, 'height' => 125 ); $this->image_lib->initialize($resize_conf); if (! $this->image_lib->resize()) { $error['resize'][] = $this->image_lib->display_errors(); } else { $success[] = $upload_data; $this->load->model('Dados/Dadosclie_model'); $this->Dadosclie_model->anexar($this->input->post('idCli'), $this->input->post('descricao'), $validade, $upload_data['file_name'], base_url().'assets/anexos/', 'thumb_'.$upload_data['file_name'], realpath('./assets/anexos/')); } } else { $success[] = $upload_data; $this->load->model('Dados/Dadosclie_model'); $this->Dadosclie_model->anexar($this->input->post('idCli'), $this->input->post('descricao'), $validade, $upload_data['file_name'], base_url().'assets/anexos/', '', realpath('./assets/anexos/')); } } } if (count($error) > 0) { echo json_encode(array('result'=> false, 'mensagem' => 'Nenhum arquivo foi anexado.')); } else { echo json_encode(array('result'=> true, 'mensagem' => 'Arquivo(s) anexado(s) com sucesso .')); } } ?>  
      Grato,
       
      Cesar
    • By ViniciusRamoa
      Oi! Quando eu comecei a estudar php e logica de programação, é que uma das primeiras coisas que precisamos ter é uma noção exata do que queremos fazer, entao, o que eu estou querendo fazer, eu diria que é bem ousado para um iniciante, mas eu estou estudando e meu único foco é criar um de conteudos simples para meu site, será apenas para uso pessoal, nal tenho interesse em vender, mas iria disponibilizar para download , caso alguém queira, ele irá apenas postar conteúdos, apagar, editar e somente isso, não editará banner, ou layout ou qualquer outra coisa. Quero criar um sistema de loguin e dar permissão para apenas quem tiver o "rank 2" será considerado um adm e poderá postar.
      Nesse campo de postagem, terá apenas os campos de:
      Titulo
      Imagem (thumbnail)
      Link da página  (pois será um post clicavel, como um cardbox que ira redirecionar o visitante para a página destinada apenas àquele  conteudo) 
      Descrição 
      Apenas  isso
      Então, eu estou estudando PHP, no início ainda, mas é possivel eu criar tal ferramente em quanto tempo em média com a experiência que vocês ja possuem? 
      E outra, qual caminho devo seguir? Quero apenas criar o gerenciador de conteudo e sistema de loguin, tem algum "caminho" que eu deva seguir? Tenho que focar mais em x area para atingir o que eu quero e nao focar em y area, pois será perda de tempo? Como eu disse, quero apenas criar isso, e futuramente me aprofundar mais
      Então, possui alguma dica, orientação, link ou qualquer coisa que possa me ajudar a pelo menos ver qual caminho seguir, levando em conta que estou estudando por conta propria e nao tenho quem me orientar? Obrigado 
    • By Anderson Maciel
      Boa tarde pessoal,

      Estou quebrando a cabeça para resolver um problema, tenho uma div dinâmica que carrega uma <table> em uma das colunas deveria apresentar o componente Switchery, esta <table> é montada a partir de uma função PHP que faz o select em uma tabela do banco de dados conforme abaixo:
       
      echo '<table class="table table-hover"> <thead> <tr> <th>Nome</th> <th>Agrupamento</th> <th>Ativo</th> </tr> </thead> <tbody>'; foreach($data as $row) { If ($row['ativo'] == 1) { $vativochk = "checked"; } else { $vativochk = ""; } echo '<tr> <td>'.$row['nome'].'</td> <td>'.$row['agrupamento'].'</td> <td><input type="checkbox" name="ativo_grid" class="js-switch" '.$vativochk.' disabled="disabled"></td> </tr>'; } echo '</tbody> </table>'; Aqui está o Ajax que chama e retorna atualizando a DIV:
       
      function atualiza_grid_graficos() { $.ajax({ type: "POST", url: "hubfuncind.php", data: { id_tabindicadores_paineis: $('#id_tabindicadores_paineis').val(), acao: "gridgraficos" }, success: function(data) { $('#conteudo').html(data); } }); } O retorno vem certinho, mas apenas o componente Switchery está vindo desconfigurado, ou seja vem um checkbox normal (html).

      O que é mais incrível é que neste mesmo formulário mais acima tenho este mesmo componente funcionando normalmente, somente dentro da DIV dinâmica é que fica desconfigurado conforme imagem anexa.

      Será que alguém já passou por isso?

    • By egalauber
      Preciso descobrir qual é o nome do arquivo com a extensão.
      Só sei o início do nome:
       
      pasta "anexos".
      nome_do_arquivo_DAQUI_PRA_FRENTE_NAO_SEI_O_RESTO_DO_NOME_NEM_A_EXTENSAO
       
      Com a função glob eu consigo achar o arquivo, mas o nome completo ainda não.
       
       
      $verifica = glob("anexos/nome_do_arquivo_*");
      if($verifica == true){
         // achei o arquivo e agora preciso pegar o nome completo e a extensão
      } else {
            echo "Arquivo não encontrado";
         }
×

Important Information

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