【发布时间】:2017-10-14 08:47:13
【问题描述】:
我有一个从“SHOW tables”查询中获得的对象。不幸的是,我得到一个对象内部的数组,其名称会根据用户登录的内容而变化(例如 data[1].Tables_in_kazura)。如何访问登录的用户,或者更好地将 PHP 的结果从 Tables_in_xxx 重命名为我想要的任何内容?
$.getJSON("php/loadCategories.php", function(data) {
for (let i = 0; i < data.length; i++) {
console.log(data[i]);
}
});
这是我的 PHP
$sql = "SHOW tables";
$rows = $db->query($sql);
$length = $rows->num_rows;
$result = array();
for ($i = 0; $i < $length; $i++) {
$row = $rows->fetch_assoc();
array_push($result, $row);
}
echo json_encode($result);
echo $result 给了我:
Object { Tables_in_kazura: "drinks" }Object { Tables_in_kazura: "food" }
以及用户(这里的用户是 kazura)在他的表格中还有什么。
由于它是基于用户名的,Tables_in_USERNAME 会有所不同,我不知道如何访问其中的数据。
最佳解决方案是echo json_encode($result); 返回Object { categoryname: "drinks" } 等等,无论哪个用户登录
【问题讨论】:
-
您有任何相关代码要分享吗? (请参阅minimal reproducible example。)
-
您已经将数据结果放入输出变量中,因此您可以随意命名。因此,您可以使用 console.log('Name_whatever_you_want' + output.categories[i]) 代替 console.log(data[i])。如果我误解了您的问题,请告诉我。
-
对不起,代码 sn-p 粘贴得很差。我现在删除了所有不必要的不起作用的部分。
-
由于您的对象键是动态的,您是否在访问类别时遇到问题?如果是这样的话,看看这个 - stackoverflow.com/questions/675231/…。否则,请向我们提供预期的输出,以便您遇到问题。
标签: javascript php html mysqli