Ir para conteúdo

POWERED BY:

Arquivado

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

admendes

[Resolvido] Pegar valor do option

Recommended Posts

Pessoal,

Bom dia, estou com um probleminha e creio que é simples mas, não estou em atentando:

quero pegar o valor do <option></option> e inserir no banco de dados,

o problema é que ele pega o outro campo(INPUT text) mas, não pega o valor do option

Segue o codigo:

 

<select name="nome_cliente" id="nome_cliente">
			<option value="">Selecione um Cliente</option>;
			
				<?
                    $cliente = new cliente();
					$cliente->setid_cliente($_POST['id_cliente']);
					$cliente->setnome_cliente($_POST['nome_cliente']);
					$cli = $cliente->listagem();
					
					while($dados = mysql_fetch_array($cli)){
						echo("<option value=".$dados['id_cliente'].">".$dados['nome_cliente']."</option>");
					}
				?>
			
			</select>

Compartilhar este post


Link para o post
Compartilhar em outros sites

você tem outro input,select,textarea com o mesmo name ?

 

se você fizer:

echo $_POST['nome_cliente'];

 

a saída será o value do option selecionado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não só tenho um input com outro nome

 

Essa lista de clientes vem de outra tabela agora quero vincular o cliente a um empreendimento

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não tem nenhum erro aparente nessa parte.

 

Poste o resto do script.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O codigo todo:

No caso, tenho que inserir no banco o nome do empreendimento e o nome do cliente.

 

 

 

<html>
<head>
	<title>Cadastro de Etapas do Empreendimento</title>
	<link rel="stylesheet" href="css/estilos.cad.empreend.css" media="all">
	<script type="text/javascript" language="javascript" src="js/jQuery/jquery.js"></script>
	<script type="text/javascript" language="javascript">
		$(document).ready(function(){
		$('div').show(1500);
		});
	</script>
	<style type="text/css" media="all"></style>
</head>	
	<body>
	<form method="post" action="instancia.etapaempreendimento.php?acao=cadastrar" id="cadastro_etapaempreendimento" name="cadastro_etapaempreendimento">
	<div>
		<fieldset id="conteudo">
			<legend>Cadastro de Etapas do Empreendimento</legend>
			<input type="hidden" id="id_etapaempreendimento" name="id_etapaempreendimento" value="<?echo $dados[id_etapaempreendimento]?>" /></p>
			<p>Descrição das Etapas:<br /></p><input type="text" id="nome_etapaempreendimento" name="nome_etapaempreendimento" value="<?echo $dados[nome_etapaempreendimento]?>">
			<p>Cliente:</p>
			<select name="nome_cliente" id="nome_cliente" value="<?echo $dados[nome_cliente]?>">
			<option value="<?echo $dados[nome_cliente]?>">Selecione um Cliente</option>;
			
				<?
                    $cliente = new cliente();
					$cliente->setid_cliente($_POST['id_cliente']);
					$cliente->setnome_cliente($_POST['nome_cliente']);
					$cli = $cliente->listagem();
					
					while($dados = mysql_fetch_array($cli)){
						echo("<option value=".$dados['id_cliente'].">".$dados['nome_cliente']."</option>");
					}
echo $_POST['nome_cliente'];			
			?>
			
			</select>
			<button type="submit">Cadastrar</button>
		</fieldset>
	</div>
	</form>
</body>
</html>

Esse é o INSERT:

 

public function cadastraEtapaEmpreendimento(){
		
		$this->cadastra = "INSERT INTO sms_etapaempreendimento(nome_etapaempreendimento,nome_cliente)
						   VALUES	  			     ('$this->nome_etapaempreendimento','$this->nome_cliente')";
		
		die($this->cadastra);
		if($this->cadastra){
			echo "Etapa de Empreendimento Cadastrada com sucesso";
				return mysql_query($this->cadastra);
		}else{
			echo "Erro ao cadastrar Etapa de Empreendimento";
			}
		
	}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Qual arquivo é o:

instancia.etapaempreendimento.php ?

 

Qnto ao select, deixe apenas:

<select name="nome_cliente">
		<option value="--">Selecione um Cliente</option>
	<?php
		$cliente = new cliente();
		$cli = $cliente->listagem();

		while($dados = mysql_fetch_array($cli))
		{
			echo '<option value="'.$dados['id_cliente'].'">'.$dados['nome_cliente'].'</option>';
		}                
	?>
	</select>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esse aqui:

Ele não tem vinculo com a instancia deveria ter?

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

include("class/etapaEmp.class.php");

$eta = new EtapaEmpreendimento();
$eta->setid_etapaempreendimento ($_POST['id_etapaempreendimento']);
$eta->setnome_etapaempreendimento($_POST['nome_etapaempreendimento']);

	if($_POST['id_etapaempreendimento']=="" && $_GET['acao']=="cadastrar"){
		$eta->cadastraEtapaEmpreendimento();
	}

	if($_POST['id_etapaempreendimento']!=""){
		$eta->atualizaEtapaEmpreendimento();
	}
/*******************************************************************************/
	
	
	if(isset($_POST['checkid_etapaempreendimento']) && $_GET['acao']=="delete"){
				if(mysql_affected_rows()==true){
					echo "Dados Excluidos com sucesso   ";
						header('location:lista.etapaempreendimento.php');
				}
						else{
					echo "erro na exclusão";
						}
				
						$eta->deletaEtapaEmpreendimento();
	}
	
	
/*******************************************************************************/
	
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, 'muito confuso'.

pra que aquele die?

die($this->cadastra);
??

 

Se esse arquivo que é o action do form:

$eta = new EtapaEmpreendimento();
$eta->setid_etapaempreendimento ($_POST['id_etapaempreendimento']);
$eta->setnome_etapaempreendimento($_POST['nome_etapaempreendimento']);
e você quer cadastrar o id do cliente, pq não tem um setid_cliente ??

 

Reveja essas classes tão bem estranhas..

Compartilhar este post


Link para o post
Compartilhar em outros sites

O die(), é apenas pra ver ta pegando o nome do cliente

INSERT INTO sms_etapaempreendimento(nome_etapaempreendimento,nome_cliente) VALUES ('Etapa 1789', '')

e no caso eu instanciei no cadatra.etapaempreendimento.php, mesmo assim eu tenho que setar o cliente na nesse arquivo

e eu to aprendendo ainda cara mesmo assim obrigado pela a juda eu vo arrumar a minha classe.

Compartilhar este post


Link para o post
Compartilhar em outros sites

tá... então oque você tem que fazer é adicionar ali..

$eta = new EtapaEmpreendimento();
$eta->setid_etapaempreendimento ($_POST['id_etapaempreendimento']);
$eta->setnome_etapaempreendimento($_POST['nome_etapaempreendimento']);
$eta->setid_cliente($_POST['id_cliente']);

e o teu <select>

<select name="id_cliente">
eu também tô estudando OO ^_^

 

é que não tava entendendo bem como você tinha feito. Acredito que agora vá resolver.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bem, eu fiz algo que deu certo mas, não sei se esta correto:

 

inclui a classe cliente.php na isntancia.etapaempreendimento.php

setei o cliente

e depois coloquei a função dentro da classe etapaempreendimento.php

isso é certo pois eu deveria chamar a classe cliente certo.

 

se você não entender eu posto o codigo aqui beleza abraços

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.