Código PHP:
<?
/********************************************/
/*Clase Ficha Personal */
/*Autor: Hugo Flores Joseph 2006 /*
/********************************************/
require_once("cDBManager.php");
class FormAcademic{
//Atributos
private $CodFormAcad;//Primary Key (PK)
private $Grado;//char(1)
private $FechaObtencion;//datetime
private $CodFicha;//Foreing Key(FK)
private $CodEsp;//Foreing Key(FK)
private $CodUniv;//Foreing Key(FK)
//Metodos
//---------------------------------------------------------------------------
public function Correlativo(/*$vCodFicha*/){
$vCorre=1;
$vCont=1;
$sql_query="";
$vCeros="";
$db=new DBManager('HPFLORESJ','sa','sa','dbescalafon');
//En el Caso de que decidamos implementar un indice compuesto PK clustered(CodFicha,CodFormAcad)
//en la tabla FormAcademic debemos utilizar la siquiente sentencia SQL pasando como
//parametro el 'codigo de la ficha'=$vCodFicha al metodo() Correlativo.
//Ejemplo: $sql_query="SELECT CodFormAcad FROM FormAcademic
//WHERE(CodFicha='".$vCodFicha."') ORDER BY CodFormAcad";
$sql_query="SELECT CodFormAcad FROM FormAcademic ORDER BY CodFormAcad";
$rs=$db->execute($sql_query);
if($rs->lastRow()) {
$vCorre=intval($rs->fields['CodFormAcad']);//obtengo el valor entero del campo CodUsuario
$vCorre++;//se incrementa en 1
}
for($i=1;$i<(6-strlen($vCorre));$i++){
$vCont++;//contador de ceros
}
$vCeros=str_pad($vCeros,$vCont,'0',STR_PAD_RIGHT);//rellenar de ceros al lado derecho
$rs->close();
$db->closeConnection();//opcional
return($vCeros.$vCorre);
}//fin Correlativo
//---------------------------------------------------------------------------
public function BuscarCodigo($vCodFicha,$vCodFormAcad){
$resp=false;
$num_rows=0;//numero de filas afectada por la consulta
$db=new DBManager('HPFLORESJ','sa','sa','dbescalafon');
$Stm=mssql_init("spFormAcad_BC",$db->getHandle());
if($Stm)
{
mssql_bind($Stm,"@vCodFormAcad",$vCodFormAcad,SQLCHAR);
mssql_bind($Stm,"@vCodFicha",$vCodFicha,SQLCHAR);
}else{
echo"<font face=verdana size='5'><b>No se puede inicializar el Procedimiento Almacenado.</b></font>";exit();
}
$result=@mssql_execute($Stm);
$num_rows=mssql_num_rows($result);
if($num_rows>0)
{ $resp=true;
while ($row=mssql_fetch_array($result)) {
// Coleccion de campos accesible mediante arrays asociativos también
$this->CodFormAcad=$row['CodFormAcad'];
$this->Grado=$row['Grado'];
$this->FechaObtencion=$row['FechaObtencion'];//datetime
$this->CodFicha=$row['CodFicha'];
$this->CodEsp=$row['CodEsp'];
$this->CodUniv=$row['CodUniv'];
}
}
$db->closeConnection();//opcional
return $resp;
}//fin BescarCodigo
//---------------------------------------------------------------------------
public function Crear($vCodFormAcad,
$vGrado,
$vFechaObtencion,
$vCodFicha,
$vCodEsp,
$vCodUniv)
{
$resp=false;
$db=new DBManager('HPFLORESJ','sa','sa','dbescalafon');
$Stm=mssql_init("spFormAcad_A",$db->getHandle());
if($Stm)
{
$vCodUniv=intval($vCodUniv);//obtengo el valor entero de la variable pasada como char desde el formulario
mssql_bind($Stm,"@vCodFormAcad",$vCodFormAcad,SQLCHAR);
mssql_bind($Stm,"@vGrado",$vGrado,SQLCHAR);
mssql_bind($Stm,"@vFechaObtencion",$vFechaObtencion,SQLCHAR,false,0,8);//paso fecha como char(8) para convertirlo a datetime
mssql_bind($Stm,"@vCodFicha",$vCodFicha,SQLCHAR);
mssql_bind($Stm,"@vCodEsp",$vCodEsp,SQLCHAR,false,0,2);//char(2)
mssql_bind($Stm,"@vCodUniv",$vCodUniv,SQLINT1);//paso como tipo dato smallint al Store Procedure
}else{
echo"<font face=verdana size='5'><b>No se puede inicializar el Procedimiento Almacenado.</b></font>";exit();
}
$result=@mssql_execute($Stm);
if($result)//si es exitosa la consulta
{
$resp=true;
}
$db->closeConnection();//opcional cierra el enlace de la Base de Datos
return $resp;
}//fin Crear
//---------------------------------------------------------------------------
public function Modificar($vCodFormAcad,
$vGrado,
$vFechaObtencion,
$vCodFicha,
$vCodEsp,
$vCodUniv)
{
$resp=false;
$db=new DBManager('HPFLORESJ','sa','sa','dbescalafon');
$Stm=mssql_init("spFormAcad_M",$db->getHandle());
if($Stm)
{
$vCodUniv=intval($vCodUniv);//obtengo el valor entero de la variable pasada como char desde el formulario
mssql_bind($Stm,"@vCodFormAcad",$vCodFormAcad,SQLCHAR);
mssql_bind($Stm,"@vGrado",$vGrado,SQLCHAR);
mssql_bind($Stm,"@vFechaObtencion",$vFechaObtencion,SQLCHAR,false,0,8);//paso fecha como char(8) para convertirlo a datetime
mssql_bind($Stm,"@vCodFicha",$vCodFicha,SQLCHAR);
mssql_bind($Stm,"@vCodEsp",$vCodEsp,SQLCHAR,false,0,2);//char(2)
mssql_bind($Stm,"@vCodUniv",$vCodUniv,SQLINT1);//paso como tipo dato smallint al Store Procedure
}else{
echo"<font face=verdana size='5'><b>No se puede inicializar el Procedimiento Almacenado.</b></font>";exit();
}
$result=@mssql_execute($Stm);
if($result)//si es exitosa la consulta
{
$resp=true;
}
$db->closeConnection();//opcional cierra el enlace de la Base de Datos
return $resp;
}//fin Modificar
//---------------------------------------------------------------------------
public function Eliminar($vCodFicha,$vCodFormAcad)
{
$resp=false;
$db=new DBManager('HPFLORESJ','sa','sa','dbescalafon');
$Stm=mssql_init("spFormAcad_E",$db->getHandle());
if($Stm)
{
mssql_bind($Stm,"@vCodFicha",$vCodFicha,SQLCHAR);
mssql_bind($Stm,"@vCodFormAcad",$vCodFormAcad,SQLCHAR);
}else{
echo"<font face=verdana size='5'><b>No se puede inicializar el Procedimiento Almacenado.</b></font>";exit();
}
$result=@mssql_execute($Stm);
if($result)//si es exitosa la consulta
{
$resp=true;
}
$db->closeConnection();//opcional cierra el enlace de la Base de Datos
return $resp;
}//fin metodo
//-----------------------------------------------------------------------------
public function ListarFormAcad($vCodFicha)
{
$listaFormAcad=NULL;//Vector que contendra la lista de Especialiadades en el sistema
$db=new DBManager('HPFLORESJ','sa','sa','dbescalafon');
$Stm=mssql_init("spFormAcad_LT",$db->getHandle());
if($Stm)
{
mssql_bind($Stm,"@vCodFicha",$vCodFicha,SQLCHAR);
}else{
echo"<font face=verdana size='5'><b>No se puede inicializar el Procedimiento Almacenado.</b></font>";exit();
}
$result=@mssql_execute($Stm);
if($result)//si es exitosa la consulta
{
$fila=0;
while($row=mssql_fetch_array($result))
{
$listaFormAcad[$fila][0]=$row['CodFormAcad'];
$listaFormAcad[$fila][1]=$row['Grado'];
$listaFormAcad[$fila][2]=$row['FechaObtencion'];
$listaFormAcad[$fila][3]=$row['CodEsp'];
$listaFormAcad[$fila][4]=$row['CodUniv'];
$fila++;
}
return $listaFormAcad;
}else return NULL;
$db->closeConnection();//opcional cierra el enlace de la Base de Datos
}//fin metodo ListarEsp
public function getCodFormAcad(){return $this->CodFormAcad;}
public function getGrado(){return $this->Grado;}
public function getFechaObtencion(){return $this->FechaObtencion;}
public function getCodFicha(){return $this->CodFicha;}
public function getCodEsp(){return $this->CodEsp;}
public function getCodUniv(){return $this->CodUniv;}
}
?>