Ir para conteúdo

POWERED BY:

Arquivado

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

Dian Carlos

[Resolvido] Adicionando Options adicionais no Select dinamicament

Recommended Posts

Olá amigos do iMasters o/.

 

Tenho o seguinte problema..

 

Estou trabalhando em um formulário em que o internauta registra uma vaga de emprego, está em banco de dados e já está pronto, funcionando perfeitamente, vocês podem ver o formulário aqui nesse link > http://arcoinformatica.com.br/dian/

 

 

Eu quero que a caixa 'Cargo' seja puxada do banco de dados (isso eu sei fazer). mas tem que ter um link para a pessoa registrar uma nova categoria.

 

Vo descrever o processo que eu quero..

 

  • A pessoa clica no link 'Inserir novo cargo'
  • Uma popup ou lightbox abre com o campo pra ela digitar uma nova opção, o valor e digitado e quando a pessoa clicar em 'Salvar' a nova opção é retornada para a select box 'cargo' na página sem ela ser recarregada.. ai quando a inscrição for terminada e for dado o submit o motor php que criei verifique se a nova categoria existe ou não. se existir a inscrição é finalizada, se não ele registre a nova categoria no banco de dados e a inscrição finalize.(isso eu também sei fazer)
  • O registro do emprego continue normalmente.

 

 

Então, é isso que eu quero. só falta isso para terminar o meu projeto.

 

Desde já agradeço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Framework jQuery ~> Clique aqui

<script>
function CarregarCombo(){
  $('#IDcombo').load('data.php');
}
</script>

 

php

 

<?php

mysql_connect('localhost','root','******');
mysql_selectdb('combobox');
$result = mysql_query("SELECT * FROM tabela");
while($row = mysql_fetch_array($result) ){
   echo "<option value='".$row['id']."'>".$row['nome']."</option>";
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Framework jQuery ~> Clique aqui

<script>
function CarregarCombo(){
  $('#IDcombo').load('data.php');
}
</script>

 

php

 

<?php

mysql_connect('localhost','root','******');
mysql_selectdb('combobox');
$result = mysql_query("SELECT * FROM tabela");
while($row = mysql_fetch_array($result) ){
   echo "<option value='".$row['id']."'>".$row['nome']."</option>";
}
?>

 

Olá macielcr7. isso seria a exibição dos valore puxando do banco de dados.. isso eu sei fazer e vou usar desse jeito. mas o que eu realmente quero é qque a pessoa possa colocar mais opções na select. ela aperte eu um link e apareça uma janela em que ela escreva o valor e aperte em salva, e o valor retorne para a página sem ela ser recarregada. só isso que que quero.. o resto em php eu sei fazer tbm.. então eu preciso da parte em javascript disso tudo..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Dian.

 

Você pode usar JQuery e Ajax para isso.

 

Vamos dar um id para o botão salvar e executar o jquery no click dele.

 

Você vai precisar de uma outra página que vai receber o novo cargo via post, inserir no banco e retornar o valor inserido junto com seu id.

 

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){

	$('#salvar').click(function(){
		$.ajax({
			url:'novoCargo.php',
			data:'cargo='+$('#novoCargo').val(),
			type:'POST',
			success:function(data){
				$('#selectCargo').append(data);
			}
		});

	});

});
</script>
<select id="selectCargo">
<option value="1">Cargo 1</option>
   <option value="2">Cargo 2</option>
   <option value="3">Cargo 3</option>
</select>

<input type="text" id="novoCargo" /><input type="button" value="Salvar" id="salvar" />

 

E na página novoCargo.php você faz o seguinte.

 

<?php 

$cargo = $_POST['cargo'];
mysql_query("INSERT INTO cargo (cargo) VALUES('".$cargo."')");

$sql = "SELECT * FROM cargo ORDER BY id DESC LIMIT 1";
$qr = mysql_query($sql);
$dados = mysql_fetch_assoc($qr);

echo '<option value="'.$dados['id'].'">'.$dados['cargo'].'</option>';

?>

 

Coloca esses dados abaixo do seu select de cargos e ve se funciona.

 

Obs: Essa não é a maneira ideal de se inserir no banco porque não tem tratamento dos dados e por não estar Orientado a Objeto, foi somente para exemplificar.

 

Espero ter ajudado.

 

Olá amigos do iMasters o/.

 

Tenho o seguinte problema..

 

Estou trabalhando em um formulário em que o internauta registra uma vaga de emprego, está em banco de dados e já está pronto, funcionando perfeitamente, vocês podem ver o formulário aqui nesse link > http://arcoinformatica.com.br/dian/

 

 

Eu quero que a caixa 'Cargo' seja puxada do banco de dados (isso eu sei fazer). mas tem que ter um link para a pessoa registrar uma nova categoria.

 

Vo descrever o processo que eu quero..

 

  • A pessoa clica no link 'Inserir novo cargo'
  • Uma popup ou lightbox abre com o campo pra ela digitar uma nova opção, o valor e digitado e quando a pessoa clicar em 'Salvar' a nova opção é retornada para a select box 'cargo' na página sem ela ser recarregada.. ai quando a inscrição for terminada e for dado o submit o motor php que criei verifique se a nova categoria existe ou não. se existir a inscrição é finalizada, se não ele registre a nova categoria no banco de dados e a inscrição finalize.(isso eu também sei fazer)
  • O registro do emprego continue normalmente.

 

 

Então, é isso que eu quero. só falta isso para terminar o meu projeto.

 

Desde já agradeço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Dian.

 

Você pode usar JQuery e Ajax para isso.

 

Vamos dar um id para o botão salvar e executar o jquery no click dele.

 

Você vai precisar de uma outra página que vai receber o novo cargo via post, inserir no banco e retornar o valor inserido junto com seu id.

 

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){

	$('#salvar').click(function(){
		$.ajax({
			url:'novoCargo.php',
			data:'cargo='+$('#novoCargo').val(),
			type:'POST',
			success:function(data){
				$('#selectCargo').append(data);
			}
		});

	});

});
</script>
<select id="selectCargo">
<option value="1">Cargo 1</option>
   <option value="2">Cargo 2</option>
   <option value="3">Cargo 3</option>
</select>

<input type="text" id="novoCargo" /><input type="button" value="Salvar" id="salvar" />

 

E na página novoCargo.php você faz o seguinte.

 

<?php 

$cargo = $_POST['cargo'];
mysql_query("INSERT INTO cargo (cargo) VALUES('".$cargo."')");

$sql = "SELECT * FROM cargo ORDER BY id DESC LIMIT 1";
$qr = mysql_query($sql);
$dados = mysql_fetch_assoc($qr);

echo '<option value="'.$dados['id'].'">'.$dados['cargo'].'</option>';

?>

 

Coloca esses dados abaixo do seu select de cargos e ve se funciona.

 

Obs: Essa não é a maneira ideal de se inserir no banco porque não tem tratamento dos dados e por não estar Orientado a Objeto, foi somente para exemplificar.

 

Espero ter ajudado.

 

 

Olá Rafael, mano... o que você me mandou fez a função que eu queria.. inserir na banco dedos e depois retornar para dentro da select box.. ai pra ficar exatamente do jeito que eu queria eu coloquei um 'selected' la na option.. ai quando apertava em salvar ela ja aparecia selecionada na caixa...Obrigado mesmo cara.. obrigado..

 

Mas vo te encher mais um pouco.. tem como fazer os campos para inserir o novo cargo em uma lightbox aparecendo por cima da página?

 

tipo.. clicar em um link 'Adicionar novo cargo' e aparecer uma janela voando com o campo pra eu escrever e salvar. sendo que eu queria com aquele efeito que a página fica escura, só aparecendo transparente em baixo de um fundo escuro e só a janela fica em destaque.. esqueci o nome desse efeito hehe :yay: ..

 

Se puder fazer isso.. mais uma vez eu te agradeço..

 

Boa tarde

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sem problemas, vou te indicar um script bacana para isso e outros recursos similares.

 

Da uma acessada no Color Box, www.jacklmoore.com/colorbox/example1/ O penultimo exemplo deste link é o inline HTML que serve perfeitamente pro que você precisa.

 

Até mais

Compartilhar este post


Link para o post
Compartilhar em outros sites

Rafael.. Eu consegui fazer uma janela modal aqui em uns tutorias que achei na net.. Mas muito obrigado pela ajuda. Seu java script funciono do jeito que eu queria.. mas eu dei umas modificadas no código pra ele funcionar do jeito que o cliente quer..

 

Só tirei a função que insere o novo cargo no banco de dados.. Por que eu vou fazer um tratamento para registro no bd..

 

Olha o código em funcionamento > http://arcoinformatica.com.br/dian/.

 

Ai tem lá 'Adicionar Novo Cargo' ai fico do jeito que eu queria.. hehhe...

 

 

Mas obrigado outra vez..

 

Boa tarde..

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.