将数据库数据从PHP传递到JavaScript

时间:2014-08-08 07:35:42

标签: javascript php json

我使用此功能(我可能会在此表单中包含错误,但您会得到我正在尝试做的事情)来连接并从我的数据库中获取所有数据。但是......

如何合并(强制合作)这个php文件和javascript文件,这个json将被使用?

数据var会不会跳转到索引文件中包含的其他js文件?

我应该在正确的HTML代码之后的索引中包含javascript和php文件,还是之前,或者它并不重要?

您是否知道将数据从php连接发送到javascript文件的其他方法?

<?php

parseJsonToJs();

function parseJsonToJs(){
     try
     {
        $pdo = new PDO('mysql:host=localhost;dbname=sklep_db', 'root', '');
        $sth = $pdo->prepare("SELECT nazwa, logo FROM sklep");
        $sth->execute();
        $result = $sth->fetchAll(); /* bez PDO::FETCH_NUM */

        $json=json_encode($result);
?>
<script src="app-display.js"></script>
<script type="text/javascript">
    $(document).ready(function(){
    <?php  echo 'var data = '.$json; ?>
    console.log(data);
    };
</script>
<?php
        echo 'dziala';
    }
    catch(PDOException $e)
    {
       echo 'nie dziala, error: ' . $e->getMessage();
    }
 }

 ?>

1 个答案:

答案 0 :(得分:4)

  

您知道从php连接发送数据库数据的其他方法吗?   javascript文件?

最好的方法是将php代码包含在一个单独的文件中。在javascript中向你发送一个AJAX调用php-service并询问数据,就像这样。

javascript(注意我在这里使用jQuery):

$.ajax({
    type: 'POST',
    url: 'myFile.php',
    success: function(result) {
        var jsonData = JSON.parse(result);
        // do something with the jsonData
    }
});

php

<?php
    $dbh = new PDO('mysql:host=localhost;dbname=dbname', 'user', 'password');
    $dbh->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, 1);

    $stmt = $dbh->prepare('SELECT * FROM myTable');
    $stmt->execute();

    $result = $stmt->fetchAll();
    $json=json_encode($result);
    echo $json;
?>