json没有用php查询显示任何内容

时间:2015-06-29 07:43:22

标签: javascript php html json

我是新的,但我正在努力解决这个问题。

我必须对sql server重复这种查询。我的问题是当我从html调用php时,getjason函数或任何其他方法返回任何数据。

php

<?php 
function getArraySQL()
{
$dsn = "prueba";
$connect = odbc_connect( $dsn, '', '' );

$query = "	SELECT hist_statusevents.reason, Sum(hist_statusevents.duration/3600) AS 'Duracion'
FROM hist_statusevents, hist_eqmtlist, hist_exproot
WHERE hist_exproot.shiftindex = hist_statusevents.shiftindex AND hist_statusevents.shiftindex = hist_eqmtlist.shiftindex AND hist_statusevents.eqmt = hist_eqmtlist.eqmtid AND (hist_eqmtlist.eqmtid='SVEDALA') AND hist_statusevents.category In ('2')
GROUP BY hist_statusevents.reason
ORDER BY Duracion DESC";

if(!$rs = odbc_exec($connect, $query)) die();

$rawdata = array();

$i=0;

while($row = odbc_fetch_array($rs))
{
$rawdata[$i] = $row;
$i++;
}

odbc_close( $connect );
return $rawdata;
}

@$myarray =getArraySQL($query);
echo json_encode($myarray);

HTML和getJson

<!DOCTYPE html>
<html>

<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <title></title>
  <link rel="stylesheet" href="">
  <script type='text/javascript' src='js/jquery.js'></script>
  <title></title>
</head>

<body>

  <script>
    $(document).ready(function() {
      $.getJSON('php.php', function(data) {
        $.each(data, function(key, val) {
          $('ul').append('<li Reason="' + reason + '">' + Duration + '</li>');
        });
      });
    });
  </script>



  <ul></ul>

</body>

</html>


</head>

<body>

</body>

</html>

2 个答案:

答案 0 :(得分:2)

你有错误的变量名(Duration!= Duracion),你需要将val作为一个对象来从中获取数据。

将您的JavaScript代码更改为

$.each(data, function (key, val) {
    $('ul').append('<li Reason="' + val.reason + '">' + val.Duracion + '</li>');
});

同时更改

@$myarray = getArraySQL($query);

$myarray = getArraySQL();

答案 1 :(得分:1)

解,

在循环时使用reason

而不是val.reason

还有哪些其他问题?

php.php中,您使用getArraySQL作为参数调用$query方法,但函数getArraySQL定义不接受任何参数并自行构建一些查询。

此外,您通过在@

前面附加$myarray =getArraySQL($query);来弥补错误

要研究的事情,

  • 错误抑制
  • 命名文件,php.php没有意义。它永远不会,它永远不会。