首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将多个值从MYSQL/PHP表传递到jQuery

将多个值从MYSQL/PHP表传递到jQuery
EN

Stack Overflow用户
提问于 2012-02-16 21:44:59
回答 2查看 257关注 0票数 1

基本上,我对此有一个有效的解决方案,但我想知道它是否可以(应该吗?)以其他方式做得更好。

我有一个用PHP创建的表,其中包含来自MYSQL的值。表中的每一项都有多个值。每一行都有一个链接,单击此链接将启动jQuery函数。在每个链接中,还有一个值属性,其中包含来自多个MYSQL字段的值,并使用&&进行连接:

PHP代码是:

代码语言:javascript
复制
    foreach ($this->_data as $l)
    {
        ?>
        ...
        <td><a href="#" class="clickMe" value="<?php echo $l->data1 . '&&' . $l->data2; ?>">Link</a></td>
        ...
        <?php
    }

点击链接时要触发的jQuery函数是:

代码语言:javascript
复制
$(".clickMe").click(function() {
    myData = $(this).attr('value').split('&&');
});

脚本在&&上拆分VALUE属性中的字符串,并创建一个具有值的数组myData:

从$l->_ =>传递的PHPdata1值

从$l->_ =>传递的PHPdata2值

这是正确的做法吗?

EN

回答 2

Stack Overflow用户

发布于 2012-02-16 21:48:04

这很好,只要你的数据中永远不会有&&。您可以在PHP中使用json_encode(),然后在JavaScript中将其解码为数组。这将是一个更标准的解决方案。

票数 1
EN

Stack Overflow用户

发布于 2012-02-16 21:48:45

我建议不要使用&&,因为它看起来像是一个布尔AND。相反,我可能会使用管道之类的东西来分隔它们val1|val2

我认为您最好将整个连接的字符串传递给PHP,然后在那里拆分它。它省去了将两个结果值放入适当的post或get变量以发送到PHP的两端工作。

然后在PHP方面,在拆分一个值之前验证它的格式会更容易一些,因为您可以使用一个正则表达式,如下所示:

代码语言:javascript
复制
// Validate both values at once: 1 or more digits, a pipe, and one or more digits
if (preg_match('/^(\d+)\|(\d+)$/', $_POST['jqueryinput'])) {
  // explode() and use in PHP...
  list($val1, $val2) = explode("|", $_POST['jqueryinput']);
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9312383

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档