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