根据值从数组中检索某些行

时间:2019-02-02 20:31:48

标签: php arrays mysqli

从mysql数据库编译的数组中回显右行。

我已经提取从数据库包含三个字段(位置)的信息:ID,名称,城市成称为$数组的数组。我通过另一个数据库(事件),其中从第一数据库(位置)的ID是存储在一个领域想要循环。当循环我希望显示的位置数据库中的相应名称和城市。 不必在每个循环中都获取信息就可以吗?

这是我的第一次尝试

$query = "Select id, name, city FROM locations WHERE typ = '1'";
$result = mysqli_query($conn, $query);
$row = array();
while ($row = mysqli_fetch_assoc($result)) {
$array[] = $row;
}

然后我想我可以指定这样的关键自己:

$query = "Select id, name, city FROM locations WHERE typ = '1'";
$result = mysqli_query($conn, $query);
$row = array();
while ($row = mysqli_fetch_assoc($result)) {

$array[$row['id']] = $row;
}

但我无法弄清楚如何呼应右行权。

1 个答案:

答案 0 :(得分:1)

您可以使用以下方式在一个查询中联接两个表:

Select locations.id, locations.name, locations.city, events.name
FROM locations 
JOIN events ON locations.id = events.id
WHERE locations.typ = '1'

events.id的JOIN语句是假设这是在events表的ID的列名。我还假设这是两个表之间匹配的两个字段。相应地调整,如果你的匹配标准是不同的。

SELECT语句已修改为从两个表中提取列。添加与您的需求相关的任何字段。