Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

KahFerreira04

Como leio vários combobox no PHP?

Recommended Posts

Olá, pessoal!

Estou criando uma aplicação onde tenho o Curso e o Módulo e o usuário poderá escolher vários cursos e módulos para enviar mensagem. Para isso criei fiz o seguinte código HTML:

<div class="row">
  <div class="col-md-12">
	<div class="form-group" id="select">
		<div class="col-md-5">
			<label for="selCurso">Selecione o Curso:</label>
			<select name="curso" id="selCurso" class="form-control">
				<option value="">Selecione</option>
				<option value="1">Administração</option>
				<option value="2">Contabilidade</option>
				<option value="3">Informática para Internet</option>
				<option value="4">Marketing</option>
				<option value="5">Redes</option>
				<option value="6">Serviços Jurídicos</option>
			</select>
		</div>
		<div class="col-md-5">
			<label for="selModulo">Selecione o Módulo:</label>
			<select name="modulo" id="selModulo" class="form-control">
				<option value="">Selecione</option>
				<option value="1">1º Módulo</option>
				<option value="2">2º Módulo</option>
				<option value="3">3º Módulo</option>
			</select>
		</div>
	</div>
	<div class="col-md-2">
		<button type="button" value="+" id="add" class="btn btn-primary">+</button>
	</div>				
  </div>
</div>

A ideia é que quando o usuário clicar no botão + apareça novos combobox para ele de forma que ele possa selecionar outro curso e módulo. Para isso uso o seguinte código JS:

$(function(){

	$("#add").click(function(){
		var html = '<div class="col-md-5">';
		html += '<label for="selCurso">Selecione o Curso:</label>';
		html += '<select name="curso" id="selCurso" class="form-control">';
		html += '<option value="">Selecione</option>';
		html += '<option value="1">Administração</option>';
		html += '<option value="2">Contabilidade</option>';
		html += '<option value="3">Informática para Internet</option>';
		html += '<option value="4">Marketing</option>';
		html += '<option value="5">Redes</option>';
		html += '<option value="6">Serviços Jurídicos</option>';
		html += '</select>';
		html += '</div>';
		html += '<div class="col-md-5">';
		html += '<label for="selModulo">Selecione o Módulo:</label>';
		html += '<select name="modulo" id="selModulo" class="form-control">';
		html += '<option value="">Selecione</option>';
		html += '<option value="1">1º Módulo</option>';
		html += '<option value="2">2º Módulo</option>';
		html += '<option value="3">3º Módulo</option>';
		html += '</select>';
		html += '<br>';

		$("#select").append(html);
	});
});

Minha dúvida é, como eu leio no PHP esses combobox criados pelo o usuário ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

O problema real é que todos os seus elementos têm o mesmo nome, logo apenas 1 será enviado. O mais viável para o seu caso é simplesmente utilizar campos do tipo radio, assim você permitirá múltipla seleção sem dificuldades.

Compartilhar este post


Link para o post
Compartilhar em outros sites

No name do seu campo de formulário, adicione[]. Assim você não enviará mais um único valor, e sim um array com todos os cursos preenchidos no formulário.

 

Tanto na função js, quanto no HTML troque:

<select name="curso" id="selCurso" class="form-control">

Por:

<select name="curso[]" id="selCurso" class="form-control">

Na página que recebe os dados, digite:

print_r($_POST['curso']);

Você verá que cada curso, é uma posição da array.

 

A partir daí, você consegue trabalhar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

No name do seu campo de formulário, adicione[]. Assim você não enviará mais um único valor, e sim um array com todos os cursos preenchidos no formulário.

 

Tanto na função js, quanto no HTML troque:

<select name="curso" id="selCurso" class="form-control">

Por:

<select name="curso[]" id="selCurso" class="form-control">

Na página que recebe os dados, digite:

print_r($_POST['curso']);

Você verá que cada curso, é uma posição da array.

 

A partir daí, você consegue trabalhar.

Desse jeito deu certo, a partir desse ponto foi só colocar os laços de repetição e consegui ler e gravar no banco. Muito obrigada :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.