Yo tengo algo así, en el modelo uso estas dos clases
Código PHP:
Ver original//class.pgsql.php
class pgsql
{
var $conexion,$driver,$host,$dbname,$port,$user,$clave;
function pgsql()
{
if(!isset($this->conexion)) {
$this->driver="pgsql";
$this->host="localhost";
$this->dbname="calidad";
$this->port="5432";
$this->user="hloreto";
$this->clave="Odebrecht2011";
$this->conexion = pg_connect("host='$this->host' dbname='$this->dbname' user='$this->user' password='$this->clave'"); }
}
function consulta($consulta)
{
return $resultado;
}
function fetch_array($consulta)
{
}
function num_rows($consulta)
{
}
function fetch_row($consulta)
{
}
function fetch_assoc($consulta)
{
}
function fetch_object($consulta)
{
}
}
Código PHP:
Ver original//class.selects.php
class selects extends pgsql
{
var codmargen='';
function cargarComponenteMargen()
{
$consulta = parent::consulta ("select a.id_componente, a.componente,b.eje from gen_componente a, gen_eje b where a.margen = '".$this->codmargen."' and b.id = a.idejeinicio");
$num_total_registros = parent::num_rows($consulta);
if($num_total_registros>0)
{
while($componente = parent::fetch_assoc($consulta))
{
$nombre = $componente["componente"];
$id = $componente["id_componente"];
$eje= $componente["eje"];
$componentes[$id]=$nombre." ".$eje;
}
return $componentes;
}//if conteo registros
else
{
return false;
}// sino retorna falso
}
}
Para escribir los checkboxes uso esto:
Código PHP:
Ver originalinclude("../../Clases/class.pgsql.php"); //se incluye el archivo de la configuración de la base de datos
include("../../Clases/class.selects.php"); //Archivo donde se hacen las consultas a la base de datos
$componente = new selects();
$componente->codmargen = $_GET["margen"]; //se obtiene este dato desde un formulario
$componente = $componente->cargarComponenteMargen();
foreach($componente as $key=>$value)
{
echo "<input type=\"checkbox\" name=\"Chckbx[]\" value=\"$key\">$value</option> <br>";
}
}
else {
//echo $componente."no se seleccionó nada ".$_GET["margen"]." <br /> ";
}