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

Cuál algoritmo recomiendan ? ? ?

Estas en el tema de Cuál algoritmo recomiendan ? ? ? en el foro de Mysql en Foros del Web. Saludos ! ! ! - Resulta que tengo una lista de "usuarios" ID_Usr = juanc, lucyfer . . . . etc . . . Nom_Usr ...
  #1 (permalink)  
Antiguo 21/07/2009, 16:52
 
Fecha de Ingreso: agosto-2008
Mensajes: 82
Antigüedad: 15 años, 8 meses
Puntos: 4
Exclamación Cuál algoritmo recomiendan ? ? ?

Saludos ! ! !

- Resulta que tengo una lista de "usuarios"

ID_Usr = juanc, lucyfer . . . . etc . . .
Nom_Usr = Juan Carlos, Lucía Fernanda . . . etc . . .

Cuando llega "x" archivo, es asignado de FORMA CONSECUTIVA a un usuario de la lista, al llegar al último usuario debe repetirse la lista . . .

Lo primero que se me ocurrió fue:

- Con un query . . . verifico el último usuario al cual se le asignó un archivo . . .

- Con el resultado del query anterior, hago un Select Case para asignar el siguiente archivo . . .

PREGUNTA: . . . Hay alguna manera de hacerlo directamente desde el Query para evitarme el Select Case ? ? ?

PORQUE ESTO ? ? ?

Porque habría que agregar ó quitar del Select Case a los usuarios que ya no esten en ésa lista . . .


Gracias Por sus comentarios y/o respuestas . . .

Buen día!
  #2 (permalink)  
Antiguo 22/07/2009, 03:19
Avatar de genuine_carlosV2  
Fecha de Ingreso: noviembre-2008
Ubicación: 127.0.0.1
Mensajes: 296
Antigüedad: 15 años, 5 meses
Puntos: 6
Respuesta: Cuál algoritmo recomiendan ? ? ?

Buenas,

Yo añadiría un campo más a la tabla que fuese "Asignado" (de tipo booleano mismo). Entonces, cuando llegase un archivo, haría una consulta tal que así:
SELECT * FROM `usuarios` WHERE `asignado` LIKE 'false' LIMIT 1

NOTA: Lo del "LIKE 'false'" es para que se vea la condición. Deberías adaptar la sentencia a tu conveniencia.

Con eso, te aseguras que cogería un usuario de la lista que no tuviese un archivo asignado. En cada consulta, debes comprobar si te ha devuelto 1 o 0 usuarios ya que si te ha devuelto 0 usuarios, es que todos tienen un archivo asignado por lo que deberías poner todas las variables "asignado" a 'false' otra vez (esto se puede hacer con una sola linea SQL)
Desconozco la escalabilidad del algoritmo, pero para BD pequeñas, seguro que te funcionará perfectamente.

Además, si buscas hacerlo de forma consecutiva, puedes usar políticas por nombre/nick. Por ejemplo, podrías incluir un ordenamiento a la consulta:
SELECT * FROM `usuarios` WHERE `asignado` LIKE 'false' ORDER BY `nick` ASC LIMIT 1

En fin, a priori, eso es lo que se me ocurre. Un saludo ;)

Carlos
  #3 (permalink)  
Antiguo 22/07/2009, 08:22
 
Fecha de Ingreso: agosto-2008
Mensajes: 82
Antigüedad: 15 años, 8 meses
Puntos: 4
Respuesta: Cuál algoritmo recomiendan ? ? ?

Ahhh pues si verdad ? ? ? hahaha . . .

Tenía en mente algo así como el método de la burbuja ó algo complejo . . . hahaha . . . a veces la solución es muchisimo mas sencilla de lo que parece . . .

Grax.
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 02:13.