javascript - 如何从数组中获取具有确切 ID 的表中的产品?
问题描述
我有一个包含产品的 sql 表,但我不知道如何使用带有 id 的数组检索多个产品
我知道如何检索所有这些产品,并且只有一个使用 id
JSON 与来自 sql 的所有产品
function loadGoods(){
$conn = connect();
$sql = "SELECT * FROM PRODUCTS";
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0) {
$out = array();
// output data of each row
while($row = mysqli_fetch_assoc($result)) {
$out[$row["id"]] = $row;
}
echo json_encode($out);
} else {
echo 0;
}
mysqli_close($conn);
}
JSON 与一种产品使用其在 js 文件中从散列接收的 id
function loadSingleGoods(){
$id = $_POST['id'];
$conn = connect();
$sql = "SELECT * FROM PRODUCTS WHERE id='$id'";
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0) {
$row = mysqli_fetch_assoc($result);
echo json_encode($row);
} else {
echo 0;
}
}
这两个片段都在工作,现在我有带有 id 的数组,但我不知道如何从 JSON 文件中的 sql 只检索它们的属性。
我有像这样 ["6", "7", "27"] 的 id 数组,我需要从 sql PRODUCTS 中仅检索具有这些 id 的项目。据我了解,我必须对这条线做点什么
$sql = "SELECT * FROM PRODUCTS WHERE id='$id'";
我试过这样的代码
$sql = "SELECT * FROM PRODUCTS WHERE in_array("id", $ids, TRUE);
但它没有用
解决方案
如果您也向我们展示您的 JavaScript 将会很有帮助,但假设您将 的输出输入json_encode()
到单个变量中,您可以像这样访问每个产品:
console.log(json_variable[0]);
那应该给你第一个“行”。要访问特定单元格,请尝试以下操作:
console.log(json_variable[0]['column_name']);
要通过所有这些,请尝试使用 jQuery 的each()
:
$.each( json_variable, function( id, column_name) {
console.log( id + ": " + column_name);
});
推荐阅读
- c - Missing declaration for object definition (Rule MisraC2012-8.4)
- r - 在 R 中运行 pROC 时出错:响应和预测变量必须是相同长度的向量
- mysql - 使用mysql按升序获取12小时时间
- haskell - optparse-applicative 解析器由于部分输入被消耗而失败
- asp.net-core - .net core 3 注册 ApplicationDbContext 以进行依赖注入时出现问题
- r - 由于 windowsFonts() 在 Mac 上出现针织错误
- jestjs - 笑话:如何在特定测试中使用真实模块?
- python - 使用python中的字典计算变量中的字母数
- css - 绝对或固定定位不适用于引导程序和 css
- python - Conda:如果无法访问 conda 通道,如何忽略?忽略 UnavailableInvalidChannel?