miércoles, 21 de junio de 2017

Objetos de selección múltiples en php.

Objetos de selección múltiples en php.
Por: Diógenes Amaury Martínez  Silverio.
Sin lugar a dudas que el poder dar la opción de  seleccionar, en cualquier aplicación es fundamental. En el día de hoy estaremos hablando de cómo crear una lista de opciones en php, y poder en segunda instancia trabajar con el valor seleccionado.
Debemos partir desde lo simple, para luego adentrarnos al más complejo, pero que a decir verdad será lo que nos agregue valor a nuestras aplicaciones futuras.
Pensemos en la creación de una lista de opción  para los días de la semana, esto sin la necesidad de usar php, es decir, sólo con html sería algo así:
<html>
<head>
  <title>Prueba Option Select</title>
</head>
<body>
<select id='p1'>
<option value='0'> Seleccionar </option>
<option value='1'> Lunes </option>
<option value='2'> Martes </option>
<option value='3'> Miércoles </option>
<option value='4'> Jueves </option>
<option value='5'> Viernes </option>
<option value='6'> Sábado </option>
<option value='7'> Domingo </option>
</body>
</html>

Con esto lograríamos algo como así:

Ahora bien pasemos a ver, de qué forma podemos mostrar información en un select opción desde una tabla en php


<html> 
<head>
  <title>Prueba Option Select</title>
<script>
function VerificaM()
{
 var elemento = document.getElementById("p1");
     var r = elemento.options[elemento.selectedIndex].value;
 document.getElementById("codigo").value =r;
}
</script>
 </head>
<body>
<?php
// Abrimos la conexion a la base de datos
include("abre_conexion.php");   
$consulta="SELECT * FROM asignatura";

/* seleccionamos la sentencia sql */
if ($result = $mysqli->query($consulta)) {

$html="<select id='p1' onClick='VerificaM();'>";
$html.="<option value='0'> Seleccionar </option>";
while ($obj = $result->fetch_object()) {
$html.= "<option value='".$obj->clave."'>".$obj->descri."</option>" ;
}
$html.="</select>";
// echo $html;
   
/* cerramos la base de datos */
include("cierra_conexion.php");
}
?>
<table>
  <tr>
    <td>Asignatura :</td>
<td><?php echo $html; ?></td>
  </tr>
  <tr>
    <td><input type="submit" value="Mostrar Selección" onClick="VerificaM();" /> :</td>
<td><input type ="text" id ="codigo"></td>
  </tr>
</table>  
</body>
</html>


Archivos independientes para abrir y cerrar la base de datos

//abre_conexion.php
<?php 
// Parametros a configurar para la conexion de la base de datos 
$mysqli = new mysqli("localhost", "dams", "1234", "uapa");
/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}
?> 

// cierra_conexion.php

<?php 

$mysqli->close(); 
?>