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

Criar Campos no form ao clicar em "mais"


Marcos Renato

Pergunta

Olá,

bom, oque que eu queria fazer é basicamente ao clicar em "mais" no formulario de cadastro de uma materia de escola ele acrescentar um campo professor para outro professor ser vinculado a materia.

Agora um pouco mais detalhado:

Estou desenvolvendo um sistema de gerencia escolar e no momento estou vinculando professores a materias. Para isso seria preciso que uma materia tivesse mais de um professor relacionado.

Eu gostaria de saber como faço para que no formulario de cadastro:

img:

7GuceuF.jpg

Ao clicar em "adicionar professor" ele aparecer mais um campo "professor" com o drop dos professores cadastrados.

OBS:. A função colapsed da forma como pensei não funciona porque pode ser que tenha só um professor e pode ter que tenha 20.

OBS2: Uma segunda duvida é de como ficaria o controller e o bd? Como ele cria uma variavel de controle e um novo campo no bd ao clicar em "adicionar professor?"

Vlw desde já!

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

Eu já tinha feito algo parecido, e fiz de um jeito diferente.

Eu tinha uma tabela com as salas de aulas outra com as matérias e outra com os professores e uma outra chamada aula, que "liga" as outras três tabelas.

Dessa forma uma matéria é lecionada por vários professores em salas diferentes e um professor pode lecionar várias matérias na mesma sala ou em salas diferentes.

Como você não falou nada com relação a horários e salas estou ignorando eles neste momento.

Bom você já nos disse que uma matéria pode ter vários professores, mas um professor pode ter várias matérias?

Se sim você precisa de uma tabela para professores e outra para matérias e uma terceira para uni-las Se não você só precisa de um campo na tabela professores que armazena a UNICA matéria que ele leciona.

Com relação ao formulário você pode usar um select mutiple.

No controler você faz um loop para ler cada valor retornado do select e faça um insert (no caso de usar três tabelas) ou um update em professores (se o professor só puder lecionar uma materia)

Espero ter ajudado.

Tudo de bom.

Link para o comentário
Compartilhar em outros sites

  • 0

Eu pensei bastante e resolvi o problema. Vou criar uma area de quadro de aulas. No quadro voce escolhe a turma, em seguida um drop com os professores cadastrados, depois a materia e depois o horario de inicio e fim da aula. Dessa forma voce gerencia o quadro, quais professores dao aula na turma e quais materias. =D

Link para o comentário
Compartilhar em outros sites

  • 0

Essa foi a forma que eu fiz.

Achei a que mais se assemelha com a realidade do problema.

Mas se você quiser poder inserir vários registros em uma única página(fica mais bonitinho e mais prático pra quem vai cadastrar), pode partir do mesmo principio desse form que eu criei pra enviar SMS ai é só adaptar a função JavaScript para o que você precisa.


<html>
<head>
<script type="text/javascript">
function addnumero () {
	p = document.createElement('p');
	input = document.createElement('input');
	input.type = 'text';
	input.name = 'numeros[]';
	input.className = 'numero';
	p.appendChild(input);
	document.getElementById('numeros').appendChild(p);
}
function addmensagem () {
	p = document.createElement('p');
	input = document.createElement('textarea');
	input.name = 'mensagens[]';
	input.className = 'mensagem';
	input.rows = 4;
	input.cols = 50;
	p.appendChild(input);
	document.getElementById('mensagens').appendChild(p);
}
</script>
</head>
<body>
<form method="post" action="enviar.php" name="sms" >
	<input type="hidden" name="prioridade" value="1" />
	<div id="numeros">
		<p>	
                    N&uacute;meros
		</p>
		<p>
			<input type="text" name="numeros[]" class="numero" />
		</p>
	</div>
	<p>
            <button type="button" class="addnumero" onclick="javascript: addnumero();">Add N&uacute;mero</button>
	<p>
	<div id="mensagens">
		<p>
			Mensagens
		</p>
		<p>
			<textarea name="mensagens[]" class="mensagem" rows="4" cols="50"></textarea>
		</p>
	</div>
	<p>
		<button type="button" class="addmensagem" onclick="javascript: addmensagem();">Add Mensagem</button>
	<p>
	<p>
		<input type="submit" id="enviar" value="Enviar" />
	<p>
</form>
</body>
</html>
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
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...