gpt4 book ai didi

php - 如何在javascript中使用从数据库返回的行中的数据

转载 作者:搜寻专家 更新时间:2023-10-30 20:20:58 25 4
gpt4 key购买 nike

我需要使用 Javascript 从数据库表中获取一些行,然后遍历每一行并使用每一行的不同字段。

例如,如果我得到这样的行:

var coordinatesArray = '<?php
global $wpdb;
echo $wpdb->get_var("SELECT * FROM users_coordinates WHERE lat>20 and lat<40 and long>-10 and long<40);
?>';

下面的代码应该怎么写:

// for each row do: {
// alert the id field
// alert the lat field
// alert the long field
// }

最佳答案

JSON 是放入输出的方式,可确保结果是有效的 JavaScript 并保护您免受 JS 中任意代码执行的影响。

var coordinatesArray = <?php
global $wpdb;
// replace * by id, lat and long since you don't need other fields
$sql = "SELECT id, lat, long FROM users_coordinates WHERE lat>20 and lat<40 and long>-10 and long<40";
$rows = $wpdb->get_results($sql);
// if the function fails (?), make valid JS syntax
if (is_array($rows)) {
echo json_encode($rows);
} else {
echo '[]';
}
?>;
for (var i=0; i<coordinatesArray; i++) {
alert(coordinatesArray[i].id);
alert(coordinatesArray[i].lat);
alert(coordinatesArray[i]["long"]);
}

另一种方法是创建一个 JS 对象,将 id 字段作为 JS 对象的键:

var coordinatesMap = <?php
global $wpdb;
// replace * by id, lat and long since you don't need other fields
$sql = "SELECT id, lat, long FROM users_coordinates WHERE lat>20 and lat<40 and long>-10 and long<40";
// note: OBJECT_K, the result will be an associative array with the first field of a
// row as key
$rows = $wpdb->get_results($sql, OBJECT_K);
// if the function fails (?), make valid JS syntax
if (is_array($rows)) {
echo json_encode($rows);
} else {
echo '{}';
}
?>;
for (var id in coordinatesMap) {
if (coordinatesMap.hasOwnProperty(id)) {
alert(id);
alert(coordinatesMap[id].lat);
alert(coordinatesMap[id]["long"]);
}
}

请用其他东西替换alert,这对用户来说不是很友好。请记住 PHP != JavaScript 并且您不能在 JavaScript 中使用 PHP 函数,反之亦然。如果您不确定输出结果如何,请使用页面的查看源代码选项。

引用资料:

关于php - 如何在javascript中使用从数据库返回的行中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6166679/

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