Ver Mensaje Individual
  #5 (permalink)  
Antiguo 16/07/2014, 12:20
santosm13
 
Fecha de Ingreso: junio-2014
Ubicación: Trujillo
Mensajes: 37
Antigüedad: 9 años, 11 meses
Puntos: 0
Respuesta: Duda con clases y variables session

Cita:
Iniciado por quinqui Ver Mensaje
Holas, santosm13.

Me da la impresión que efectivamente te estás ahogando en un vaso de agua, especialmente cuando nos muestras la solución ya lista en tu código. O sea, si lo que tienes ya es un buscador de recibos, donde puedes filtrar por la cédula, sólo es cosa que en vez de enviar al buscador lo ingresado en una caja de texto, le envíes el valor asociado al usuario conectado. Para esto, sólo tienes que obtener dicho valor (acá, la cédula) al momento de iniciar la sesión del usuario, para que quede siempre en memoria durante toda dicha sesión. Y todo lo que te digo, parece que ya lo tienes armado en el código que nos muestras.

Saludos!
Mm bueno precisamente ando viendo la manera de incluir ese valor en la consulta a la tabla donde busca la información (que vendria siendo la función a la que llama en una de las lineas), veras mi amigo me pidio que los usuarios hicieran la busqueda acorde a una cedula que ya esta en otra tabla que tiene otros datos relacionados a la misma (buscando otra solución a un asunto que andaba solventando anteriormente creo que di con la solución pero no recuerdo bien la sintaxis, bueno no soy adivino para saber que iba a tener que aplicar algo similar ), a lo mejor se entienda mas la intención de mi duda si muestro esto:

Código PHP:
<?php
ini_set
('display_errors'1);
session_start();
// My database Class called myDBC
class myDBC {
    
// our mysqli object instance
    
public $mysqli null;
 
    
// Class constructor override
    
public function __construct() {
 
        include_once 
"dbconfig.php";
        
$this->mysqli = new mysqli(DB_SERVERDB_USERDB_PASSDB_NAME);
 
        if (
$this->mysqli->connect_errno) {
            echo 
"Error MySQLi: ("&nbsp$this->mysqli->connect_errno.") " $this->mysqli->connect_error;
            exit();
        }
        
$this->mysqli->set_charset("utf8");
    }
 
    
// Class deconstructor override
    
public function __destruct() {
        
$this->CloseDB();
    }
 
    
// runs a sql query
    
public function runQuery($qry) {
        
//$pk1 = $this->mysqli->insert_id($pk1);
        
$result $this->mysqli->query($qry);
        
//$result1 = $this->mysqli->query($q1);
        //$result2 = $this->mysqli->query($q2);
         //return $pk1;
         
return $result;
         
//return $result1;
         //return $result2;
    
}
 
    
// Close database connection
    
public function CloseDB() {
        
$this->mysqli->close();
    }
 
    
// Escape the string get ready to insert or update
    
public function clearText($text) {
        
$text trim($text);
        return 
$this->mysqli->real_escape_string($text);
    }
 
    public function 
logueo($cedula$contrasenia){
        
//El password obtenido se le aplica el crypt
        //Posteriormente se compara en el query
        
$pass_c crypt($contrasenia'_er#.lop');
        
$qry "select * from usuarios where usuR_mesCedulaC='$cedula' and usuClaveC='$contrasenia'";
 
        
$result $this->mysqli->query($qry);
        
//Si el resultado obtenido no tiene nada
        //Muestra el error y redirige al index
        
if( $result->num_rows == 0)
        {
            echo
'<script type="text/javascript">
                alert("Usuario o Contraseña Incorrecta");
                window.location="../app/index.php"
                </script>'
;
        }
 
        
//En otro caso
        //En $reg se guarda el resultado de la consulta
        //Al segundo posición de SESION se le asigna el id del usuario
        //Redirige a página logueada
        
else{
            
$reg mysqli_fetch_assoc($result);
            
$_SESSION["session"][] = $reg["usuIdE"];
            
header("location:../app/principal.php");
        }
 
    }
 public function 
seleccionar_recibo($cedula,$mes,$año)
    {
        
$qry "select 
              r_mesCodigoC, 
              r_mesCedulaE, 
              r_mesNombreC,
              r_mesCod_cargoC,
              r_mesNom_cargoC,              
              r_mesT_contratoN, 
              r_mesFecha_ingresoF, 
              r_mesDependenciaC, 
              r_mesNom_ubiC, 
              r_mesBancoC, 
              r_mesCuentaC,              
              r_mesDescripcion_conceptoC, 
              r_mesOrden_conceptoC,  
              r_mesAsignacionR, 
              r_mesDeduccionR, 
              r_mesTotal_netoR, 
              r_mesDes_nominaC, 
              r_mesNom_reporteC, 
              r_mesMesC, 
              r_mesAnoF from r_mes
                     where
                     r_mesCedulaE = '$cedula' and r_mesMesC = '$mes' and r_mesAnoF = '$año'"
;
 
        
$result $this->mysqli->query($qry);
 
        
//Array asociativo que contendrá los datos
        
$valores = array();
 
        
//Si no hay resultados
        //Se avisa al usuario y se redirige al index de la aplicación
        
if($result->num_rows == 0)
        {
            echo
'<script type="text/javascript">
              alert("Ningun registro");
              window.location="../app/principal.php"
            </script>'
;
 
        }
      
//En otro caso, se recibe la información y se
      //se regresa un array con los datos de la consulta
      
else{
            while(
$row mysqli_fetch_assoc($result))
            {
                
//Se agrega cada valor en el array
                
array_push($valores$row);
            }
      }
        
//Regresa array asociativo
        
return $valores;
    }
?>
Voy a ver si doy de nuevo con el articulo que mencione antes con san google a ver si soluciono con eso (si es que lo encuentro primero), dado que viene siendo mi primera vez en aplicarle esto a un buscador , bueno nos vemos...