Foros del Web » Programando para Internet » PHP »

Problema en consulta

Estas en el tema de Problema en consulta en el foro de PHP en Foros del Web. Hola a todos, tengo las siguientes variables $trimestre = 3 // este es el trimestre actual $departamento="MATEMATICAS" $contenido = "\$trimestre <> 1 OR \$trimestre <> ...
  #1 (permalink)  
Antiguo 25/09/2007, 10:08
 
Fecha de Ingreso: septiembre-2007
Mensajes: 16
Antigüedad: 16 años, 7 meses
Puntos: 2
Problema en consulta

Hola a todos,
tengo las siguientes variables
$trimestre = 3 // este es el trimestre actual
$departamento="MATEMATICAS"

$contenido = "\$trimestre <> 1 OR \$trimestre <> 2" //estos datos los obtengo de una consulta a una BD que indica que departamentos podran entrar dependiendo del trimestre

Lo que quiero hacer es:
if (($departamento=='MATEMATICAS' AND ($contenido))

quiero que se ejecute el interior de $contenido, no que me diga que existe.
es decir:
if (($departamento=='MATEMATICAS' AND (($trimestre<>1 OR $trimestre<>2))
if ((MATEMATICAS==MATEMATICAS) Y (3<>1 or 3<>2)) que entre al if

Muchas gracias
  #2 (permalink)  
Antiguo 25/09/2007, 10:37
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 1 mes
Puntos: 33
Re: Problema en consulta

Es únicamente cuestión de que modifiques el operador.

Cambia:
Código PHP:
if (($departamento=='MATEMATICAS' AND (($trimestre<>OR $trimestre<>2)) 
por:
Código PHP:
if ($departamento=='MATEMATICAS' AND (($trimestre != 1  ||  $trimestre != 2)))
{
//Codigo          

Saludillos.
  #3 (permalink)  
Antiguo 25/09/2007, 10:44
 
Fecha de Ingreso: septiembre-2007
Mensajes: 16
Antigüedad: 16 años, 7 meses
Puntos: 2
Re: Problema en consulta

si modifico el operador
$contenido = "\$trimestre <> 1 || \$trimestre <> 2"

el if quedará de la siguiente forma:

if ($departamento=='MATEMATICAS' AND (($contenido)))
{
//Codigo
}

por lo tanto lo que quiero es que se ejecute lo que está dentro de $contenido y de esta forma no me funciona

Salu2
  #4 (permalink)  
Antiguo 25/09/2007, 10:48
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: Problema en consulta

Tendrias que usar $eval para hacer esa asociacion:
Código PHP:
$rst = eval( $contenido );
if( 
$departamento == 'MATEMATICAS' && $rst ) {
// codigo

Saludos.
  #5 (permalink)  
Antiguo 26/09/2007, 04:00
 
Fecha de Ingreso: septiembre-2007
Mensajes: 16
Antigüedad: 16 años, 7 meses
Puntos: 2
De acuerdo Re: Problema en consulta

He probado a utilizar la función eval y sigue sin funcionarme, he visto que es para cadena de caracteres.
Yo creo que me he explicado bien pero bueno pongo un pequeño ejemplo:
<?php
$departamento="MATEMATICAS";
$a= 3;
$b= "$a <>1 || $a <>2";
if ($departamento=="MATEMATICAS" AND ($b)){
//codigo
}

lo que necesito es que evalue la condición de $b.
he probado con lo siguiente y nada:
<?php
$departamento="MATEMATICAS";
$a= 3;
$b= "$a <>1 || $a <>2";
$str = eval($b);
if ($departamento=="MATEMATICAS" AND ($str)){
//codigo
}
  #6 (permalink)  
Antiguo 26/09/2007, 13:29
Avatar de Seppo  
Fecha de Ingreso: marzo-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.284
Antigüedad: 19 años, 1 mes
Puntos: 17
Re: Problema en consulta

Código PHP:
$b"$a <>1 || $a <>2";
eval(
'$str = ' $b);
if (
$departamento=="MATEMATICAS" AND ($str)){ 
Igual fijate si podés evitar usar eval... es una función mala mala mala...
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 15:04.