php中的json_编码
我有这个脚本,它工作,但不是我所期望的。我需要分配一个具有不同名称的值数组,现在所有$arr[]都命名为valorphp中的json_编码,php,javascript,ajax,json,Php,Javascript,Ajax,Json,我有这个脚本,它工作,但不是我所期望的。我需要分配一个具有不同名称的值数组,现在所有$arr[]都命名为valor {"valor":"20"},{"valor":"50"} 我需要 {"valor1":"20"},{"valor2":"50"} 剧本 $query = mysql_query("SELECT valor FROM grafico") or die(mysql_error()); $arr = array(); while($row = mysql_
{"valor":"20"},{"valor":"50"}
我需要
{"valor1":"20"},{"valor2":"50"}
剧本
$query = mysql_query("SELECT valor FROM grafico") or die(mysql_error());
$arr = array();
while($row = mysql_fetch_assoc($query)) {
$arr[] = $row;
}
echo json_encode($arr);
in ajax
<script type="text/javascript">
jQuery(document).ready(function(){
jQuery("button").click(function(){
jQuery.ajax({
url: "chart.php",
dataType: "json",
success: function(json){
var msg = "Nome: " + json.valor1+ "\n";
msg += "Sobrenome: " + json.valor2 + "\n";
alert(msg);
}
});
});
});
</script>
问题是:我需要创建一个循环来创建uniques名称,如value1、value2、value3
像
$arr['valor1']=Evandro
我尝试了一个循环,但是我得到了一个内存错误
谢谢
这是否会导致内存错误?不应该。试试这个:
$query = mysql_query("SELECT valor FROM grafico") or die(mysql_error());
$arr = array();
$i = 1;
while($row = mysql_fetch_assoc($query)) {
$arr[] = array("valor{$i}" => $row["valor"]);
++$i;
}
echo json_encode($arr);
应该有用。或者,如果要使其与当前回调一起工作,请将$arr[]=行更改为以下内容:
$arr["valor{$i}"] = $row["valor"];
除非您的查询返回的值多得难以置信。结果是[{valor1:20},{valor2:50}]?>但警报不起作用。这应该有用,对吧?你确定应该是jQuerybutton而不是jQuerybutton?此外,请尝试在回调函数的最顶部发出警报,警告中会显示valor1:undefined,valor2也是如此。谢谢这个问题是[]-[{valor1:20},{valor2:50}],但是如果我在[]中删除$arr,只显示第二个值,{valor2:50}更新了答案以处理回调。只是一个旁注——我猜,不要用西班牙语称呼你的变量valor值——它可能意味着什么。这就像叫你的狗。很明显,这是一种价值。问题是究竟是哪一种?如果是名字,就叫它名字。如果是用户详细信息,请相应地调用它,等等。
$arr["valor{$i}"] = $row["valor"];