Ver Mensaje Individual
  #4 (permalink)  
Antiguo 23/02/2015, 15:03
marcusaurelio
 
Fecha de Ingreso: enero-2007
Mensajes: 285
Antigüedad: 17 años, 3 meses
Puntos: 21
Respuesta: mostrar resultado de consulta en un campo select

ok.. entonces.. para mi lo mas sencillo.. es... usando. ajax de jquery...

hagamos asi.. tenenos.. dos archivos.. uno podria ser formulario.php y el otro consulta.php

en formulario.. tenes el form.. y el jquery con ajax

Código:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Documento sin título</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
</head>

<body>
<form name="form1" method="post" action="">
  <p>
    <label for="campo"></label>
    <input type="text" name="campo" id="campo">
  </p>
  <p>
    <label for="sel"></label>
    <select name="sel" id="sel">
      <option value="1">opcion 1</option>
      <option value="2">opcion 2</option>
      <option value="3">opcion 3</option>
    </select>
  </p>
</form>

<script>

$(function(){
	
	$("#campo").blur(function(){// blur es es cuando dejas el foco
		dato=$(this).val();//tomamos el valor ingresado en el campo


$.ajax({//enviamos via ajax el post hacia consulta donde enviamos como variable dato (podes porner mas separados por comas, dato:valo, nombre:valor2.....)
  type: "POST",
  url: "consulta.php",
  data: { dato: dato }
})
  .done(function( msg ) {//msg es el nombre que le dimos a lo que nos devielve ajax, que es lo que imprime el script consulta.php
  $("#sel").html(msg);
  //aca le decimos que el contenido html de el select sera el valor de msg

  });

		
		})
	
	})

</script>
</body>
</html>

mientras que en consulta.php, conectas db.. bajas datos con el formato de los options del selec. yo solo genere el codigo html del select de manera estatica.. pero vos tenes que hacerlo con tu db.

ejemplo

Código:
<?php 
$salida='';
if($_POST['dato']=='1'){
	
	for($i=1;$i<4;$i++){
		      
			  
			  $salida.='<option value="'.$i.'">opcion '.$i.'</option>';

		
		}
	
	}else{
		
		for($i=4;$i<8;$i++){
		      
			  
			  $salida.='<option value="'.$i.'">opcion '.$i.'</option>';

		
		}
		
		}


echo $salida;

?>
espero te sirva