所以我的SQL对象目前有" 名称"," Desc "。
我在HTML网页上的当前实时代码仅查看" 名称"在SQL中引用它需要的项目信息:
<a data-name="Washer">Washer</a>
在SQL中,如果我更新&#34; Washer&#34;使用新名称(&#34; Washer2&#34;),html工具提示将中断(在检查HTML代码时无法找到&#34; Washer&#34;)。 因此,我将在SQL表中为每个对象添加第三个SQL列:&#34; 名称&#34;,&#34; Desc &#34;, &#34;的的β-名称&#34 ;.所以&#34; beta-name &#34;的SQL信息我可以拥有&#34; Washer&#34;并且在&#34; 名称&#34;我可以拥有&#34; Washer2&#34;。
然后,我需要修改我的工具提示代码,从HTML中获取当前的名称&#34; Washer&#34;现在用两个数据库列交叉检查,而不是一个:&#34;名称&#34;和&#34; beta-name&#34;。所以当它拿起&#34; Washer&#34;从HTML中,它将检查SQL并查看&#34; Washer2&#34;有一个&#34; beta-name&#34; &#34;洗衣机&#34;并提取信息。
这是一种新的保存方法,我试图通过名称更新来防止破坏旧的工具提示。
我基本上需要编辑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=?';
答案 0 :(得分:0)
此问题的首选修复方法是向表中添加主键(如果尚未存在),然后在元素中引用该ID而不是名称字段。像这样:
+----+--------+--------------+
| ID | Name | Desc |
+----+--------+--------------+
| 1 | Washer | I'm a washer |
| 2 | Dryer | I'm a dryer |
+----+--------+--------------+
<a data-id="1">Washer</a>
这样,您可以随时更改名称,不会有任何中断。
如果由于某种原因这不是一个选项,我认为您需要更改SQL查询(而不是添加更多数据属性)。我假设你有一个看起来像这样的查询:
select Desc
from items
where Name = @name
您需要将其更改为:
select Desc
from items
where Name = @name or beta-name = @name
这当然假设您没有一个名称为“Washer”的项目和一个名称为“Washer”的不同项目(因为那时查询将返回两行,因为它不知道你的意思是。)