如何将PostgreSQL数据加载到HTML / JS中

时间:2012-07-30 16:02:36

标签: php javascript postgresql

我在服务器端有一个Postgresql数据库。我想在其上加载数据以便在HTML网页上显示。我如何才能在javascript中访问这些数据?那里有没有教程?看起来这已经是常见的事情,但到目前为止,我似乎无法找到如何做到这一点。我确实发现了一些关于使用php和node.js来做的stackoverflow问题,但我似乎无法实现这一点。 php似乎是最简单的方法,我从另一个问题复制了一些代码,但似乎没有用。

    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代码甚至没有运行。

2 个答案:

答案 0 :(得分:0)

我建议您使用PHP查询数据库,构建本地数组或数据结构并将其转换为JSON,然后返回Javascript文件。查看http://php.net/manual/en/function.json-encode.php以获取PHP / JSON处理。我假设你的Javascript试图通过AJAX请求访问数据,但是你没有提供足够的设置细节以确定?

答案 1 :(得分:0)

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

除此之外,当使用PHP动态构建javascript时,你应该总是使用json_encode()来确保你插入到javascript中的PHP变量是有效的javascript。插入数据中最轻微的语法错误将终止整个JS代码块,你最终会到达现在的位置 - 一个功能失常的页面,不知道它为什么会死掉:

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

将100%保证您插入JS代码中的任何内容都不会导致解析器错误。数据是否真的可以与您的代码一起使用是另一回事,但至少脚本不会在解析阶段被杀死。