Ver Mensaje Individual
  #3 (permalink)  
Antiguo 09/04/2012, 14:13
Avatar de gjx2
gjx2
 
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 15 años, 8 meses
Puntos: 139
Respuesta: tareas programadas

Bueno aun que el titulo podría ser un poco confuso por que cuando hablamos de tareas programadas algunos nos hacemos la idea de que estas buscando crear un script que se ejecuta sin la intervension de un usuario.

ej hacer un backup cada x tiempo o reparar algunas tablas etc.

pero en el caso tuyo estas buscando hacer un especie de help desk donde alguien postea una situación y los usuarios actualizan el estado de esa situación ej ( cerrada , en progreso , etc ...)

Voy a plantear un escenario donde explica un poco el como podrías lograr lo que buscas.

imaginemos que tienes una tabla llamada tareas.

Código PHP:
Ver original
  1. tarea_id | estatus | accion | detalle |
  2. 203         1          1      'realizar backup'

el campo estatus le dice al script si esa accion en especifico aun acepta votaciones de parte de los usuarios o sea mas bien le dice al sistema si esta abierta o cerrada.

el campo accion es donde coloco el id de las acciones ejemplo cerradas , en progreso , etc...


el codigo podria algo como esto.

Código PHP:
Ver original
  1. /*
  2.  Acciones
  3.  
  4.  1  = Cerrada
  5.  2  = En proceso
  6.  3  = Falta de presupuesto
  7.  4  = Cancelada
  8. */
  9.  
  10. $accion =  1;
  11. $tarea_id = 203; // Tarrea de hacer backup
  12.  
  13.  
  14. actualizarTarea($tarea_id, $Accion);
  15.  
  16.  
  17.     function verificarTarea($idTarea, $Accion)
  18.     {
  19.             # si el estatus de la tarea es menor que 3 o sea que acepta votaciones entonces retorno positvamente
  20.  
  21.             $sql =  "SELECT estatus FROM tareas where estatus < 3 and tarea_id = ".$idTarea." and accion=".$Accion ;
  22.            
  23.                 $sql = mysql_query( $sql );
  24.                
  25.                 if( mysql_num_rows( $sql ) ){
  26.        
  27.                     return true;
  28.                    
  29.                 }else{
  30.                     return false;  
  31.                 }
  32.                
  33.     }
  34.  
  35.  
  36.  
  37.     function crearTarea(){
  38.            
  39.        
  40.                
  41.     }
  42.  
  43.     function actualizarTarea($tarea_id, $Accion)
  44.     {
  45.            
  46.             # Verifico si aun la tarea admite votaciones
  47.             if (verificarTarea($idTarea, $Accion)) {
  48.            
  49.             $sql = "UPDATE tareas estatus = estatus + 1 where tarea_id = ".$idTarea." and accion=".$accion;
  50.            
  51.                 mysql_query($sql);
  52.                
  53.                
  54.             }else {
  55.                
  56.                 echo "Esta tarea esta finalizada";
  57.                
  58.                 # do something....
  59.                    
  60.             }
  61.            
  62.  
  63.     }
  64.  
  65.  
  66.     function listarTareasAbiertas(){
  67.        
  68.         $sql =  "SELECT * FROM tareas where estatus < 3";
  69.                 $sql = mysql_query( $sql );
  70.                
  71.                 if( mysql_num_rows( $sql ) ){
  72.                        
  73.                        
  74.                                 # do something....
  75.                        
  76.                 }
  77.            
  78.     }
  79.  
  80.  
  81. function listarTareasCerradas(){
  82.        
  83.         $sql =  "SELECT * FROM tareas where estatus >2";
  84.                 $sql = mysql_query( $sql );
  85.                
  86.                 if( mysql_num_rows( $sql ) ){
  87.                        
  88.                        
  89.                                 # do something....
  90.                        
  91.                 }
  92.            
  93.     }

Esto seria mas o menos lo aproximado a lo que entendí que buscabas .