Problem with relationship between two SELECT filled with PHP

Asked

Viewed 48 times

0

Hello. (I asked a question about it these days, but I could not get results with the answers).

I have two selects (which are filled with PHP data coming from mysql database).

I would like when I select a value in a select, the other select is changed to the corresponding value.

Example: I have a select list of company codes, and another with companies. I would like that when I select a company code in select, the other select 'automatically' change to the company corresponding to the selected code.

I managed to make sure that when selecting the code, the company related to it was selected in the other select. However, I could not do the opposite. When selecting the company, its code is not selected in the other select.

I’ve been doing this for 4 days and the interns are already losing a little patience. If you can help me, I’ll be grateful.

Follow the code below:

//FUNCAO PARA PRENCHER SELECT EMPRESA DE ACORDO COM O CÓDIGO (COD) ESCOLHIDO

$(function() 
 {

	$("select#codigo-empresa").change(function(e) 
	{
		var cod = $("select#codigo-empresa option:selected").attr('id');
		//$('select#empresa').show('<option selected>' + cod + '</option>');
		$("select#empresa").val(cod);
				
	
		
	});
		
	
});


//FUNCAO PARA PRENCHER SELECT COD DE ACORDO COM A EMPRESA ESCOLHIDA

$(function() 
 {

	$("select#empresa").change(function(e) 
	{	
			
		var codigo = $("select#empresa option:selected").attr('id');
		$("select#codigo-empresa").val(codigo);
		
		
	});
		
	
});





//FUNCAO PARA PRENCHER SELECT TRIBUTAÇÃO DE ACORDO COM O CÓDIGO (COD) ESCOLHIDO

$(function() 
 {
	$("select#codigo-empresa").change(function(e) 
	{
		var trib = $("select#codigo-empresa option:selected").attr('name');
		$("input[id='tributacao']").val(trib);
		
	
	
	});

		
	
});


//FUNCAO PARA PRENCHER SELECT TRIBUTAÇÃO DE ACORDO COM A EMPRESA ESCOLHIDO

$(function() 
 {
	$("select#empresa").change(function(e) 
	{
		var tribu = $("select#empresa option:selected").attr('name');
		$("input[id='tributacao']").val(tribu);
	
		
		
	});

		
	
});
<form action="banco-de-dados/tela-atividade-extra/update.php" method="post" id="formulario-login-sistema" onSubmit="alert('Atividade Cadastrada com Sucesso');">
							
							<div class="form-group col-lg-4">
								<label for="colaborador">Colaborador:</label>
								<select name="colaborador" id="colaborador" class="input form-control">
									<option><?php echo utf8_decode($_SESSION["nome"]) ?></option>				
								</select>
								
							</div>
							
							<div class="form-group col-lg-7 col-lg-offset-1">
								<label for="atividade">Qual será a atividade ?</label>
								<select name="atividade" id="atividade" class="input form-control">
									<?php
										while($registros_atividade = $query_pegar_atividades -> fetch_assoc())
										{
									?>	
										<option id="<?php echo utf8_decode($registros_atividade["ATIVIDADE"]); ?> ">	
											<?php echo  utf8_decode($registros_atividade['ATIVIDADE']); ?>
										</option>

									<?php
										}
									?>								
								</select>
																		
							</div>
							
												
							
							<!-- LINHA -->
							
							<div class="form-group col-lg-4">
							
								<label for="data-vencimento">Qual é a data de vencimento:</label>
								<input type="date" name="data-vencimento" id="data-vencimento" class="input form-control" value="<?php echo $data_de_hoje_form_atividade; ?>">
								
							</div>
							
							<div class="form-group col-lg-4 col-lg-offset-1">
								<label for="designou-atividade">Quem designou a atividade?</label>
								<select name="designou-atividade" id="designou-atividade" class="input form-control">
									<option>CLIENTE</option>
									<?php
										while($registros_usuario = $query_pegar_designador -> fetch_assoc())
										{
									?>	
										<option id="<?php echo utf8_decode($registros_usuario["usuario"]); ?> ">	
											<?php echo  utf8_decode($registros_usuario['usuario']); ?>
										</option>

									<?php
										}
									?>					
								</select>
								
								
									
							</div>

							<!-- LINHA -->
							
							<div class="col-lg-12 alinhar-texto-no-centro" id="selecionar-empresas">
								<h3 class="alinhar-texto-no-centro">Selecionar Empresa</h3>
														
								<!-- CAMPO CODIGO DA EMPRESA -->
								<div class="form-group col-lg-2">
								
									<label for="codigo-empresa">COD</label>
									<select name="codigo-empresa" id="codigo-empresa" class="input form-control">
									<option></option>
										<?php
											while($registros_cod = $query_pegar_cod -> fetch_assoc())
											{
										?>	
											<option id="<?php echo utf8_decode($registros_cod['EMPRESAS']);?>" name="<?php echo utf8_decode($registros_cod["TRIBUTACAO"]);?>">	
												<?php echo  utf8_decode($registros_cod['COD']); ?>
											</option>

										<?php
											}
										?>		
									</select>
									
								
								</div>
													
								<!-- CAMPO EMPRESA -->
								<div class="form-group col-lg-7">
									<label for="empresa">Empresa</label>
									<select name="empresa" id="empresa" class="input form-control">
									<option></option>
										<?php
										while($registros_empresas = $query_pegar_empresa -> fetch_assoc())
										{
										?>	
											<option id="<?php echo utf8_decode($registros_empresas['COD']);?> " name="<?php echo utf8_decode($registros_empresas["TRIBUTACAO"]); ?> ">	
												<?php echo  utf8_decode($registros_empresas['EMPRESAS']); ?>
											</option>
																						
										<?php
											}
										?>						
									</select>
									
									
									
								</div>
								
								<!-- CAMPO TRIBUTAÇÃO -->
								<div class="form-group col-lg-3">
									<label for="tributacao">Tributação</label>
									<input name="tributacao" id="tributacao" class="input form-control" readonly>
										
									</input>
																										
								</div>
								
								
								<!-- CAMPO POSSUIR ARQUIVOS -->
								<div class="form-group col-lg-3 col-lg-offset-9" id="lista-empresas" style="display:inline">
									<div class="form-inline">
										<div class="radio">
											<label>
												<input type="radio" name="empresas-filtro" id="empresas-filtro" value="sim" class="form-control" checked>Minhas
											</label>
										</div>
										
										<div class="radio">
											<label>
												<input type="radio" name="empresas-filtro" id="empresas-filtro" value="nao" class="form-control">Todas
											</label>
										</div>
									</div>									
								</div>

								
								
								
							</div>

							<!-- LINHA -->
							
								<!-- CAMPO DETALHES -->
								
								<div class="form-group col-lg-12" id="destalhes">
									<label for="destalhes-da-atividade">Detalhes sobre a atividade</label>
									<textarea class="form-control" name="destalhes-da-atividade" id="destalhes-da-atividade" style="resize:none" maxlength="500" rows="10" placeholder="Descreva detalhes sobre a atividade"></textarea>
								
								</div>

							<!-- LINHA -->

								<!-- CAMPO QUANTIDADE DE PROCESSOS -->
								<div class="form-group col-lg-3">
									<label for="quantidade-processos">Quantidade de Processos: </label>
									<input class="form-control" type="number" name="quantidade-processos" id="quantidade-processos" min="1" max="100" maxlength="40" required>
								</div>
								
								<!-- CAMPO POSSUIR ARQUIVOS -->
								<div class="form-group col-lg-5 col-lg-offset-4" id="possui-arquivo" style="display:inline">
									<label for="possui-arquivo">Possui Arquivo ?</label>
									<div class="form-inline">
										<div class="radio">
											<label>
												<input type="radio" name="possui-arquivo" id="opcao-radio" value="S" class="form-control" checked> SIM
											</label>
										</div>
										
										<div class="radio">
											<label>
												<input type="radio" name="possui-arquivo" id="possui-arquivo" value="N" class="form-control"> NÃO
											</label>
										</div>
									</div>									
								</div>

								
								<!-- LINHA -->
								
								<div class="col-lg-3 col-lg-offset-9 form-group">
									<input name="salvar-atividade-extra" id="salvar-atividade-extra" class="btn btn-sm btn-primary btn-block" type="submit" value="Salvar">
								</div>
							
						</form>
            
            
<?php
	
	date_default_timezone_set('Etc/GMT+3');
	setlocale(LC_ALL, "", "pt_BR.utf-8");
	
	
	$departamento_usuario = $_SESSION["departamento-usuario"];
	$usuario_logado = $_SESSION["nome"];
	
	
	$create_one = "select distinct ATIVIDADE from Tbl_Atividades_Por_Dep where DEPARTAMENTO = '{$departamento_usuario}'";
	$query_pegar_atividades =  mysqli_query($conecta, $create_one);
	
	
	$create_two = "select usuario from tbl_usuarios WHERE (SUPERVISOR = TRUE AND DEPARTAMENTO = '{$departamento_usuario}') 
	OR (ADMINISTRADOR = TRUE)";
	$query_pegar_designador = mysqli_query($conecta, $create_two);
	
	
	
	$create_three = "SELECT DISTINCT COD, EMPRESAS, TRIBUTACAO FROM tbl_atividades WHERE RESPONSAVEL = '{$usuario_logado}' ORDER BY COD";
	$query_pegar_cod = mysqli_query($conecta, $create_three);
	$query_pegar_tributacao = mysqli_query($conecta, $create_three);
	
	
	$create_four = "SELECT DISTINCT COD, EMPRESAS, TRIBUTACAO FROM tbl_atividades WHERE RESPONSAVEL = '{$usuario_logado}' ORDER BY COD";
	$query_pegar_empresa = mysqli_query($conecta, $create_four);
	

	$data_de_hoje_form_atividade = date("Y-m-d");
	
	
?>

I know PHP is disorganized and some queries are unnecessary. But I don’t think that’s the problem. Below, I show the image of the fields I want there to be interaction.

inserir a descrição da imagem aqui

If you could help me, I’d be grateful.

REFORMULATING (To make my explanation more succinct. I would like when I select the OPTION with id = 1 from a SELECT, automating the OPTION with id = 1 from another SELECT to be selected).

I managed to reduce a little the jQuery code used. I think it lacks silly to conclude.

//FUNCAO PARA PRENCHER SELECT EMPRESA E TRIBUTAÇÃO DE ACORDO COM O CÓDIGO (COD) ESCOLHIDO

$(function() 
 {
	$("select#codigo-empresa").change(function(e) 
	{
		var trib = $("select#codigo-empresa option:selected").attr('name');
		$("input[id='tributacao']").val(trib);
		
		var cod = $("select#codigo-empresa option:selected").attr('id');
		$("select#empresa").val(cod);
	
	});

		
	
});


//FUNCAO PARA PRENCHER SELECT COD E TRIBUTAÇÃO DE ACORDO COM A EMPRESA ESCOLHIDA

$(function() 
 {
	$("select#empresa").change(function(e) 
	{
		var tribu = $("select#empresa option:selected").attr('name');
		$("input[id='tributacao']").val(tribu);
	
		var codigo = $("select#empresa option:selected").attr('id');
		$("select#codigo-empresa").val(codigo);
		
	});

		
	
});

No answers

Browser other questions tagged

You are not signed in. Login or sign up in order to post.