#php
#php
Вопрос:
Я должен поместить данные на страницу php из баз данных, которые находятся на отдельных хостах. Единственное обходное решение, о котором я могу подумать, — это получить данные из обеих баз данных в массив и затем отобразить их. Что делать, если массив многомерный? Как объединить данные из двух баз данных на двух разных хостах в PHP? Я использую PHP5.
Особенности: я работаю над механизмом бронирования. Для каждого штата есть страницы бронирования и базы данных для каждого из них на разных хостах.Я работаю над созданием своего рода сводной страницы для персонала, на которой отображаются заказы, сделанные для всех штатов на одной странице. Им это нужно для внутреннего использования. Таблица бронирования в каждой базе данных имеет одинаковое количество строк. Мне нужно знать, как объединить массивы, полученные из этих баз данных, а затем отобразить их на одной веб-странице.
Комментарии:
1. вам нужно подключиться к обоим хостам и получать данные с каждого, а затем манипулировать ими по своему усмотрению
2. это очень общий вопрос и, следовательно, общие ответы. Чем больше подробностей вы публикуете в своем вопросе, тем более конкретными будут ответы. Например. результат, на который вы надеетесь, используемые массивы / переменные, имена серверов, столбцы mysql и т. Д
Ответ №1:
1) Подключиться к первой базе
данных 2) Получить и сохранить данные в массиве
3) Подключиться ко второй базе
данных 4) Получить и сохранить данные в том же массиве
5) Перебирать массив и отображать результаты
Ответ №2:
Вы можете подключить первую базу данных с помощью
$link1 = mysql_connect('dbserver1', 'mysql_user1', 'mysql_password1');
and select
$db_selected = mysql_select_db('foo1', $link1);
и подключите вторую базу данных с помощью
$link2 = mysql_connect('dbserver2', 'mysql_user2', 'mysql_password2');
and select
$db_selected = mysql_select_db('foo2', $link2);
и вы можете объединить результат в массив, чтобы показать его.
Комментарии:
1. Проблема в том, что у меня есть многомерный массив, который извлекается. я использую запрос, который выглядит примерно так… Выберите booking_date, name,airport из booking, чтобы получить данные из обеих баз данных. Есть идеи относительно того, как объединить выбранный массив?
2. Я думаю, array_merge достаточно <?php $a = array(1=>’белый’, 2=>’красный’, 3=>’желтый’); $б = массив(1=>’авокадо’, 2=>’яблоко’, 3=>’банан’); $с = array_merge((массив)$а (массив)$б); print_r($с); ?>
Ответ №3:
Прежде всего, вы не упомянули имя базы данных, которое вы используете. Я предполагаю, что это будет MySQL. Теперь есть / есть ли какие-то реляционные поля …?
Другой способ, хотя он может быть расплывчатым, но возможен, заключается в том, что вы можете заполнить ФИКТИВНУЮ таблицу таблицей Database1, а затем обновить ту же таблицу таблицей Database2. Затем у вас есть обе таблицы DB, объединенные, что довольно легко отобразить с помощью PHP… Вам понадобится 2 соединения, 2 запроса для их объединения..
Например, conn1 для DB1 и conn2 для DB2.
Также вы можете использовать имя схемы, если позволяет ваша БД.