Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/01/2016, 09:49
Avatar de fbedia
fbedia
 
Fecha de Ingreso: julio-2010
Mensajes: 159
Antigüedad: 14 años, 4 meses
Puntos: 8
Duda con optimización de consulta

Hola!

Estoy haciendo una web de "rifas", donde el usuario selecciona un numero de la rifa... y pues al final el que haya elegido el numero ganador se lleva el premio.

Asi es como se veria la rifa sin ningun numero reservado:



El codigo de lo anterior es sencillo:

Código PHP:
<?php
                                    
//Muestro los slots
                                    
for($slot=1;$slot<=$row['numeros'];$slot++) {
                                        
                                        
?>
                                        <div style="background-color: #5cb85c; 
                                        height: 50px; width:50px; background-size: 100%; text-align: center; 
                                        border: 1px solid black; float: left; padding-top: 14px;margin-bottom: 6px; margin-right: 3px; margin-left: 3px;">
                                        <?php echo $slot?>
                                        </div>
                                        <?php
                                    
}
                                    
?>
                                    
</div>
Ahora viene donde tengo la duda!

En el bucle for, tengo que ir comprobando si el numero esta reservado ya o no.
Lo primero que se me ocurre es ir haciendo una consulta SQL a la taba de "numeros_reservados" para ver si ese slot esta ya seleccionado o no. Esto supondria hacer un consulta SQL en cada vuelta del for... lo que para el cuadrante del ejemplo serian 100 consultas SQL...

Espero que me hayan entendido.

Lo que no se, es si esta es la mejor forma de hacer lo que quiero... ya que son muchas consultas SQL y tengo miedo que penalize el rendimiento...

Otra opcion que se me ocurre, es sacar en una sola consulta SQL todos los numeros reservados, y guardarlos en un array o una variable... y despues en cada vuelta del bucle for ir consultando si el numero esta en este array o variable.

¿Que me recomiendan?
¿Alguna otra idea para realizar lo que quiero?
¿penaliza mas al rendimiento de la web las consultas SQL o las consultas al Array o variable?

Gracias de antemano
__________________
Follow me on twitter @franbedia