gpt4 book ai didi

javascript - 将 Mysql 结果传递给 JSON

转载 作者:行者123 更新时间:2023-11-29 02:57:07 25 4
gpt4 key购买 nike

有人可以帮我解决一个小问题,并解释一下哪里出了问题吗?我想做的是从 MySQL 查询返回结果,并通过 JSON 传递它并显示值。到目前为止我得到的如下:

$qry = "SELECT first_name, last_name FROM user_profile";
$result = mysql_query($qry);

while($row = mysql_fetch_array($result)) {
$name = $row['first_name'];
}

我目前遇到错误。

JSON.parse: unexpected character at line 1 column 1 of the JSON data

<div id="profile">
<div id="photo-frame">
<img class="circle" src="images/photo.jpg">
</div>
<h3 id="name"></h3>
</div>

<script type="text/javascript">

var text = <?php echo json_encode($name)?>;
var obj = JSON.parse(text);
$('#name').text(obj.name);

</script>

最佳答案

没有任何 WHERE 子句的 SQL 查询“SELECT first_name, last_name FROM user_profile”可能会返回一维或二维数组。当您使用 json_encode 对结果进行编码时,一维和二维数组的 JSON 字符串格式会有所不同。它会在 Javascript 部分引起头痛

因此,如果这是针对单个配置文件的 - 不要使用 JSON

PHP

$qry = "SELECT first_name, last_name FROM user_profile WHERE id = $id";
$result = mysql_query($qry);
if (mysql_num_rows($results) == 1) {
while($row = mysql_fetch_array($result)) {
$name = $row['first_name'];
}
}

如果这是针对多个配置文件

PHP

$qry = "SELECT first_name, last_name FROM user_profile";
$result = mysql_query($qry);
if (mysql_num_rows($results) > 0) {
$jsonData = [];
$jsonData['profiles'] = mysql_fetch_array($result)
json_encode($jsonData, JSON_FORCE_OBJECT);
}

HTML、JavaScript 和 JQUERY

<div id="profile"></div>

<script>
$(document).ready(function() {
var data = <?php echo $jsonData;?>;
$.each(data.profiles, function() {
$('#profile').append(
'<div id="photo-frame">' +
'<img class="circle" src="images/photo.jpg">' +
'</div>' +
'<h3 id="name">' + this.first_name + '&nbsp;' + this.last_name + '</h3>' +
'<hr/>'
);
}
}
</script>

关于javascript - 将 Mysql 结果传递给 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29584002/

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