JQuery/Javascript-多个变量名
因此,我的SQL对象当前有“名称”,“描述””。 我当前在HTML页面上的实时代码只查看SQL中的“名称”,以参考它需要的项目信息:JQuery/Javascript-多个变量名,javascript,jquery,sql,Javascript,Jquery,Sql,因此,我的SQL对象当前有“名称”,“描述””。 我当前在HTML页面上的实时代码只查看SQL中的“名称”,以参考它需要的项目信息: 垫圈 在SQL中,如果我用一个新名称(“Washer2”)更新“wash”,html工具提示将中断(它在检查html代码时再也找不到“wash”)。 因此,我将向SQL表中的每个对象添加第三个SQL列:“Name”、“Desc”、“beta Name”。因此,“beta name”的SQL信息中可以有“清洗机”,而在“name”下可以有“清洗机2” 然后,我需要修
垫圈
在SQL中,如果我用一个新名称(“Washer2”)更新“wash”,html工具提示将中断(它在检查html代码时再也找不到“wash”)。
因此,我将向SQL表中的每个对象添加第三个SQL列:“Name”、“Desc”、“beta Name”。因此,“beta name”的SQL信息中可以有“清洗机”,而在“name”下可以有“清洗机2”
然后,我需要修改我的工具提示代码,以从当前为“垫圈”的HTML中获取名称,并用两个DB列(而不是一个):“名称”和“测试名称”)进行交叉检查。因此,当它从HTML中提取“wash”时,它将检查SQL,并查看“Washer2”的“beta名称”为“wash”,并为其提取信息
这是我试图实现的一种新的保存方法,以防止用名称更新破坏旧的工具提示
我基本上需要编辑JQuery/JS工具提示文件。
此文件是由离开项目并不幸移交代码的其他人创建的。
我想我缩小了需要更改的代码行:
var name = jQuery(e.currentTarget).data("name"),
host = globalHost + "/pics/",
url = globalHost + '/getitemid.php?name=' + encodeURI(name) + '&callback=?';
在这种情况下,数组可能工作吗
var namesarray = {data("name"), data("beta_name")};
var name = jQuery(e.currentTarget).data(namesarray),
host = globalHost + "/pics/",
url = globalHost + '/getitemid.php?name=' + encodeURI(name) + '&callback=?';
解决此问题的首选方法是向表中添加主键(如果还不存在主键),然后在元素中引用该id,而不是名称字段。大概是这样的:
+----+--------+--------------+
| ID | Name | Desc |
+----+--------+--------------+
| 1 | Washer | I'm a washer |
| 2 | Dryer | I'm a dryer |
+----+--------+--------------+
<a data-id="1">Washer</a>
select Desc
from items
where Name = @name
您需要将其更改为:
select Desc
from items
where Name = @name or beta-name = @name
当然,这假设您没有一个项目的名称为“垫圈”,另一个项目的测试版名称为“垫圈”(因为查询将返回两行,因为它不知道您指的是哪一行)。因此您的HTML元素将有一个“Name”或“beta_Name”数据属性(但不是两个)?抱歉。我解释得很糟糕。在HTML方面,我们有一个类似这样的段落:“您好,我们的商品是洗碗机”。因此,代码查看“洗碗机”,然后检查SQL数据库中是否有同名的内容。现在,如果我们用一个新名称(比如“dishchinera”)更新该对象的SQL,工具提示将中断为“dishchiner”。因此,我基本上希望为该项目创建一个名为“beta name”的第二个SQL行,它将允许我输入旧名称。因此,我希望工具提示代码看到“洗碗机”,并检查数据库中的2列,而不是1列,直到不清楚为止。您的元素将有一个“名称”或“beta_名称”,对吗?然后将该值传递给
getitemid.php
?但在SQL端,您不知道该值是“name”还是“beta_name”。是吗?嘿。我彻底检查了我最初的问题,试图把它弄清楚。你可以通读一下。谢谢有几件事namesarray
不是数组.data(“name”)
是一个getter,而.data(namesarray)
将是一个setter。还有,为什么不使用唯一的id
来引用项目呢?太好了!我采用了SQL方式,这比我预期的要容易得多。我在寻找一个非常简单的解决方案的困难答案。因此,我添加了额外的SQL列“betaname”,并将我的SQL代码更改为:SELECT*FROM item_database,其中name='$name'或betaname='$name',它与betaname完美配合!作为说明,我最初将其作为SQL列插入“beta name”,而“-”会导致错误。我不知道会发生什么事。将其更改为“betaname”修复了它。尴尬的是,这是一个如此简单的解决方案。非常感谢。