Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/468.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 搜索栏中的自动完成:具有相同用户名的不同用户_Javascript_Php_Html_Mysql_Autocomplete - Fatal编程技术网

Javascript 搜索栏中的自动完成:具有相同用户名的不同用户

Javascript 搜索栏中的自动完成:具有相同用户名的不同用户,javascript,php,html,mysql,autocomplete,Javascript,Php,Html,Mysql,Autocomplete,我正在创建一个社交媒体平台,遇到了这个我无法解决的问题。我有一个数据库表,其中有用户名和电子邮件(电子邮件对每个人都不同)。但是,用户可以有相同的用户名。 当我通过搜索栏中的“自动完成”搜索一个用户时,它会显示我搜索过的具有特定起始字符串的所有用户名。 现在,我希望当我点击一个特定的用户名时,他的个人资料会打开。但也有人使用相同的用户名。我该怎么做呢 需要注意的几点: 我正在创建一个用户名数组,并将该数组传递给js供autocomplete使用 每个用户都会附加一个自动递增的ID 以下是自动

我正在创建一个社交媒体平台,遇到了这个我无法解决的问题。我有一个数据库表,其中有用户名和电子邮件(电子邮件对每个人都不同)。但是,用户可以有相同的用户名。 当我通过搜索栏中的“自动完成”搜索一个用户时,它会显示我搜索过的具有特定起始字符串的所有用户名。 现在,我希望当我点击一个特定的用户名时,他的个人资料会打开。但也有人使用相同的用户名。我该怎么做呢

需要注意的几点:

  • 我正在创建一个用户名数组,并将该数组传递给js供autocomplete使用
  • 每个用户都会附加一个自动递增的ID
以下是自动完成的脚本:

功能自动完成(inp、arr){
无功电流聚焦;
inp.addEventListener(“输入”,函数(e){
var a,b,i,val=该值;
closeAllList();
如果(!val){返回false;}
currentFocus=-1;
a=document.createElement(“DIV”);
a、 setAttribute(“id”,this.id+“自动完成列表”);
a、 setAttribute(“类”、“自动完成项”);
this.parentNode.appendChild(a);
对于(i=0;i”+arr[i].substr(0,val.length)+“”;
b、 innerHTML+=arr[i].substr(val.length);
b、 innerHTML+=“”;
b、 addEventListener(“单击”,函数(e){
inp.value=this.getElementsByTagName(“输入”)[0].value;
closeAllList();
});
a、 儿童(b);
}
}
});
inp.addEventListener(“向下键控”,函数(e){
var x=document.getElementById(this.id+“自动完成列表”);
如果(x)x=x.getElementsByTagName(“div”);
如果(e.keyCode==40){
currentFocus++;
addActive(x);
}如果(e.keyCode==38){//up
当前焦点--;
addActive(x);
}否则如果(e.keyCode==13){
e、 预防默认值();
如果(当前焦点>-1){
如果(x)x[currentFocus]。单击();
}
}
});
函数addActive(x){
如果(!x)返回false;
清除活性(x);
如果(currentFocus>=x.length)currentFocus=0;
如果(currentFocus<0)currentFocus=(x.length-1);
x[currentFocus].classList.add(“自动完成活动”);
}
函数removeActive(x){
对于(变量i=0;i自动完成(document.getElementById(“myInput”),用户名)
您有用户表中的id,所以单击时可以像
域/user/{id}
一样链接为什么允许使用相同名称的用户?人们怎么知道哪个是哪个?类似于facebook。电子邮件是不同的,但名字可以是不同的same@DavidJorHpan用户名可以相同,因此它基本上会打开所有具有该名称的用户。@AnirudhSharma和用户名一起,在自动完成下拉框中,在其名称旁边显示其电子邮件ID。因此,根据姓名和电子邮件,您可以筛选用户