gpt4 book ai didi

php - MYSQL 数据 -> PHP 数组 -> Javascript(或 Jquery) 如何使用 JSON 传递数据?

转载 作者:行者123 更新时间:2023-12-01 07:35:11 25 4
gpt4 key购买 nike

我正在开始一个新网站(这是我的第一个网站),但我遇到了大麻烦!我写了这段代码

<?php
include("misc.inc");
$cxn=mysqli_connect($host,$user,$password,$database) or die("couldn't connect to server");
$query="SELECT DISTINCT country FROM stamps";
$result=mysqli_query($cxn,$query) or die ("couldn't execute query");
$numberOfRows=mysqli_num_rows($result);

for ($i=0;$i<$numberOfRows;$i++){
$row=mysqli_fetch_assoc($result);
extract($row);
$a=json_encode($row);
$a=$a.",";
echo $a;
}
?>

输出如下:

{"country":"liechtenstein"},{"country":"romania"},{"country":"jugoslavia"},{"country":"polonia"},

这应该是正确的 JSON 输出...

我现在如何在 Jquery 中获取它?我尝试过

$.getJSON 

但我无法正确融合它。我还不想将数据传递到 DIV 或 HTML 中的类似内容。

作为更新,Andres Descalzo 的代码可以工作!

<?php
include("misc.inc");
$cxn=mysqli_connect($host,$user,$password,$database) or die("couldn't connect to server");
$query="SELECT DISTINCT country FROM stamps";
$result=mysqli_query($cxn,$query) or die ("couldn't execute query");
$numberOfRows=mysqli_num_rows($result);

echo "{data: [";
for ($i=0; $i<$numberOfRows; $i++){
$row=mysqli_fetch_assoc($result);
extract($row);
$a = (($i!=0)?",":"") . json_encode($row);
echo $a;
}
echo "]}";
?>

输出正确,如下:

{data: [{"country":"liechtenstein"},{"country":"romania"},{"country":"jugoslavia"},{"country":"polonia"}]}

如何使用 $getJSON

语法是可以的

$.getJSON( url, [ data ], [ callback(data, textStatus) ] )

URL 是上面提到的 PHP 文件,但是 [data] 和回调函数?

最佳答案

这不是正确的 JSON。如果元素用方括号括起来(表示数组),则正确的做法是:

[{"country":"liechtenstein"},
{"country":"romania"},
{"country":"jugoslavia"},
{"country":"polonia"}]

您可以首先从数据库中获取数组中的所有元素,然后对该数组进行编码:

$elements = array()

for ($i=0;$i<$numberOfRows;$i++){
$elements[]=mysqli_fetch_assoc($result);
}

echo json_encode($elements);

这应该可以工作(在 jQuery 中使用 $.getJSON())。

更新: .getJSON() 示例:

$.getJSON('/path/to/php_file', function(data) {
// something with data which is of form
// data = [{'country': '...'}, {...}, ...]
//e.g.
alert(data[0].country);
});

关于php - MYSQL 数据 -> PHP 数组 -> Javascript(或 Jquery) 如何使用 JSON 传递数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2739160/

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