php - 显示与数据库数据匹配的某些数组数据

标签 php mysql arrays

这几天我一直在努力解决这个问题。问题是我有一个表单,可以将数据输入 MySQL 数据库表并将该数据链接到服务 ID。该表包含 3 列:idserviceiddata。我还有一个数组(使用 json API),它输出 data 下的所有项目(未链接到服务 ID)。我想要做的是将服务 ID 与数据进行匹配,然后仅显示数组中的特定数据。

简而言之,如果我正在查看服务 #186,它具有我希望能够从数组(而不是数据库)中提取的 2 组数据。它应该只拉取与表列 data 与数组项 匹配的数组项([0][2]) [“名称”]

+------------+------------+
|编号|服务编号 |数据
+------------+------------+
| 3 | 186 | 186更多 |
| 2 | 185 | 185还不够|
| 1 | 186 | 186数据5 |
+------------+------------+

array {
  ["data_bits"]=>
  array(5) {
    [0]=>
    array(3) {
      ["name"]=> "Data5"
      ["info"]=> "some info"
      ["comment"]=> "cool beans"
    }
    [1]=>
    array(3) {
      ["name"]=> "NotEnough"
      ["info"]=> "some cool info"
      ["comment"]=> "warm beans"
    }
    [2]=>
    array(3) {
      ["name"]=> "SomeMore"
      ["info"]=> "some bad info"
      ["comment"]=> "hot beans"
    }
  }

目前,我的 SQL 查询将选择具有服务 ID 的项目。

$get = $pdo->prepare("SELECT data FROM table WHERE serviceid=:serviceid");
        $get->bindParam(':serviceid', $serviceid, PDO::PARAM_STR);
        $get->execute();
        $data_array = array();
        while ($db_data = $get->fetch()) {
            $data_array[] = $db_data[0];
        }

如果我在 foreach 语句中echo $data_array[0];,它会显示与当前服务相关的所有数据。

抱歉,如果这没有多大意义。这让我发疯。如果您需要更好的解释,我会尽力澄清。

最佳答案

您可以在 $data_bits 数组中搜索,以查找具有作为查询结果之一的 name 属性的子数组。

$get = $pdo->prepare("SELECT data FROM table WHERE serviceid=:serviceid");
$get->bindParam(':serviceid', $serviceid, PDO::PARAM_STR);
$get->execute();
$result = $get->fetchAll();

$search_values = array();
$wanted_data = array();

foreach($result as $row) {
    $search_values[] = $row['data'];
}

foreach($data_bits as $key => $value) {
    if (in_array($value['data'], $search_values)) {
        $wanted_data[] = $data_bits[$key];
    }
}

关于php - 显示与数据库数据匹配的某些数组数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33818599/

相关文章:

php - 法尔康 PHP : Update a primary natural key

phpMailer:向多个收件人发送电子邮件

javascript - 按键组合对象数组

javascript - 有没有更有效的方法来写这个?

php - 让 AJAX 多文件上传正常工作

php - 选中复选框的CSS

MySQL 查询命令从单元格中获取值

c# - 将二维数组的二维数组转换为单个二维数组

php - 对 3 维数组进行排序

php - jquery mobile 不会触发 pageinit 或 ready