Ver Mensaje Individual
  #2 (permalink)  
Antiguo 11/09/2010, 01:38
Avatar de HackmanC
HackmanC
 
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 9 meses
Puntos: 260
Sonrisa Respuesta: Ayuda para crear algoritmo o una forma mas facil de realizar esto

Hola,

La pregunta clave creo que no está en cual es la solución a ese algoritmo, sino el objetivo, el resultado esperado, las combinaciones posibles son 128, 128 consultas diferentes; perdón pero, o está mal tu base de datos o la técnica de programación que estas usando es muy mala (por no decir otra cosa).

Pero, si realmente necesitas eso, normalmente se usan operaciones a nivel de bits para dividir las posibles combinaciones:

Código PHP:
$arr = Array('A''''C''''''''F');
$opcion 0x00;

$opcion |= empty($arr[0]) ? 0x01;
$opcion |= empty($arr[1]) ? 0x02;
$opcion |= empty($arr[2]) ? 0x04;
$opcion |= empty($arr[3]) ? 0x08;
$opcion |= empty($arr[4]) ? 0x10;
$opcion |= empty($arr[5]) ? 0x20;
$opcion |= empty($arr[6]) ? 0x40;

echo 
$opcion
Eso te genera un número diferente para cada combinación de campos vacíos, pero no en el orden que estas usando, sino lo genera a nivel de combinaciones binarias, por ejemplo:

Código:
   ARR0    ARR1    ARR2    ARR3    ARR4    ARR5    ARR6
     X                                                    = 1
             X                                            = 2
     X       X                                            = 3
                     X                                    = 4
     X               X                                    = 5
             X       X                                    = 6
etc... hasta 127
Saludos,

Última edición por HackmanC; 11/09/2010 a las 01:47 Razón: corrregir el 6 resultado de las combinaciones