我使用此功能(我可能会在此表单中包含错误,但您会得到我正在尝试做的事情)来连接并从我的数据库中获取所有数据。但是......
如何合并(强制合作)这个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();
}
}
?>
答案 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;
?>