Php 如何在一行中存储字段Id?
我使用jquery和大量ajax请求编写了一个网站,以获取表的数据,并在服务器端使用PHP/MySql请求修改数据 目前,我使用id属性存储表字段的id(它是一个自动递增的int值)。Php 如何在一行中存储字段Id?,php,jquery,mysql,html,ajax,Php,Jquery,Mysql,Html,Ajax,我使用jquery和大量ajax请求编写了一个网站,以获取表的数据,并在服务器端使用PHP/MySql请求修改数据 目前,我使用id属性存储表字段的id(它是一个自动递增的int值)。 而且效果很好。 但我最近了解到id应该是唯一的(并以字母开头…。 我有不同的表,它们可能具有相同的id值(对于不同的sql表) 那么我不是html(也不是xhtml)兼容者 如何更正代码 使用jQuery的函数 id为值(3)的隐藏html元素 其他解决方案 其他信息: 我已经编写了一个小部件来管理我的表。
而且效果很好。 但我最近了解到id应该是唯一的(并以字母开头…。
我有不同的表,它们可能具有相同的id值(对于不同的sql表) 那么我不是html(也不是xhtml)兼容者 如何更正代码
- 使用jQuery的函数李>
- id为值(
)的隐藏html元素李>3
- 其他解决方案
其他信息:
我已经编写了一个小部件来管理我的表。
要添加新行,我需要执行以下操作:
row = $('<div class="row" id="'+item.id+'"/>');
[...] // I add fields to my row
row.appendTo(tableData);// tableData is the html element where rows are
如果您能够使用html 5data-*
属性,请查看使用html 5data-*
属性。jQuery 1.4.3将自动使用这些数据属性,并将它们放置在元素上的.data()
集合中
例如:
<table>
<tr data-rowId="1">
</tr>
</table>
而不是在您的数据中()
var row=$(“tr:first”).data(“row”)
您可以引用行.Id
和行.Name
您可以在Id前面加上表名:
<div id="mytable_1234"></div>
如果已经在表名中使用下划线,则可以使用任何其他分隔符。我认为。。。我理解你的问题-多个数据表,都有自动增量ID
我的解决方案是在ID前面加上一个字母(就像你说的)来区分它
例如,“汽车”的数据集,我会:
<table>
<tr id="cars_1">
...
</tr>
<tr id="cars_2">
...
</tr>
<tr id="cars_3">
...
</tr>
</table>
<table>
<tr id="bike_1">
...
</tr>
<tr id="bike_2">
...
</tr>
<tr id="bike_3">
...
</tr>
</table>
...
...
...
稍后,如果您有另一张桌子,自行车,您将执行以下操作:
<table>
<tr id="cars_1">
...
</tr>
<tr id="cars_2">
...
</tr>
<tr id="cars_3">
...
</tr>
</table>
<table>
<tr id="bike_1">
...
</tr>
<tr id="bike_2">
...
</tr>
<tr id="bike_3">
...
</tr>
</table>
...
...
...
您的最终结果将是唯一的ID,同时记住ID db值,因此您将进行一次简单的检查(如果是cars,则执行此操作,等等),然后将前缀(cars与ID 1分开,您将使用类似PHPexpolode()
fn的代码)
希望能澄清这一点,并且我理解您的问题。您也可以使用
将数据存储在html中,而不是使用id
使用数据id
并使用.data('id')
(在该元素上)通过jQuery检索数据,这是非常棒的。我想这会有助于提供一些“错误”的html代码。好的,我已经添加了一些信息,我认为他可能指的是记录(行)id, fyi@Jakub我将我的示例放在div
元素中,但我认为OP会理解他可以在tr
或任何其他元素中使用它;)问题中粘贴的代码也使用了div,所以我没有错…谢谢你的回答,但我将使用.data()。在我看来,它看起来更干净。@Benoît data()的答案是一个很好的解决方案,但由于我不能使用HTML5,我必须坚持我的解决方案。。。但我也认为使用HTML5数据域更强大。为什么HTML5不能在任何地方使用?(这可能是我的网站的限制吗?)看起来很棒!它与IE兼容吗?(IE6?)。我不喜欢IE,但它是被要求的…是的,它只是jQuery的一部分,我在项目中使用过很多,在IE6和所有其他主流浏览器中都非常有效。+1回答很好,但我认为重要的是要注意这是html5,而不是xhtml兼容。好的,我将使用这个解决方案。。。我还将存储其他数据,这些数据有时存储在隐藏的span元素中!非常感谢。看来标准的jQuery函数解决了我的问题,我不喜欢使用外部插件。个人选择。。我也喜欢这种在HTML中存储数据的方式
<table>
<tr id="bike_1">
...
</tr>
<tr id="bike_2">
...
</tr>
<tr id="bike_3">
...
</tr>
</table>