Vaya.. quizas me he explicado un poco mal, lo siento.
Voy a tratar de explicarlo de otra forma mas simple y clara.
Supón que tienes la siguiente tabla en base de datos:
Cita: TABLA_NUMEROS_RESERVADOS
__________________________
id_sorteo
id_usuario
numero_reservado
Supón ahora que tienes un bucle for que va desde el numero 1 hasta el 100... y tienes que comprobar si estos números están ya reservados o no.
Lo que hago actualmente es hacer una consulta a la base de datos para ver si ese numero esta reservado por algun usuario:
SELECT id_usuario FROM tabla_numeros_reservados WHERE numero_reservado=$num AND id_sorteo=$sorteo
En caso de que esa consulta exista... muestro la foto del usuario
En caso de que esa consulta no exista... lo marco como "disponible"
Esto supone hacer esta consulta 100 veces (una por cada numero del sorteo)
Mi duda es si hay alguna forma de hacer mejor esto... o como lo hago esta bien.
Si quereis ver un ejemplo de lo que comento, podeis entrar a esta seccion
http://csgo.com.es/foro/index.php?action=rifas y pulsar sobre "Ver rifa"
Actualmente el rendimiento es bueno... las imagenes y los slots cargan bien.
Sin embargo, estoy preparando una segunda version de ese sistema de sorteos... en donde puede haber mas de 100 números por sorteo...
Imagina un sorteo para 500 usuarios... en donde se harian 500 consultas SQL!
Asi que mi duda es como harian esto ustedes