首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将mySQL数据库信息放入JavaScript数组中

将mySQL数据库信息放入JavaScript数组中
EN

Stack Overflow用户
提问于 2012-04-26 03:48:23
回答 3查看 1.6K关注 0票数 1

我要做的是通过抓取数据库信息并将其放入javascript数组来创建幻灯片。我目前正在使用jquery ajax函数从一个单独的php文件调用信息。这是我的php代码:

代码语言:javascript
复制
mysql_connect('x', 'x', 'x') or die('Not Connecting');
mysql_select_db('x') or die ('No Database Selected');

$i = 0;
$sql = mysql_query("SELECT comicname FROM comics ORDER BY upldate ASC");

while($row = mysql_fetch_array($sql, MYSQL_ASSOC)) {
echo "comics[" .$i. "]='comics/" .$row['comicname']. "';";
$i++;
}

我想要的是在php中从mysql查询创建数组,然后能够用javascript引用它,以便构建一个简单的幻灯片脚本。如果您有任何问题或建议,请告诉我。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-04-26 04:00:16

好的,让你的.php echo json_encode('name of your php array');

然后在javascript端,你的ajax应该看起来像这样:

代码语言:javascript
复制
$.ajax({
        data:       "query string to send to your php file if you need it",
        url:        "youphpfile.php",
        datatype:   "json",
        success:    function(data, textStatus, xhr) {
                        data = JSON.parse(xhr.responseText);
                        for (i=0; i<data.length; i++) {
                        alert(data[i]); //this should tell you if your pulling the right information in

                        }
        });

如果你有大量的data...if,你可以使用yourJSArray.push(Datai)来获取正确的数据,那么可以用3或者其他的东西来代替data.length;我相信有一种更直接的方法……

票数 3
EN

Stack Overflow用户

发布于 2012-04-26 04:02:48

您可能希望将所有行提取到一个大型数组中,然后将其编码为JSON

代码语言:javascript
复制
$ret = array();
while($row = mysql_fetch_array($sql, MYSQL_ASSOC))
        $ret[] = $row
echo json_encode($ret);

然后,在客户端,调用如下代码:

代码语言:javascript
复制
function mycallback(data)
{
        console.log(data[0].comicname); // outputs the first returned comicname
}

$.ajax
        (
        {
        url: 'myscript.php',
        dataType: 'json',
        success: mycallback
        }
        );

成功完成请求后,将调用mycallback并向其传递一个映射数组,每个映射表示结果集中的一条记录。

票数 3
EN

Stack Overflow用户

发布于 2012-04-26 03:56:06

从你的问题中很难区分,但听起来像是:

  1. 您正在JS
  2. 中对您的服务器进行AJAX调用当结果返回时,您的服务器(使用PHP)以results
  3. 响应jQuery调用您传递给它的回调...
  4. ,您在这一点上迷路了吗?即。将这些AJAX结果放到一个数组中,以便幻灯片可以使用它们的意义是什么?

如果是这样的话,解决方案非常简单:在AJAX回调中,将结果放入一个全局变量(例如:window.myResults = resultsFromAjax;),然后在想要开始幻灯片放映时引用该变量。

然而,由于时间可能会是一个问题,更有意义的可能是实际上从回调中开始幻灯片放映。作为额外的好处,这种方法不需要全局变量。

如果这不是你被困的地方,请发布更多信息。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10322705

复制
相关文章

相似问题

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