help with this error Trying to get property 'status' of non-object in C: \ xampp \ htdocs \ company2 \ test2 \ Model.php on line 108

0

THE PHP MODEL

<?php
class s_permisosModel{
    private $pdo;

    public function __CONSTRUCT(){
    try{
    $this ->pdo=database::conectar();
    }catch(Exception $ex){
    die($e->getMessage());
    }
    }






//Funcion que ingresa o almacena los registros de ingeso en el formuilario//

public function registrar(s_permisos $data){
    try{
        $sql = "INSERT INTO s_permisos (id_s_permisos,documento,fk_id_tipopermisos,ciudad,fecha_permiso,fecha_solicitud,hora_inicio,hora_fin,observaciones,estado_solicitud,estado,estado2)
        VALUES(?,?,?,?,?,?,?,?,?,?,?,?)";



    $this->pdo->prepare($sql)
         ->execute(
            array(

                $data->_GET('id_s_permisos'),
                $data->_GET('documento'),
                $data->_GET('fk_id_tipopermisos'),
                $data->_GET('ciudad'),
                $data->_GET('fecha_permiso'),
                $data->_GET('fecha_solicitud'),
                $data->_GET('hora_inicio'),
                $data->_GET('hora_fin'),
                $data->_GET('observaciones'),
                $data->_GET('estado_solicitud'),
                $data->_GET('estado'),
                $data->_GET('estado2')
            )
         );
    } catch(Exception $e){
        die($e->getMessage());
    }
}

//funcion que permite mostrar o listar en una tabla los usuarios registrados
public function Listar(){
    try{
        $result = array();
        $stm = $this->pdo->Prepare('SELECT * FROM s_permisos ');
        $stm->execute();

        foreach($stm->fetchAll(PDO::FETCH_OBJ) as $r) {
            $usu = new s_permisos();

            $usu->_SET('id_s_permisos', $r->id_s_permisos);
            $usu->_SET('documento', $r->documento);
            $usu->_SET('fk_id_tipopermisos', $r->fk_id_tipopermisos);
            $usu->_SET('ciudad', $r->ciudad);
            $usu->_SET('fecha_permiso', $r->fecha_permiso);
            $usu->_SET('fecha_solicitud', $r->fecha_solicitud);
            $usu->_SET('hora_inicio', $r->hora_inicio);
            $usu->_SET('hora_fin', $r->hora_fin);
            $usu->_SET('observaciones', $r->observaciones);
            $usu->_SET('estado_solicitud', $r->estado_solicitud);
            $usu->_SET('estado', $r->estado);
            $usu->_SET('estado2', $r->estado2);



            $result[] = $usu;
        }
        return $result;
    }
    catch(Exception $e){
        die ($e->getMessage());
    }
}


//Funcion que permite cargar o listar  registros en el formulario para modificarlos

public function obtener($documento){
    try{
        $stm=$this->pdo
                  ->prepare("SELECT * FROM s_permisos where documento=?");

        $stm->execute(array($documento));
        $r = $stm ->fetch(PDO::FETCH_OBJ);

        $usu= new s_permisos();


            $usu->_SET('id_s_permisos', $r->id_s_permisos);
            $usu->_SET('documento', $r->documento);
            $usu->_SET('fk_id_tipopermisos', $r->fk_id_tipopermisos);
            $usu->_SET('ciudad', $r->ciudad);           
            $usu->_SET('fecha_permiso', $r->fecha_permiso);
            $usu->_SET('fecha_solicitud', $r->fecha_solicitud);
            $usu->_SET('hora_inicio', $r->hora_inicio);
            $usu->_SET('hora_fin', $r->hora_fin);
            $usu->_SET('observaciones', $r->observaciones);         
            $usu->_SET('estado_solicitud', $r->estado_solicitud);
            $usu->_SET('estado', $r->estado);           
            $usu->_SET('estado2', $r->estado2);


        return $usu;

    }catch(Exception $e){
        die($e-> getMessage());
    }
}

//funcion que permite actualizar los registros de cargado en la funcion obtener

public function Actualizar(s_permisos $data){

    //var_dump($data);
    //exit();

    try{
         $sql="UPDATE s_permisos SET id_s_permisos=?  WHERE documento= ? and fk_id_tipopermisos= ? and ciudad=? and fecha_permiso=? and fecha_solicitud=? and hora_inicio=? and hora_fin=? and observaciones=? and estado_solicitud=? and estado=? and estado2=?";
    $this->pdo->prepare($sql)->execute(
        array(


                $data->_GET('id_s_permisos'),
                $data->_GET('documento'),
                $data->_GET('fk_id_tipopermisos'),
                $data->_GET('ciudad'),
                $data->_GET('fecha_permiso'),
                $data->_GET('fecha_solicitud'),
                $data->_GET('hora_inicio'),
                $data->_GET('hora_fin'),
                $data->_GET('observaciones'),
                $data->_GET('estado_solicitud'),
                $data->_GET('estado'),
                $data->_GET('estado2')

            )
            );

     }catch(exception $e){
        die($e->getMessage());
     }
}

//funciones que permite eliminar los registros

public function eliminar ($documento){
    try{
        $stm= $this->pdo->prepare("DELETE  FROM s_permisos WHERE documento=?");
        $stm->execute(array($documento));
    }catch(Exception$e){
        die($e->getMessage());
    }
}

}
?>





<?php
require_once 'Controller.php';
require_once 'Model.php';
require_once '../conexion2.php';


//logica
$r = array();
$usu = new s_permisos();
$model = new s_permisosModel();
$db = database::conectar();

if(isset($_REQUEST['action'])){

  switch($_REQUEST['action']){

    case 'Actualizar':

    $usu -> _SET('id_s_permisos',                 $_REQUEST['id_s_permisos']);
    $usu -> _SET('documento',                 $_REQUEST['documento']);
    $usu -> _SET('fk_id_tipopermisos',        $_REQUEST['fk_id_tipopermisos']);
    $usu -> _SET('ciudad',                    $_REQUEST['ciudad']);
    $usu -> _SET('fecha_permiso',             $_REQUEST['fecha_permiso']);
    $usu -> _SET('fecha_solicitud',           $_REQUEST['fecha_solicitud']);
    $usu -> _SET('hora_inicio',               $_REQUEST['hora_inicio']);
    $usu -> _SET('hora_fin',                  $_REQUEST['hora_fin']);
    $usu -> _SET('observaciones',             $_REQUEST['observaciones']);
    $usu -> _SET('estado_solicitud',          $_REQUEST['estado_solicitud']);
     $usu -> _SET('estado',                   $_REQUEST['estado']);
    $usu -> _SET('estado2',                   $_REQUEST['estado2']);



    $model->Actualizar($usu);
    //header('location: usuario.vista.php');
    break;

    case 'registrar':

    $usu -> _SET('id_s_permisos',                 $_REQUEST['id_s_permisos']);
    $usu -> _SET('documento',                $_REQUEST['documento']);
    $usu -> _SET('fk_id_tipopermisos',       $_REQUEST['fk_id_tipopermisos']);
    $usu -> _SET('ciudad',                   $_REQUEST['ciudad']);
    $usu -> _SET('fecha_permiso',            $_REQUEST['fecha_permiso']);
    $usu -> _SET('fecha_solicitud',          $_REQUEST['fecha_solicitud']);
    $usu -> _SET('hora_inicio',              $_REQUEST['hora_inicio']);
    $usu -> _SET('hora_fin',                 $_REQUEST['hora_fin']);
    $usu -> _SET('observaciones',            $_REQUEST['observaciones']);
    $usu -> _SET('estado_solicitud',         $_REQUEST['estado_solicitud']);
    $usu -> _SET('estado',                   $_REQUEST['estado']);
    $usu -> _SET('estado2',                   $_REQUEST['estado2']);

    $model->registrar($usu);
    //header('location: usuario.vista.php');
    break;
//instancia la clase eliminar que se encuentra al final de cada registro
    case 'eliminar':
    $model->eliminar($_REQUEST['id_s_permisos']);
    //header('location: usuario.vista.php');
    break;
//instancia la clase editar que se encuentra el final de cada registro//
    case 'editar':
    $usu=$model->obtener($_REQUEST['id_s_permisos']);
    break;
  }

}

?>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <!-- Tell the browser to be responsive to screen width -->
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta name="description" content="">
    <meta name="author" content="">
    <!-- Favicon icon -->
    <link rel="icon" type="image/png" sizes="16x16" href="images/favicon.png">
    <title>Ela - Bootstrap Admin Dashboard Template</title>
    <!-- Bootstrap Core CSS -->
    <link href="css/lib/bootstrap/bootstrap.min.css" rel="stylesheet">
    <!-- Custom CSS -->
    <link href="css/helper.css" rel="stylesheet">
    <link href="css/style.css" rel="stylesheet">
    <link rel="stylesheet"  href="../bootstrap/css/bootstrap.css">
  <link rel="stylesheet" type="text/css" href="css/bootstrap.min.css">
  <script type="text/javascript" src="js/bootstrap.min.js"></script>
  <script type="text/javascript" src="js/jquery-3.2.1.min.min.js"></script>
<title></title>
</head>

<body>
  <form action ="" method="post" >
<table width="100%" border="1">
  <tr>
    <td colspan="3"><table width="100%" border="1">
      <tr>
        <div class="form-group">
  <label>nombres</label>
  <select class="form-control" name="documento">
  <?php
  foreach($db-> query('SELECT * FROM usuarios')as $row){
  echo '<option value="'.$row['documento'].'">'.$row['nombre'].'</option>';

  }
  ?>
  </select>
  </div>


      </tr>
      <tr>
        <div class="form-group" name="id_s_permisos" >
  <label name="id_s_permisos">area</label>

  <?php
  foreach($db-> query('SELECT * FROM rol')as $row){
  echo ''.$row['rol'].'';

  }
  ?></div>

      </tr>
    </table></td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td rowspan="2"><table width="100%" border="1">
      <tr>
        <td>Ciudad de Solicitud 
          <select name="ciudad" class="form-control" align="center">
            <option>Bogota</option>
          </select></td>
      </tr>
      <tr>
        <td>Fecha Permiso 
          <input class="form-control" type="date" name="fecha_permiso" value="<?php echo $usu->_GET('fecha_permiso')?>"/></td>
      </tr>
    </table></td>
    <td>&nbsp;</td>
    <td colspan="2" rowspan="2"><table width="100%" border="1">
      <tr>
        <td>Fecha Solicitud 
          <input class="form-control" type="date" name="fecha_solicitud" placeholder="Inserte su fheca." value="<?php echo $usu->_GET('fecha_solicitud')?>" required/></td>
      </tr>
      <tr>
        <td>Hora Inicial 
          <input class="form-control" type="time" name="hora_inicio" placeholder="Inserte su fheca." value="<?php echo $usu->_GET('hora_inicio')?>" required/></td>
      </tr>
      <tr>
        <td>Hora Final 
          <input class="form-control" type="time" name="hora_fin" value="<?php echo $usu->_GET('hora_fin')?>" /></td>
      </tr>
    </table></td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>


    <form id="form1" name="form1" method="post" action="asignarpermisos.php">
    <td colspan="5"><table width="100%" border="1">
      <tr>
        <td colspan="3" align="center"> TIPOS DE PERMISOS </td>
        </tr>
      <tr>
        <td><input type="radio" name="fk_id_tipopermisos" value="1" align="center" />
          Cita Medica </td>
        <td>&nbsp;</td>
        <td><input type="radio" name="fk_id_tipopermisos" value="2" align="center" />
          Cita Especialista </td>
      </tr>
      <tr>
        <td><input type="radio" name="fk_id_tipopermisos" value="3" align="center" />
          Examen Medico </td>
        <td>&nbsp;</td>
        <td><input type="radio" name="fk_id_tipopermisos" value="4" align="center" />
          Compromiso personal </td>
      </tr>
      <tr>
        <td><input type="radio" name="fk_id_tipopermisos" value="5" align="center" />
          Permiso sindical </td>
        <td>&nbsp;</td>
        <td><input type="radio" name="fk_id_tipopermisos" value="6" align="center"/>
          Otros
          <input type="text" name="fk_id_tipopermisos" /></td></tr></form>

          <select name="fk_id_tipopermisos" class="form-control" align="center" value="<?php echo $usu->_GET('fk_id_tipopermisos')?>">
              <option value="1">cita medica</option>
              <option value="2">cita especialista</option>
              <option value="3">examen medico</option>
              <option value="4">compromiso personal</option>
              <option value="5">permiso sindical</option>
              <option value="6">otro</option> </select>



          <td>Estado de la solicitud 
          <select name="estado_solicitud" class="form-control" align="center" value="<?php echo $usu->_GET('estado_solicitud')?>">
            <option>Solicitado</option>
            <option>Pendiente</option>
            <option>Aprobado</option>
          </select></td><br>

          <td>Estado 
          <select name="estado" class="form-control" align="center" value="<?php echo $usu->_GET('estado')?>">
              <option value="1">Activo</option>
              <option value="0">Inactivo</option>

          </select></td>

               <td>Estado 
          <select name="estado2" class="form-control" align="center" value="<?php echo $usu->_GET('estado2')?>">
              <option value="1">Activo</option>
              <option value="0">Inactivo</option>

          </select></td>
      </tr>
    </table></td>
  </tr>
  <tr>
    <td colspan="5"><table width="100%" border="1">
      <tr>
        <td colspan="6" align="center">MOTIVOS DEL PERMISO </td>
      </tr>
      <tr>
        <td><textarea class="form-control" name="observaciones" ></textarea></td>
      </tr>


    </table></td>
  </tr>
</table></td></form></tr></table></form>


 <div class="form-group">
    <input type="submit" class="btn btn-primary" value="Guardar" onClick="this.form.action='?action=registrar';"/>
    <input type="submit" class="btn btn-success" value="Actualizar" onClick="this.form.action='?action=Actualizar';"/>
  </div> </form>


  <div class="container">
    <h2>Consulta-Registros</h2>
    <div class="table-responsive">
      <table border="4" class="table table-striped">
      <thead>
        <tr class="info">

          <th>id</th>
          <th>documento</th>
          <th>tipo de permisos</th>
          <th>ciudad</th>
          <th>fecha permiso</th>
          <th>fecha solicitud</th>         
          <th>hora inicio</th>
          <th>hora fin</th>
          <th>observaciones</th>
          <th>solicitud</th>
          <th>estado</th>
           <th>estado2</th>



          <th>Editar</th>
          <th>Eliminar</th>
          </tr>

      </thead>

    <?php 
         //sirve para debug
     count($model->Listar());

    foreach ($model->Listar() as $r){ 


      ?>

      <tr>

      <td><?php echo $r->_GET('id_s_permisos');?></td>
      <td><?php echo $r->_GET('documento');?></td>

      <td><?php if($r->_GET('fk_id_tipopermisos')=="1"){ echo "cita medica";

      }else if($r->_GET('fk_id_tipopermisos')=="2"){

        echo "cita especialista";
      }else if($r->_GET('fk_id_tipopermisos')=="3"){

        echo "examen medico";
      }else if($r->_GET('fk_id_tipopermisos')=="4"){

        echo "compromiso personal";
      }else if($r->_GET('fk_id_tipopermisos')=="5"){

        echo "permiso sindical";
      }else if($r->_GET('fk_id_tipopermisos')=="6"){

        echo "otros";
      }
      ?></td>
<td><?php echo $r->_GET('ciudad');?></td>
<td><?php echo $r->_GET('fecha_permiso');?></td>
<td><?php echo $r->_GET('fecha_solicitud');?></td>
<td><?php echo $r->_GET('hora_inicio');?></td>
<td><?php echo $r->_GET('hora_fin');?></td>
<td><?php echo $r->_GET('observaciones');?></td>
<td><?php echo $r->_GET('estado_solicitud');?></td>

      <td><?php if($r->_GET('estado')=="1"){ echo "Activo";

      }else if($r->_GET('estado')=="0"){

        echo "Inactivo";
      }

      ?></td>

        <td><?php if($r->_GET('estado2')=="1"){ echo "Activo";

      }else if($r->_GET('estado2')=="0"){

        echo "Inactivo";
      }

      ?></td>







      <td>
        <a href="?action=editar&documento=<?php echo $r->_GET('documento'); ?>" class="btn btn-warning">Editar</a>
      </td>
      <td>
        <a href="?action=eliminar&documento=<?php echo $r->_GET('documento'); ?>" class="btn btn-danger" onclick ="return confirm('¿Esta seguro de eliminar este Usuario?')">Eliminar</a>

      </td>
      </tr>
    <?php } ?>


</body>
</html>
    
asked by ASD 05.06.2018 в 18:06
source

0 answers