gpt4 book ai didi

php - 使用 jquery 从 PHP/MySQL 查询中获取 JSON 数据到 html 标签中

转载 作者:行者123 更新时间:2023-11-29 04:28:06 24 4
gpt4 key购买 nike

大家好,我是 stackoverflow 的新手,也是 Jquery 的新手

好吧,希望我能让自己明白。这就是我想要的:我已经使用 PHP 类对我的 MySQL 数据库进行了查询

public function User($id) {
$this->connect_db_web($conn);
$sql = mysql_query("SELECT * FROM users WHERE id='".$id."'");
while ($values = mysql_fetch_array($sql)) {
$arr[]=array(
'id'=>$values['idUsers'],
'name'=>$values['name'],
'name2'=>$values['name2'],
'lname'=>$values['lname'],
'lname2'=>$values['lname2'],
'email'=>$values['email'],
'phone'=>$values['phone'],
'address'=>$values['address'],
'bday'=>$values['bday'],
'password'=>$values['password']
);
}
echo '{"user":'.json_encode($arr).'}';
}

然后我有一个调用此函数的 php 代码

$name = $user->User($id);

我认为这可以正常工作(如果我错了请帮忙)。现在我真正想做的是从 JSON 数组中获取值到特定的 div 中,例如:

$.getJSON("user.php",function(data){
$.each(data.user, function(i,user){
name = user.name;
$(name).appendTo('#getname');
});
});

在我的 HML 中,我有一个 <p id="getname"></p>这是我想要显示值的标签

但是没有显示任何值,为什么?我哪里做错了?

谢谢你的帮助,我很感激

最佳答案

您的 JSON 格式不正确。您正在附加一堆对象 {.1.}{.2.}{.3.}。相反,请尝试 {"users":[{.1.},{.2.},{.3.}]}

在 PHP 中,您将执行类似的操作(请注意,我通过添加 callback 参数将响应类型更改为 JSON-P 而不是 JSON):

public function User($id) {
$users = array();

$this->connect_db_web($conn);
$sql = mysql_query("SELECT * FROM users WHERE id='".$id."'");
while ($values = mysql_fetch_array($sql)) {
$users[] = array(
'id'=>$values['idUsers'],
'name'=>$values['name']
// etc.
);
}
$obj['users'] = $users;

$callback = (empty($_GET["callback"])) ? 'callback' : $_GET["callback"];
echo $callback . '(' . json_encode($obj) . ');';
}

然后你就可以做到:

$.getJSON("user.php?callback=",function(data){
$.each(data.users, function(i,user){
$('#getname').append(user.name);
});
});

关于php - 使用 jquery 从 PHP/MySQL 查询中获取 JSON 数据到 html 标签中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7321586/

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