Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

Convertir false a true (oop)

Estas en el tema de Convertir false a true (oop) en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Buenas noches gente, les cuento un poco la idea: Tengo los siguientes atributos (pongo algunos) en mi clase: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original public ...
  #1 (permalink)  
Antiguo 07/09/2012, 19:43
 
Fecha de Ingreso: noviembre-2009
Mensajes: 381
Antigüedad: 14 años, 5 meses
Puntos: 6
Convertir false a true (oop)

Buenas noches gente,

les cuento un poco la idea:

Tengo los siguientes atributos (pongo algunos) en mi clase:

Código PHP:
Ver original
  1. public $ADMIN = false;
  2. public $PRODUCTOS_AGREGAR = false;
  3. public $PRODUCTOS_MODIFICAR = false;

Hago una query y lo que quiero es pasar a true los que tenga resultados, es decir, que si en mi resultado de query tengo un ADMIN, que me lo pase a true.
Esto es lo que hice pero bue, falta hacerlo bien:

Código PHP:
Ver original
  1. public function load_from_user($userID)
  2.     {
  3.         $base = new DBase;
  4.         $base->conectar();
  5.        
  6.         $query = "SELECT a.perfil_id, b.perfil FROM permisos a INNER JOIN perfiles b ON (a.perfil_id = b.id) WHERE user_id = '".$userID."' ";
  7.         $consulta = $base->consultar($query);
  8.  
  9.         while($row = mysql_fetch_array($consulta, MYSQL_ASSOC))
  10.         {
  11.                         //AQUI ES DONDE QUIERO PASAR A TRUE.............
  12.             $this->perfil = true;
  13.         }
  14.  
  15.         $base->cerrar();
  16.     }

Si no fui claro, por favor me lo hacen saber, pero creo que se ve la idea no?

Saludos y gracias!
Gustavo.
  #2 (permalink)  
Antiguo 07/09/2012, 22:05
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Convertir false a true (oop)

Código PHP:
if ($valor === 'es lo que busco') {
  
$variable true// ???

__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 08/09/2012, 09:59
 
Fecha de Ingreso: noviembre-2009
Mensajes: 381
Antigüedad: 14 años, 5 meses
Puntos: 6
Respuesta: Convertir false a true (oop)

Gracias! Pero son como 30 atributos, imaginate que hacer un if con cada uno es un laburo.

Lo que yo quiero es que dentro del while recorra lo que trae de la base de datos y que pase a true los coincidentes, algo asi me pasaron pero no funciona:

Código PHP:
Ver original
  1. while($row = mysql_fetch_array($res, MYSQL_ASSOC))
  2.         {
  3.             $this->{$row->perfil} = true;
  4.         }

Este es el error:

Fatal error: Cannot access empty property in C:\xampp\htdocs\project\clases\Security.class.php on line 23

//linea 23 del error
$this->{$row->perfil} = true;

Muchas gracias!
Gustavo.
  #4 (permalink)  
Antiguo 08/09/2012, 11:15
 
Fecha de Ingreso: abril-2012
Ubicación: 41°37′00″N, 00°37′00″E
Mensajes: 462
Antigüedad: 12 años, 1 mes
Puntos: 33
Respuesta: Convertir false a true (oop)

Hola!

Yo tengo una función similar: mediante un array "setteo" todos los atributos de una clase php. Te pego el código, para que veas:


Código PHP:
Ver original
  1. function setValue($value){
  2.             $vars = array(&$this->text, &$this->id, &$this->dateC);
  3.  
  4.             for($i=0;$i<count($vars);$i++){
  5.                 $vars[$i] = $value[$i];
  6.             }
  7.         }

La función recibe "$value", que es un array con valores, el mismo número que atributos.

Tu puedes hacer algo así (te lo planteo en pseudocódigo):


Código:
mientras(haya datos)
 res = recupera dataset;
 arr = array()

 desde 0 hasta max(res)
    si res(i) != ""
      arr(i) = true
    else
       arr(i) = false
    fin
  siguiente

  setValue(arr);
siguiente
Espero que puedas ver la utilidad del código y te pueda ayudar en algún aspecto.

Saludos!
  #5 (permalink)  
Antiguo 08/09/2012, 11:35
 
Fecha de Ingreso: noviembre-2009
Mensajes: 381
Antigüedad: 14 años, 5 meses
Puntos: 6
Respuesta: Convertir false a true (oop)

Muchisimas gracias! Deberia salir algo.

Saludos!
Gustavo.
  #6 (permalink)  
Antiguo 08/09/2012, 11:39
Avatar de KsrZ  
Fecha de Ingreso: abril-2011
Ubicación: /home/KsrZ/Desktop
Mensajes: 156
Antigüedad: 13 años
Puntos: 26
Respuesta: Convertir false a true (oop)

http://php.net/manual/es/language.op...hp#example-120
creo podrías darle un buen uso a expresiones ternarias en tu código, evitarías tanto if else
$a = false;
$b = false;
$c = true;
echo $a? 'a true' : ($b? 'b true' : ($c? 'c true' : 'todas son false'));

cambia su urden seteandoles true en [$a || $b || $c] para probar como funciona.
saludos.
__________________
for (var i = 0; i < 2; i++){
i = !confirm("Trata a tu código como a ti mismo.. este te esta representando.. no te dejes mal parado")? 0 : i;
}
  #7 (permalink)  
Antiguo 08/09/2012, 16:38
 
Fecha de Ingreso: noviembre-2009
Mensajes: 381
Antigüedad: 14 años, 5 meses
Puntos: 6
Respuesta: Convertir false a true (oop)

Listo muchachos, tan simple como esta es la solución:

Código PHP:
Ver original
  1. while($row = mysql_fetch_object($res))
  2.         {
  3.             $this->{$row->perfil} = true;
  4.         }

Les dejo el feedback.

Abrazo y gracias!
Gustav.

Etiquetas: false, mysql, true
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:32.