Ir para conteúdo

POWERED BY:

Arquivado

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

tganet

Atualizar campo Select

Recommended Posts

Imagem Postada

 

1. Este campo select é abastecido de uma consulta SQL, até aqui sem problemas.

2. Daqui em diante meus problemas tem início, eu gostaria que o campo 2 e os outros você carregado em função do campo 1, como não consigo fazer isso coloco no SQL, um WHERE travado já com o ano tipo 2009.

 

Preciso que ao mudar qualquer campo, ele atualize automaticamente os outros campos, estudei Ajax, mas ainda não consegui implementar a solução, além do que eu preciso capturar o que o usuário escolheu para montar um relatório, alguém poderia me ajudar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara eu tive uma dúvida parecida com a sua e o Willian, moderador aqui do forum me passou isso daqui:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script type="text/javascript" src="jquery-1.3.2.js"></script>
<script>
$(document).ready(function(){
                
				$("#nome").change(function(){
					$("#carga").fadeIn();
                	$.ajax({
						url: "data.php",
						data: {idCliente: $(this).val()},
						type: 'GET',
						dataType: 'json',
						beforeSend: function(){$("#carga").fadeIn();},
						complete:	function(){$("#carga").fadeOut();},
						success: 	function(data){
										$.each(data, function(i, valor){
											$("#telefone").val(valor.telefone);
											$("#endereco").val(valor.endereco);
										});
									}
					});
				});
});
</script>
</head>

<body>
<div id="carga" style="margin-bottom:20px;font:12px Verdana, Geneva, sans-serif;color:#C90;display:none;border:1px solid #C90;background:#FFFFE6;padding:8px;width:400px;text-align:center;">Carregando dados...</div> 
Cliente:<br />
<select name="nome" id="nome">
  <option>Selecione...</option>
  <?php
        include('data.php');
        echo montaSelect();
  ?>
</select><br />
Título:<br />
<input name="telefone" id="telefone" type="text" /><br />
Texto:<br />
<textarea name="endereco" id="endereco" cols="17" rows="3"></textarea><br />
</body>
</html>

data.php:

<?php
        $con = mysql_connect('localhost', 'root', '');
        mysql_select_db('estudos', $con);

/**
         * função que retorna o select
         */
        function montaSelect()
        {
                $sql = "SELECT `idCliente`, `nome` FROM `cliente` ";
                $query = mysql_query( $sql );

                if( mysql_num_rows( $query ) > 0 )
                {
                        while( $dados = mysql_fetch_assoc( $query ) )
                        {
                                $opt .= '<option value="'.$dados['idCliente'].'">'.$dados['nome'].'</option>';
                        }
                }
                else
                        $opt = '<option value="0">Nenhum cliente cadastrado</option>';

                return $opt;
        }

        /**
         * função que devolve em formato JSON os dados do cliente
         */
        function retorna( $id=null )
        {
                $id = (int)$id;

                $sql = "SELECT * FROM `cliente` ";
                if( $id != null )
                        $sql .= "WHERE `idCliente` = {$id} ";
                $query = mysql_query( $sql );

                //$json = 'var dados = ';
                $json .= ' [';
                if( mysql_num_rows( $query ) > 0 )
                {
                        while( $dados = mysql_fetch_assoc( $query ) )
                        {
                                $json .= "{endereco: '{$dados['endereco']}', telefone: '{$dados['telefone']}'}";;
                        }
                }
                else
                        $json = 'endereco: não encontrado';

                $json .= ']';
                //$jston .= ';';

                return $json;
        }

/* só se for enviado o parâmetro, que devolve o combo */
if( isset($_GET['idCliente']) )
{
        echo retorna( $_GET['idCliente'] );
}
?>

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.