【发布时间】:2016-08-20 14:38:37
【问题描述】:
搜索这个问题的解决方案已经有一段时间了,似乎很多人都在问同样的问题。不过还没有找到一个好的答案。
我想做什么: 我有一个名为“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]";
}
?>
【问题讨论】:
-
你有没有想过使用 Ajax 来代替?直接通过 PHP 获取数据会使嵌入式脚本的大小变大,从而增加带宽使用和加载时间。将 Ajax 请求运行到返回 JSON 值的一端会更容易,然后您可以使用 Ajax 回调来处理它。
-
好点。是的,我从今天开始,现在正试图让这个例子(Nehas 回复)工作:stackoverflow.com/questions/16707648/…
标签: javascript php mysql arrays