我正在构建一个基于 JqueryMobile 的混合应用程序。现在我试图获取一个简单的数组,其中包含我从 mysql 表中选择的类别。我看到了很多与此相关的问题,并厌倦了一千个解决方案,但没有任何效果。
这是我所拥有的:
PHP 代码:
$sql=mysql_query("SELECT Tipo FROM tfc_db.Category ");
$id=array();
while($row = mysql_fetch_assoc($sql)) {
$id[] = $row;
//$id[] = $row['Tipo']; doesn't work either
}
echo json_encode($id);
mysql_close($conn);
这样我得到空白结果。
我得到的最接近的是这个:
$id=array();
$i=0;
while ($row = mysql_fetch_assoc($sql)) {
$id[] = array("data$i" => $row['Tipo']);
echo json_encode($id[$i]);
$i++;
}
结果:
{"data0":"Restaurantes"}{"data2":"Shopping"}{"data3":"Eventos"}{"data4":"Hoteis"}{"data5":"Oficinas"}{"data6":"Combustiveis"}
但这显然是错误的,因为它有多个 json_encode 调用。
我试图用 Jquery 的 .$get 来获取它
<script type="text/javascript">
var inicio=function(argument){
$("#submit").click(function(e){
e.preventDefault();
$.get('http://myurl/get_category.php',{
},function(answer){
alert(answer.length+" "+answer); //trying to know whats happening with the data.
for (var i = 0; i < answer.length; i++) { //my final objective is to fill a listview.
$('#list').append("<li> <h3>"+answer.tipo+"</h3></a></li>");
}
$('#list').listview('refresh');
},"json"
);
});
}
$(document).on('ready',inicio);
</script>
正如我所说,我搜索了许多问题和解决方案,但总是得到空值。我对 PhP 没有太多经验,这是我学习 JqueryMobile 并获得经验,所以..这里有问题,我看不到..
谢谢。
最佳答案
在此处找到解决方案 post 数据库上的所有内容都必须设置为 UTF-8 或 utf8mb4,现在它终于可以工作了。感谢大家的帮助:)
关于javascript - PHP 无法将所选表中的数组填充到 json_encode 并在 javascript 上接收它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27076287/