gpt4 book ai didi

javascript - 使用 Ajax 将 PHP 嵌入到 javascript 中,以便将 MySQL 数据存储在 javascript 对象中

转载 作者:行者123 更新时间:2023-11-29 05:13:02 26 4
gpt4 key购买 nike

在谷歌上搜索了这个问题的解决方案已经有一段时间了,似乎很多人都在问同样的事情。还没有找到有效的好答案。

我想做的:我有一个名为“fruitStand”的简单数据库。它有一个名为“fruitTable”的表,其中包含两列:

**fruit**   **cost**
apple 5
pear 4
banana 2
orange 6

我可以使用 PHP 脚本轻松获取行并将结果直接显示在屏幕上。但是,我希望能够将结果放入我的 javascript 数组中,以便我可以基于它构建一些图表。

经过考虑this post ,我决定使用 Jquery Ajax 将 HTML/javascript 代码与 PHP 代码粘合在一起。我将下面的两个文件(index.html 和 getData.php)与数据库一起使用。当我点击“获取数据!”时,这会生成以下 HTML 输出。按钮:

apple5pear4banana2orange6

现在进入实际问题:我如何修改代码以便能够以 js 数组/对象形式返回结果?我希望它看起来像这样:

array1 = ["apple", "pear", "banana", "orange"]
array2 = [5,4,2,6]

最终目标是在绘制交互式图表时使用这些数组(稍后将添加按钮来选择水果/成本)。

index.html 文件:

<html>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<script type="text/javascript">

$(document).ready(function() {
$("#display").click(function() {
$.ajax({
type: "GET",
url: "getData.php",
dataType: "html",
success: function(response){
var store = $("#responsecontainer").html(response);
}
});
});
});
</script>

<body>
<table border="1" align="center">
<tr>
<td> <input type="button" id="display" value="Get data!" /> </td>
</tr>
</table>
<div id="responsecontainer" align="center"></div>
</body>
</html>

PHP 文件:

<?php
mysql_select_db('fruitStand',$con);
$result=mysql_query("select * from fruitTable",$con);

$con=mysql_connect("localhost","root","password");
if (!$con){
die('Could not connect: ' . mysql_error());
}

while($data = mysql_fetch_row($result)){
echo "$data[0]";
}
?>

最佳答案

如果我想将一组数据从 php 共享到 Javascript,我会使用 JSON。

格式化你希望它在php中使用的数组,然后使用json_encode php方法将php数组转换为JSON。

在js中,使用JSON.parse将JSON解码为Javascript对象。

<html>
<head>
<script src="http://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
</head>

<body>
<?php $phpArray = array(); ?>
<?php $phpArray = array(array('fruit' => 'green', 'cost' => 10), array('fruit' => 'blue', 'cost' => 9),array('fruit' => 'red', 'cost' => 8), array('fruit' => 'yello', 'cost' => 7));?>



<script>
var fruit = [];
var cost = [];

var jsString = '<?php echo json_encode($phpArray);?>';
var jsArray = JSON.parse(jsString);
for(var i in jsArray){
fruit[i] = jsArray[i]['fruit'];
cost[i] = jsArray[i]['cost'];
}
console.log(fruit);
console.log(cost);
</script>

预期的控制台输出:

["green", "blue", "red", "yello"]
[10, 9, 8, 7]

关于javascript - 使用 Ajax 将 PHP 嵌入到 javascript 中,以便将 MySQL 数据存储在 javascript 对象中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36870492/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com