Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/11/2008, 04:43
catri
 
Fecha de Ingreso: abril-2008
Mensajes: 69
Antigüedad: 16 años
Puntos: 0
problema con variables de sesion

hola a todos,
mi problema es el siguiente:

tengo un formulario a partir del cual voy definiendo condiciones para tener en cuenta en mi consulta, pero claro, lo que quiero es no solo tener una condicion, sino poder tener tantas como defina el usuario.
Para no perder el valor de la variable dnd voy guardando la condicion, he utilizado variables de sesion, pero sigue sin funcionar.
Pongo el código a continucacion:

Código PHP:
<?php session_start();
$_SESSION["condicion"] = '';
?>
....formulario de donde saco las condiciones.... y a continuación construyo el
contenido de la condición:

Código PHP:
$prueba=$_POST['prueba'];
                
$suma=$_POST['suma'];
                
$media=$_POST['media'];
                
$agrupar=$_POST['agrupar'];
                
$igual=$_POST['igual'];
                
$mayor=$_POST['mayor'];
                
$menor=$_POST['menor'];
                
                if (
$prueba!=""){//si ha marcado =
                    
if ($igual!=""){
                        
$_SESSION["condicion"].=$prueba."=".$igual;
                
            
                        if (
$mayor!="" && $menor==""){//si ha marmacao >=
                    
                            
$_SESSION["condicion"].=$prueba.">=".$mayor;
                    
                    
                        }elseif (
$menor!="" && $mayor==""){//si ha marcado <=
                    
                            
$_SESSION["condicion"].=$prueba."<=".$menor;
                    
                        }
            
                    }elseif (
$mayor!="" && $menor==""){//si ha marcado >
                    
                            
$_SESSION["condicion"].=$prueba.">".$mayor;
                    
            
                        }elseif (
$menor!="" && $mayor==""){//si ha marcado <
                    
                            
$_SESSION["condicion"].=$prueba."<".$menor;
                        }elseif (
$menor!="" && $mayor!="") {
                    
                            
$_SESSION["condicion"].=$prueba.">".$mayor." AND ".$prueba."<".$menor;
                    
                        }
                
                
                }
                if (
$suma =="on"){
            
                    
$suma"sum(".$prueba.")";
                }
        
                if (
$media == "on"){
                
                    
$media"avg(".$prueba.")";
                
                } 
            
                if (
$agrupar == "on"){
                
                    
$agrupar"group by ".$prueba;
                
                } 

como lo que quiero es que vaya acumulando las condiciones, pues voy concatenando el contenido de $condicion.

pero el problema es que cuando me voy otra vez al formulario y marco nuevas condiciones, pierdo el valor que tenía de antes, de forma que sólo se mantiene la última condición.

¿alguien sabe cómo puedo ir acumulando las sucesivas condiciones dentro de una misma variable?

Muchas gracias. Saludos.