Filtros de Usuarios

Filtros de Usuarios

de Javier Navarro -
Número de respuestas: 3

Buenas tardes,

estoy intentando aplicar una solucion a Moodle (rama 1.x), que consiste es poder catalogar a los alumnos por clase y curso (3º ESO, o 1º Bach.).

Lo que no consigo es hacer un filtro para cada uno, que sea directo. Es decir, al agregar campos personalizados, te los agrupa y sólo puedes escoger uno y por otro lado, el campo de opciones es un textarea, cuando lo ideal seria un select.

No localizo los archivos a modificar :S
A ver si me inspirais. Gracias!

Adjunto filtros.png
Promedio de valoraciones: -
En respuesta a Javier Navarro

Re: Filtros de Usuarios

de Javier Navarro -

Encontre una solucion. Si a alguien le interesa, que lo diga sonrisa

En respuesta a Javier Navarro

Re: Filtros de Usuarios

de Juan Manuel Vaca -

Hola Javier,

Podrías indicar lo que has hecho y cómo lo has hecho. Creo que mucha gente le puede servir.

Saludos.

En respuesta a Juan Manuel Vaca

Re: Filtros de Usuarios

de Javier Navarro -

La cuestion es que estos datos se agregan automaticamente cuando se está loggeando en usuario. Como justo en ese momento no esta logeado aun (este código está en el config.php) no conocemos el id del usurio, por lo que para recuperarlo lo miro en funcion al username con el que se quiere conectar.

$idusertabla="SELECT * FROM user where username ='$identificadora'";
$resultA=mysql_db_query ($dbname, $idusertabla, $dbhandlea);
   while ($rowA = mysql_fetch_array ($resultA))
      {
       $id_user= $rowA["id"];
       }

Aqui esta la insercion en estos 3 campos nuevos que he creado.

//Miramos si ya se han introducido los datos del alumno
$ContadoR = "SELECT count(*) AS count FROM user_info_data WHERE userid ='$id_user'";
$ReSuLTaDo = mysql_db_query ($dbname, $ContadoR, $dbhanlea);
$count = mysql_result($ReSuLTaDo, 0);
 if ($count < 3 && $id_user > 1){

        //Recogemos los valores de secion, etapa y curso
            $quecurso= "select * from curso where idCurso='$idCurso'";
            $resultB=mysql_db_query ($dbname, $quecurso, $dbhandlea);
           while ($rowB = mysql_fetch_array ($resultB))
               {
               $nombreCurso= $rowB["Curso"];
               }

            $queetapa = "select * from etapa where idEtapa ='$idEtapa'";
            $resultC=mysql_db_query ($dbname, $queetapa, $dbhandlea);
          while ($rowC = mysql_fetch_array ($resultC))
               {
               $nombreEtapa= $rowC["Etapa"];
               }
 
        //FIN recoger valores
        // INSERCIONES
            mysql_query("INSERT INTO user_info_data (userid, fieldid, data)
            VALUES ('".addslashes($id_user)."', '".addslashes(1)."','".addslashes($nombreCurso)."');");

            mysql_query("INSERT INTO user_info_data (userid, fieldid, data)
            VALUES ('".addslashes($id_user)."', '".addslashes(2)."','".addslashes($nombreEtapa)."');");

            mysql_query("INSERT INTO user_info_data (userid, fieldid, data)
            VALUES ('".addslashes($id_user)."', '".addslashes(3)."','".addslashes($seccion)."');");
}

Para filtrarlo, luego, lo único que he podido hacer es agregar tres filtros a mano, no he conseguido hacer lo que queria yo...

Por otro lado, es interesante, en lugar de usar estos campos propios, usar el campo "number id" propio de la tabla user.

$queryd = "UPDATE $dbname.mdl_user SET idnumber = '$idCurso - $idEtapa - $seccion' where username = '$identificadora'";

Ya que esto permite a los profes filtrar alumno por clase, en por ejemplo, los cuestionarios (despues de exportarlo a un excel...), ya que este campo se incluye en las vistas.

Hay que tener en cuenta que yo pongo IDs. Pero como está estandarizado todos los coles son capaces de leer este dato.

Bueno, espero os sirva de algo n_n