Foros del Web » Programando para Internet » PHP »

mostrar resultado de consulta en un campo select

Estas en el tema de mostrar resultado de consulta en un campo select en el foro de PHP en Foros del Web. cordial saludo, tengo la siguiente inquitud: deseo poder mostrar el resultado de una consulta SQL en un campo select a partir de un consulta hecha ...
  #1 (permalink)  
Antiguo 23/02/2015, 12:48
Avatar de heberthm  
Fecha de Ingreso: noviembre-2013
Ubicación: Cali
Mensajes: 65
Antigüedad: 11 años
Puntos: 1
Pregunta mostrar resultado de consulta en un campo select

cordial saludo, tengo la siguiente inquitud: deseo poder mostrar el resultado de una consulta SQL en un campo select a partir de un consulta hecha sobre un input. El campo input permite buscar la cédula del cliente y realiza la operación al perder el foco, momento en el cual quiero que se llene el select con los datos correspondientes según la respectiva consulta.
aquí el código:

<?php
function dbConnect (){
$conn = null;
$host = 'localhost';
$db = 'cobranzas';
$user = 'root';
$pwd = '';
try {
$conn = new PDO('mysql:host='.$host.';dbname='.$db, $user, $pwd);
//echo 'Connected succesfully.<br>';
}
catch (PDOException $e) {
echo '<p>Cannot connect to database !!</p>';
exit;
}
return $conn;
}

$result = "";
$conn = dbConnect();
$combobox;
$row;

// Create the query
$sql = 'SELECT valor_credito FROM clientes ';
// we have to tell the PDO that we are going to send values to the query
$stmt = $conn->query($sql);
// Extract the values from $stmt
$rows = $stmt->fetchAll();
if (empty($rows)) {
$result = "No se encontraron resultados !!";
}


?>

Y el código para llenar el Select:

<?php
foreach ($rows as $row) {
echo '<option value="'.$row['valor_credito'].'">'.$row['valor_credito'].'</option>';
}
?>
__________________
Hebeth Mazuera
  #2 (permalink)  
Antiguo 23/02/2015, 14:15
 
Fecha de Ingreso: enero-2007
Mensajes: 285
Antigüedad: 17 años, 10 meses
Puntos: 21
Respuesta: mostrar resultado de consulta en un campo select

hola.. como estas? segun entiendo.. lo que necesitas es manajr javascript, si conoces jquery es mas facil.

decime hasta donde conoces de js o jquery.. y lo vamos viendo.
  #3 (permalink)  
Antiguo 23/02/2015, 14:40
Avatar de heberthm  
Fecha de Ingreso: noviembre-2013
Ubicación: Cali
Mensajes: 65
Antigüedad: 11 años
Puntos: 1
Respuesta: mostrar resultado de consulta en un campo select

gracias marcusaurelio, conozco un poco de jquery y ajax, pero cómo puedo usarlos dentro de mi código requerido?.
__________________
Hebeth Mazuera
  #4 (permalink)  
Antiguo 23/02/2015, 15:03
 
Fecha de Ingreso: enero-2007
Mensajes: 285
Antigüedad: 17 años, 10 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
  #5 (permalink)  
Antiguo 23/02/2015, 16:00
Avatar de heberthm  
Fecha de Ingreso: noviembre-2013
Ubicación: Cali
Mensajes: 65
Antigüedad: 11 años
Puntos: 1
Respuesta: mostrar resultado de consulta en un campo select

gracias marcusaurelio, es lo que esba buscando, me pondré a trabajar con el ejemplo.
__________________
Hebeth Mazuera

Etiquetas: campo, resultado, select, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:35.