Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Sistema de elección de alumnos segun un criterio

Estas en el tema de Sistema de elección de alumnos segun un criterio en el foro de Mysql en Foros del Web. Hola, buenas noches. Llevo un tiempo siguiendo esta comunidad. Me paso mucho por los subforos de php, jquery, android y java, y no he podido ...
  #1 (permalink)  
Antiguo 15/09/2015, 15:50
 
Fecha de Ingreso: septiembre-2015
Ubicación: Valencia
Mensajes: 1
Antigüedad: 9 años, 2 meses
Puntos: 2
Sistema de elección de alumnos segun un criterio

Hola, buenas noches. Llevo un tiempo siguiendo esta comunidad. Me paso mucho por los subforos de php, jquery, android y java, y no he podido resistirme a publicar una duda. Sin embargo, antes de explicarme y de preguntar, quiero avisar de que, a ser posible, en vez de darme alguna solución, me dieseis alguna pista... me gusta resolver las cosas por mi cuenta

En fin, allá voy. Intentaré ser lo mas concreto posible.

Lo que me traigo entre manos es lo siguiente. Es una web en la que los usuarios que quieren se dan de alta dando una serie de datos, entre ellos una supuesta nota (nota de examen, no de otra cosa!). Luego, a esa nota se le aplica unos cálculos y se obtiene un nuevo valor (llamémosle... x). Además, también seleccionan de una lista una serie de clases por orden de preferencia a la que quieren matricularse. Imaginemos que hay tres clases, y por tanto pueden elegir un maximo de tres opciones. Lo que quiero hacer es que los que más alto tengan el x, entren primero en la clase que han elegido como primera opción. Cuando se hayan acabado las plazas o se haya mirado ya todas las primeras opciones de todos los usuarios, se pase a la segunda opción y se llenen las plazas que falta, y así con la tercera.

Creo que mi objetivo está más o menos claro. Estructuralmente, tengo una base de datos con una única tabla, alumnos, que contiene las filas nombre, nota, x, opción1, opción2, opción3, opciondefinitiva.
Después de mucho pensar, he llegado a esto:
Código PHP:
$cons_ordenar_alumnos_opcion1 mysqli_query("SELECT * FROM alumnos ORDER BY opcion1");
$i=0;
while(
$filtrado1 mysqli_fetch_array($cons_ordenar_alumnos_opcion1)) {
    
$i++;
    
$algo mysqli_query("UPDATE alumnos SET opciondefinitiva = '".$filtrado1['opcion1']."' WHERE nombre= '".$filtrado1['nombre']."'") or die (mysqli_error());

Pero claro. Esto hace lo que yo quiero, aunque sin tener en cuenta que solo pueden haber 3 tuplas con la misma opciondefinitiva. Y ahí me he quedado. Básicamente necesito alguna pista que me oriente. Tal vez sería bueno empezar por decirme si la respuesta está en añadir algo al código sql o al php. Había pensado en agrupar todas las tuplas en función de opcion1, ordenadas porx, algo así como
Código SQL:
Ver original
  1. SELECT * FROM alumnos GROUP BY opcion1 ORDER BY x ASC
.. y de alguna forma, pedir solo los 3 primeros resultados de cada grupo, algo así como:
Código SQL:
Ver original
  1. LIMIT 3
pero sin usar funciones agregadas creo que no puedo poner.
Código SQL:
Ver original
  1. GROUP BY

En fin, espero vuestras pistas. Si la solución es tan sencilla que es imposible dar pistas, pues nada... Pero si es posible orientarme hacia la respuesta, mejor. Gracias!

Última edición por aldefe; 15/09/2015 a las 15:53 Razón: Cambio del tipo de seguimiento
  #2 (permalink)  
Antiguo 15/09/2015, 16:04
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 3 meses
Puntos: 2237
Respuesta: Sistema de elección de alumnos segun un criterio

Bienvenido a FDW y felicitaciones por querer hacer las cosas por tu cuenta y, además, exponer tus dudas en forma tan clara... ojalá todos los usuarios (nuevos y antiguos) tuvieran, al menos, esa disposición para aprender.

De entrada, creo que el diseño que pretendes no es el adecuado, si tuvieras las opciones deseadas por el alumno en otra tabla, también puedes agregar más información que podría ser útil, como un código para indicar el ingreso o rechazo a la clase, fecha, etc., además de generar consultas por más criterios.

Por el momento, muevo tu tema a MySQL para que te ayuden con esta parte, después verás si es conveniente preguntar otra vez por aquí.
__________________
- León, Guanajuato
- GV-Foto

Etiquetas: alumnos, php, select, sistema, sql, tabla, usuarios
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

SíEste tema le ha gustado a 4 personas




La zona horaria es GMT -6. Ahora son las 10:03.