Javascript 脚本IF ELSE仅处理php中的第一个数据

Javascript 脚本IF ELSE仅处理php中的第一个数据,javascript,php,mysql,Javascript,Php,Mysql,我只能喜欢第一篇文章,而不是第二篇、第三篇或其他 图像仅在第一篇文章中更改。。还有其他的,他们不工作 代码无法工作的原因是,所有图像都具有相同的ID。ID是唯一标识符,document.getElementByIdfav;将仅选择具有该ID的第一个元素。您可以在myFav函数中使用this关键字引用单击的图像代码不起作用的原因是所有图像都具有相同的ID。ID是唯一标识符,document.getElementByIdfav;将仅选择具有该ID的第一个元素。您可以在myFav函数中使用this关

我只能喜欢第一篇文章,而不是第二篇、第三篇或其他

图像仅在第一篇文章中更改。。还有其他的,他们不工作


代码无法工作的原因是,所有图像都具有相同的ID。ID是唯一标识符,document.getElementByIdfav;将仅选择具有该ID的第一个元素。您可以在myFav函数中使用this关键字引用单击的图像

代码不起作用的原因是所有图像都具有相同的ID。ID是唯一标识符,document.getElementByIdfav;将仅选择具有该ID的第一个元素。您可以在myFav函数中使用this关键字引用已单击的图像

在PHP的while循环中,添加多个具有相同fav ID的图像。但是,由于ID必须是唯一的,您的Javascript代码:

var image =  document.getElementById("fav");
将始终返回第一个图像,因为它假定只有一个文档具有此ID

您可以改为使用fav的类名而不是ID,然后使用以下代码获取所有图像的列表:

var images =  document.getElementsByClassName("fav");

在PHP的while循环中,添加了几个具有相同fav ID的图像。但是,由于ID必须是唯一的,您的Javascript代码:

var image =  document.getElementById("fav");
将始终返回第一个图像,因为它假定只有一个文档具有此ID

您可以改为使用fav的类名而不是ID,然后使用以下代码获取所有图像的列表:

var images =  document.getElementsByClassName("fav");

您应该使用onclick=myFavthis,而不是使用id,从而将确切的元素传递到函数中。您可以直接使用该参数

您的查询也容易受到SQL注入的攻击,您应该使用预处理语句

在我看来,似乎您正在另一个查询循环中运行此查询-如果是这样,您应该将此查询集成到外部查询中,因为循环中的查询对性能有害


您应该使用onclick=myFavthis,而不是使用id,从而将确切的元素传递到函数中。您可以直接使用该参数

您的查询也容易受到SQL注入的攻击,您应该使用预处理语句

在我看来,似乎您正在另一个查询循环中运行此查询-如果是这样,您应该将此查询集成到外部查询中,因为循环中的查询对性能有害


嗨,欢迎来到stackoverflow。你能补充更多关于上下文和你想要实现的内容的信息吗?您还应该参考将所有元素命名为ID fav的部分。ID必须是唯一的。不使用document.getElementById'fav',您可能可以使用这个。id值必须是uniquesql injectionhey@Qirel,我已经替换了var image=document.getElementByIdfav;使用var image=this;但它不起作用嗨,欢迎来到stackoverflow。你能补充更多关于上下文和你想要实现的内容的信息吗?您还应该参考将所有元素命名为ID fav的部分。ID必须是唯一的。不使用document.getElementById'fav',您可能可以使用这个。id值必须是uniquesql injectionhey@Qirel,我已经替换了var image=document.getElementByIdfav;使用var image=this;但是它不起作用我没有投赞成票或反对票,但是使用一个类然后使用document.getElementsByClassNamefav可能会破坏逻辑-您需要使用这个元素。由于这里可能有不止一行,我们可能也看到了一个有缺陷的PHP逻辑——要么是循环中的查询,要么是X行表示收藏夹,如果没有收藏夹,则为1行。我没有投赞成票或反对票,但是使用类然后使用document.getElementsByClassNamefav可能会破坏逻辑-您需要使用此元素。由于这里可能有不止一行,我们可能也看到了一个有缺陷的PHP逻辑——要么是循环中的查询,要么是收藏的X行,如果不存在收藏,则为1行。非常感谢。。。。。它起作用了。。。您使用元素在JS thankss中定义…非常感谢。。。。。它起作用了。。。您使用元素在JS thankss中定义。。。