我有这样的mysql表
表 = tbl_tst`
clm_num clm_amnt
1 - 25000
2 - 31700
5 - 52900
8 - 45000
我想像这样把那个表数据放到php数组中
$temp = array([1,25000],[2,31700],[5,52900],[8,45000]);
在我使用这段代码将 php 数组转换为 javascript 之后
var jsArray = <? echo json_encode($temp); ?>;
问题是当我运行我的代码时它什么也没有检索到。有时它正在检索“对象”:(
这是我完整的 php 代码
<?php
$con=mysql_connect("localhost","user","pass") or die("Failed to connect with database!!!!");
mysql_select_db("db", $con);
$query = "SELECT * FROM tblnum";
$result = mysql_query($query) or die(mysql_error());
$valueMap = array();
while($row = mysql_fetch_array($result)){
$valueMap[$row['clm_num'] & $row['clm_amnt']];
}
?>
<script>
var jsArray = <? echo json_encode($valueMap); ?>;
for(var i=0; i < jsArray .length; i++){
document.write("<li>"+jsArray [i]+"</li>");
}
</script>
请帮我找到这个问题。 提前致谢!
最佳答案
您应该启用 PHP 显示错误,这将告诉您在构造数组时出现错误。
<?php
## Turn on error reporting
error_reporting(-1);
ini_set('display_errors', 'On');
....
$valueMap = array();
while($row = mysql_fetch_assoc($result)){
$valueMap[$row['clm_num']] = $row['clm_amnt'];
}
?>
编辑:
我看到你请求了一种不同类型的数组:
while($row = mysql_fetch_assoc($result)){
$valueMap[] = array($row['clm_num'], $row['clm_amnt']);
}
MySQL不再维护,请开始使用MySQLI或PDO http://rudiv.se/Development/Resource/when-to-use-mysql-vs-mysqli-vs-pdo-in-php
编辑:
<?php
$temp = array(
array(1,2500),
array(2,31700)
);
?>
<ul id="list"></ul>
<script>
var json_array = <?php echo json_encode($temp, true);?>;
console.log(json_array);
var ul = document.getElementById("list");
for(i in json_array){
var li = document.createElement("li");
li.appendChild(document.createTextNode(json_array[i][0]+','+json_array[i][1]));
ul.appendChild(li);
}
</script>
关于javascript - 获取 MySql 数据到 PHP 数组并转换为 Javascript 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27329562/