Código Javascript:
Ver original
function allow_array(datos){ var findings=new Array(0); for(i=0;i<perfiles.length;i++){ perfil=perfiles[i].split('|'); for(m=0;m<datos.length;m++){ if(search_type==search_user){ if(perfil[0].indexOf(datos[m])!=-1){ findings[findings.length]=perfiles[i]; break; } }else if(search_type==search_email){ if(perfil[1].indexOf(datos[m])!=-1){ findings[findings.length]=perfiles[i]; break; } }else if(search_type==search_name){ if(perfil[2].indexOf(datos[m])!=-1){ findings[findings.length]=perfiles[i]; break; } }else if(search_type==search_url){ if(perfil[3].indexOf(datos[m])!=-1){ findings[findings.length]=perfiles[i]; break; } }else if(search_type==search_sexo){ if(perfil[4].indexOf(datos[m])!=-1){ findings[findings.length]=perfiles[i]; break; } }else if(search_type==search_anos){ if(perfil[5].indexOf(datos[m])!=-1){ findings[findings.length]=perfiles[i]; break; } } } } var mensaje=''; if(findings.length<1){ mensaje+='No encontrado'; }else{ for(l=0;l<findings.length;l++){ mensaje+=findings[l]; } } document.getElementById('p').innerHTML=mensaje; }
El argumento que recibe la funcion es un array con las palabras buscadas por el usuario.
La variable global search_type se crea antes en otras funciones.
La variable findings es un array que contiene la base de datos. Es algo como esto:
findings[0]='user|name|email|url|etc...';
findings[1]='user2|name2|email2|url2|etc...';
El problema esta cuando por ejemeplo en el nombre aparecen dos o mas coninciedencias.. poes el resultado es no encontrado cuando hay muchas coincidencias..
No se porque me pasa esto??
Saludos