2012-07-30 134 views
0

我在服务器端有一个Postgresql数据库。我想加载数据以便在HTML网页上显示。我将如何去能够访问JavaScript中的这些数据?那里有教程吗?这似乎是一件普通的事情,但目前为止我似乎无法找到如何去做。我确实发现了一些关于使用php和node.js来做到这一点的stackoverflow问题,但我似乎无法得到这个工作。 PHP似乎是最简单的方法,我从另一个问题复制了一些代码,但它似乎并不奏效。如何将PostgreSQL数据加载到HTML/JS中

var patientData = []; 
    var patient_id = 8; 

    <?php 
      $connection = pg_connect("connectstuff"); 

      if(!$connection) 
      { 
        pg_close($connection); 
      } 

      $result = pg_query($connection, "query"); 
      if (!$result) 
      { 
        exit; 
      } 

      $row = pg_fetch_row($result, 0); 

      echo "patientdata = $row;"; 
      echo "alert('asdf')"; 
    ?> 

警报甚至没有显示,所以我不认为PHP代码甚至运行。

回答

0

检查生成的页面的来源,并确保您输出$row值是实际合法有效的JavaScript。例如。如果它是代表一行数据的数组,php实际上将输出Array,而不是该行的某个值。

除此之外,当使用PHP动态构建JavaScript时,您应始终使用json_encode()来确保您插入到JavaScript中的PHP变量以有效的javascript形式出现。在插入数据丝丝点点语法错误会杀死整个JS代码块,你会最终你现在在哪里 - 为什么它死了一个不正常的页面,并没有想到:

patientdata = <?php echo json_encode($row) ?>; 

会100%保证无论你插入JS代码不会导致解析器错误。数据是否真的可以与你的代码一起工作是另一回事,但至少脚本不会在解析阶段被杀死。

+0

好吧,为了确保我的设置没有错,现在整个代码块都在.js文件中,应该可以工作,对吧?我没有与json_encode的东西有任何区别。警报仍然不显示,现在我的代码的其余部分也不会运行。另外,我将如何去在PHP代码中使用js变量? – xhassassin 2012-07-30 16:45:30

+0

js在客户端上运行,php在服务器上运行。除了通过ajax调用或在页面生成时,您不能访问其他任何一个。 – 2012-07-30 16:50:18

0

我会建议您使用PHP来查询数据库,建立一个本地数组或数据结构,并将其转换为JSON,您将返回到Javascript文件。查看http://php.net/manual/en/function.json-encode.php以进行PHP/JSON处理。我假设你的Javascript试图通过AJAX请求访问数据,但是你还没有给出足够的安装细节来确定吗?

相关问题