使用MySql数据填充JavaScript数组

时间:2015-03-07 13:51:24

标签: javascript php mysql arrays

我已经查看过关于SO的各种其他问题,但无法得到正确答案。基本上,我有一个需要来自MySql数据库的数据的数组。这是我尝试过的:

var $name = "Foo",
    $x = 10,
    $bar =
      <? php
        $barQuery = mysql_query("SELECT item FROM table WHERE name = '$name' AND number = '$x'");
        $barArray = array();

        while ($r = mysql_fetch_assoc($barQuery))
        {
          $barArray[] = $r['item'];
        }

        echo json_encode($barArray);
      ?>;

编辑:然后我将其发布到.php文件,并打印返回的数据:

$.post("file.php", {bar: JSON.stringify($bar), name: $name}).done(function(data)
{
  $('body').html(data);
  window.print();
  setTimeout("location.reload(true)", 500);
});

但是,我收到错误提示“语法错误,意外的T_VARIABLE”。难道不可能以这种方式填充JS数组,还是有其他方法可以实现呢?

2 个答案:

答案 0 :(得分:0)

var $name = "Foo",
    $x = 10,
    $bar = "
      <?php
        $barQuery = mysql_query("SELECT item FROM table WHERE name = '$name' AND number = '$x'");
        $barArray = array();

        while ($r = mysql_fetch_assoc($barQuery))
        {
          $barArray[] = $r['item'];
        }

        echo json_encode($barArray);
      ?>";

答案 1 :(得分:0)

PHP开头标记中有一个多余的空间:

      <? php
        ^--- this shouldn't be there

按照目前的情况,<?被解析为一个短开放标记,因此php被解析为一个(n未定义的)常量,后面跟着$barQuery - 因此您看到语法错误:unexpected T_VARIABLE