Итак, у меня есть основная база данных, где хранятся имена других баз данных. Мне нужно зациклить таблицы всех баз данных, которые хранятся в основной базе данных, в каком-то виде соединения. Мне нужен массив всех строк в базах данных станции, который имеет status != 2
с использованием PHP и MySQLi.
Основной выглядит так:
main.stations
+----+-----------------+------+
| ID | station name | db |
+----+-----------------+------+
| 1 | Name of station | db_1 |
| 2 | Name again | db_2 |
| 3 | Name | db_3 |
+----+-----------------+------+
Все три станции имеют назначенную базу данных с именем, указанным в столбце main.stations.db
В базе данных станции есть две таблицы, которые мне нужны для циклического прогиба и получения всех строк, где status != 2
. Две таблицы выглядят так (пример для db_1):
db_1.salesReport
+----+----------+--------+
| ID | name | status |
+----+----------+--------+
| 1 | Report 1 | 1 |
| 2 | Report 2 | 0 |
| 3 | Report 3 | 2 |
+----+----------+--------+
db_1.fuelReport
+----+----------+--------+
| ID | name | status |
+----+----------+--------+
| 1 | Report 1 | 1 |
| 2 | Report 2 | 0 |
| 3 | Report 3 | 2 |
+----+----------+--------+
Мой вопрос был; Есть ли способ перебрать базы данных на основе имен баз данных из другой базы данных? (Конечно, при условии, что пользователь имеет права доступа ко всем базам данных)
Я не хочу добавлять еще один слой в моем массиве на основе станций. Я хочу, чтобы каждая строка из суб-базы данных была верхним элементом, включая всю информацию от станций, в моем массиве.
Редактировать
Вывод должен выглядеть примерно так
0:{
stationID: 1
station name: Name of stations,
fromDb: salesReport //this doesn't have to be dynamically stated
name: Report 1,
status: 1
},
1:{
stationID: 1
station name: Name of stations,
fromDb: fuelReport
name: Report 1,
status: 1
},
2:{
stationID: 1
station name: Name of stations,
fromDb: salesReport
name: Report 2,
status: 0
},
3:{
stationID: 2
station name: Name again,
fromDb: salesReport
name: Report 2,
status: 0
},
и т. Д.