Ahora vengo pidiendo ayuda para generar un algoritmo lo mas simplificado posible (poco codigo), el asunto es el siguiente:
En la pagina que estoy desarrollando, es posible realizar la busqueda de imagenes a partir de ciertos filtros, es aqui donde tengo el problema. Es facil realizar consultas a partir de ciertos campos (los filtros) que llena el usuario pero aqui el detalle es que por ejemplo puede elegir buscar la/s imagen/es a partir de 1 campo que puede ser cualquiera de los 6 que son en total, puede elegir si nos vamos en orden, 2 campos, empezando por el campo 1,2 o 1,3 o 1,4, etc. Puede elegir tambien alereves, empezando por campos 6,5 o 6,4 etc. Lo mismo pasa si eligen 3 y creo hay mas combinaciones, la verdad nisiquiera se cuantas combinaciones serian y pues se me hace algo complicado estar poniendo cada combinaciona mano, ojala alguien sepa de un algoritmo que permita hacer esto mas facil. Aqui dejo un ejemplo de lo que estoy haciendo (a mano) a ver si les queda mas claro:
Código:
El valor que tenga opcion lo paso a una funcion que es la que se encarga de realizar la consulta dependiendo del valor de opcion, asi es como se me ha ocurrido hacer esto por el momento. Aun no lo termino por cierto.//opcion=0 cuando no se seleccionado ningun filtro if($arr[0]=="" || $arr[1]=="" || $arr[2]=="" || $arr[3]=="" || $arr[4]=="" || $arr[5]=="") $opcion=0; //opcion = 1-6 cuando seleccionan 1 filtro cualquiera if($arr[0]!="" || $arr[1]=="" || $arr[2]="" || $arr[3]=="" || $arr[4]=="" || $arr[5]=="") $opcion=1; if($arr[0]=="" || $arr[1]!="" || $arr[2]=="" || $arr[3]=="" || $arr[4]=="" || $arr[5]=="") $opcion=2; if($arr[0]=="" || $arr[1]=="" || $arr[2]!="" || $arr[3]=="" || $arr[4]=="" || $arr[5]=="") $opcion=3; if($arr[0]=="" || $arr[1]=="" || $arr[2]=="" || $arr[3]!="" || $arr[4]=="" || $arr[5]=="") $opcion=4; if($arr[0]=="" || $arr[1]=="" || $arr[2]=="" || $arr[3]=="" || $arr[4]!="" || $arr[5]=="") $opcion=5; if($arr[0]=="" || $arr[1]=="" || $arr[2]=="" || $arr[3]=="" || $arr[4]=="" || $arr[5]!="") $opcion=6; //opcion = cuando seleccionan 2 filtros cualesquiera if($arr[0]!="" || $arr[1]!="" || $arr[2]=="" || $arr[3]=="" || $arr[4]=="" || $arr[5]=="") $opcion=7; if($arr[0]!="" || $arr[1]=="" || $arr[2]!="" || $arr[3]=="" || $arr[4]=="" || $arr[5]=="") $opcion=8; if($arr[0]!="" || $arr[1]=="" || $arr[2]=="" || $arr[3]!="" || $arr[4]=="" || $arr[5]=="") $opcion=9; if($arr[0]!="" || $arr[1]=="" || $arr[2]=="" || $arr[3]=="" || $arr[4]!="" || $arr[5]=="") $opcion=10; if($arr[0]!="" || $arr[1]=="" || $arr[2]=="" || $arr[3]!="" || $arr[4]=="" || $arr[5]!="") $opcion=11; if($arr[0]=="" || $arr[1]=="" || $arr[2]=="" || $arr[3]=="" || $arr[4]!="" || $arr[5]!="") $opcion=7; if($arr[0]=="" || $arr[1]=="" || $arr[2]=="" || $arr[3]!="" || $arr[4]=="" || $arr[5]!="") $opcion=8; if($arr[0]=="" || $arr[1]=="" || $arr[2]!="" || $arr[3]=="" || $arr[4]=="" || $arr[5]!="") $opcion=9; if($arr[0]=="" || $arr[1]!="" || $arr[2]=="" || $arr[3]=="" || $arr[4]=="" || $arr[5]!="") $opcion=10; if($arr[0]!="" || $arr[1]=="" || $arr[2]=="" || $arr[3]=="" || $arr[4]=="" || $arr[5]!="") $opcion=11;
arr contiene el arreglo con los 6 filtros, al principio tenia variables unidimensionales.
Gracias y disculpen si tal vez pregunto algo muy sencillo pero ahorita no se me "prende el foco".