En este tutorial les mostraré como cargar un COMBOBOX desde una base de datos utilizando PHP con implementación de MVC.
Se crea un archivo conexion.php que va a guardar la conexión a la base de datos, se crean las variables de conexión y las funciones que ejecutan el query, se utilizó en este caso odbc_connect.
class Conexion { var $conn; var $connection_string = 'localhost'; var $user ='root'; var $pass = ''; var $bdd = 'bdd_local'; //Conecta con la base de datos function conectar(){ if (!($this->conn = odbc_connect($this->connection_string, $this->user, $this->pass))){ echo 'error al conectarse con la Base de Datos' ; }else{ //echo ' Conexion exitosa'; } } // consultar la base de datos se utiliza odbc function ejecutar($query){ return odbc_exec($this->conn, $query); $this->cerrarConexion() ; } // cierra una conexion function cerrarConexion(){ odbc_close($this->conn) ; } }
Luego se crea un archivo donde se llamara al archivo de conexión con un require y se crea la consulta que traerá en este caso a todos los paises, instanciando la clase conexión y llamando al objeto.
MConsultas.php
require_once('Conexion.php'); //clase de conexion class Consulta{ private $objeto = NULL; //instancio la calse de conexion y la llamo this para poderla utilizar en este archivo public function __construct(){ //ceo un cosnturctor para preparar la consulta $this->objeto = new Conexion(); $this->objeto->conectar(); } public function ObtenerTodosPaises(){ $sql = "SELECT CodigoPais, NombrePais FROM Pais ORDER BY NombrePais"; $result = $this->objeto->ejecutar($sql); return $result; } }
Para finalizar se crea el archivo de visualización VCombobox.php el cual permitirá que este se llene dinámicamente a partir de los datos existentes en la en la tabla pais de la base de datos correspondiente. llamamos el archivo de consulta con un include, e icorporamos una etiqueta de php, donde se instancia el objeto y la clase consulta, y dentro de un while se llama un array que permitirá recorrer toda la tabla trayendo los datos de código y nombre, paso seguido se llaman la fila en el <option>, código para el value y nombre para los datos del combo.
VCombobox.php
<form id="fm" method="post" novalidate autocomplete="off"> <label for="TipoActivoCuenta">Tipo Activo - Cuenta <br> <select class="select-style gender" name="TipoActivoCuenta" style="width:515px" required> <option value="" selected>Selecione</option> <?php include('MConsultas.php'); $Objeto = new Consulta(); $Rset = $Objeto->ObtenerTodosPaises(); while($row = odbc_fetch_array($Rset)){ ?> <option value="<?php echo $row['CodigoPais']; ?>"><?php echo utf8_encode($row['NombrePais']); ?></option> <?php } <? </select> </label> </form>
Como pueden ver es muy sencillo de hacerlo, solo es cuestión de práctica.
No hay comentarios:
Publicar un comentario