Ir para conteúdo

POWERED BY:

Arquivado

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

william_droops

[Resolvido] completar campo automaticamente

Recommended Posts

Pessoal, segui um tutorial e consigo com o ajax, começar a digitar e a cada caracter digitado, faço uma busca no banco e mostro os possíves resultado.

 

Funcionando uma maravilha, o problema é que fica no campo o nome, e eu preciso gravar o id. por exemplo.

 

 

tenho uma tabela com cidades, quando a pessoa encontra a cidade fica no campo o nome ex: são paulo , quando clico em cadastrar, preciso pegar o id ( ou a chave ) dessa informação e não o nome, como recupero o id e deixo oculto essa informação ??

 

 

<script type="text/javascript">
	function lookup(inputString) {
		if(inputString.length == 0) {
			// Hide the suggestion box.
			$('#suggestions').hide();
		} else {
			$.post("cid_sql.php", {queryString: ""+inputString+""}, function(data){
				if(data.length >0) {
					$('#suggestions').show();
					$('#autoSuggestionsList').html(data);
				}
			});
		}
	} // lookup
	
	function fill(thisValue) {
		$('#inputString').val(thisValue);
		setTimeout("$('#suggestions').hide();", 200);
	}
	function fill2(thisValue) {
		$('#id_uf').val(thisValue);
		setTimeout("$('#suggestions').hide();", 200);
	}
</script>

<td class="wphead_Black"><input name="inputString" type="text" id="inputString" onblur="fill();" onkeyup="lookup(this.value);" value="" autocomplete="false" class="wphead_Blue" /></td>

e tenho outra pagina que conecta o banco.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal consegui, criei um outro campo e dupliquei algumas coisas. Obrigado

 

Willian tem como você postar seu codigo, preciso de algo semelhante a este seu, já que o teu funcionou pode me dar uma luz...

 

Obrigada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esse código não é meu, eu encontrei na net.

 

Pagina onde esta o form.

 

<script type="text/javascript">
	function lookup(inputString) {
		if(inputString.length == 0) {
			// Hide the suggestion box.
			$('#suggestions').hide();
		} else {
			$.post("pag2.php", {queryString: ""+inputString+""}, function(data){
				if(data.length >0) {
					$('#suggestions').show();
					$('#autoSuggestionsList').html(data);
				}
			});
		}
	} // lookup
	
	function fill(thisValue) {
		$('#inputString').val(thisValue);
		setTimeout("$('#suggestions').hide();", 200);
	}
	
</script>
<form name="form" method="get" action="">

 

<input name="inputString" type="text" id="inputString" onblur="fill();" onkeyup="lookup(this.value);" value="" autocomplete="false" class="wphead_Blue" />

<div class="suggestionsBox" id="suggestions" style="display: none;">

<img src="upArrow.png" style="position: relative; top: -12px; left: 90px;" alt="upArrow" />

<div class="suggestionList" id="autoSuggestionsList">

</form>

 

 

pag2.php

 

<?php
//header("Content-Type: text/html;  charset=ISO-8859-1",true);





	// PHP5 Implementation - uses MySQLi.
	$db = new mysqli('server', 'user' ,'senha', 'banco');
	
	if(!$db) {
		// Show error if we cannot connect.
		echo 'ERROR: Não foi possível conectar o banco de dados.';
	} else {
		// Is there a posted query string?
		if(isset($_POST['queryString'])) {
			$queryString = $db->real_escape_string($_POST['queryString']);
			$queryString2 = $db->real_escape_string($_POST['queryString2']);
			echo '<p class=verdana11NormalWhite></p>';
			// Is the string length greater than 0?
			
			if(strlen($queryString) >0) {
				// Run the query: We use LIKE '$queryString%'
				// The percentage sign is a wild-card, in my example of countries it works like this...
				// $queryString = 'Uni';
				// Returned data = 'United States, United Kindom';
				
				// YOU NEED TO ALTER THE QUERY TO MATCH YOUR DATABASE.
				// eg: SELECT yourColumnName FROM yourTable WHERE yourColumnName LIKE '$queryString%' LIMIT 10
				
				$sql_query = "SELECT * FROM tabela WHERE coluna LIKE _utf8 '%$queryString%' COLLATE utf8_unicode_ci OR coluna2  LIKE '%$queryString%' LIMIT 50";
				//echo $sql_query;
				$query = $db->query($sql_query);
				if($query) {
					// While there are results loop through them - fetching an Object (i like PHP5 btw!).
					while ($result = $query ->fetch_object()) {
						// Format the results, im using <li> for the list, you can change it.
						// The onClick function fills the textbox with the result.
						
						// YOU MUST CHANGE: $result->value to $result->your_colum
			 			echo '<li class="verdana11NormalWhite" onClick="fill(\''.$result->nome.'\');">'.$result->nome.' - '.$result->uf.'</li>';
			 		}
				} else {
					echo 'ERRO: Houve um problema na consulta.';
				}
			} else {
				// Dont do anything.
			} // There is a queryString.
		} else {
			echo 'There should be no direct access to this script!';
		}
	}
?>

Você talvez customiza conforme sua necessidade. pois eu uso uma classe.

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.