Добавление сортировки и разбиения на страницы к данным из разных БД с использованием php или mysql - PullRequest
0 голосов
/ 13 мая 2011

Моя задача - взять данные из разных баз данных на разных серверах и отобразить их на одной веб-странице. Я работаю в Joomla и могу получать данные из баз данных, используя отдельные запросы для каждой базы данных. Но проблемаявляется то, что мне нужно дать сортировку и нумерацию страниц на этой веб-странице.Как я могу сделать это без каких-либо проблем с производительностью, так как все базы данных содержат много данных.Или я могу использовать один SQL-запрос для этого ??

Ответы [ 2 ]

0 голосов
/ 02 августа 2011

Чтобы сделать то, что вы описываете в Joomla, я бы порекомендовал расширение Fabrik .Он позволяет создавать довольно сложные интерфейсные визуализации и табличные представления данных базы данных, а также формы поиска и одностраничные табличные представления, которые имеют удобные элементы управления упорядочением / сортировкой / фильтрацией по столбцам.

Что еще более важно,Fabrik позволяет вам устанавливать соединения с несколькими базами данных.После настройки всех соединений с базой данных в Fabrik вы можете затем импортировать и настроить эти таблицы в бэкэнде Fabrik, и после этого все они будут обрабатываться одинаково в других частях административного интерфейса.

Другими словами, вы можете создавать интерфейсные табличные представления или формы поиска в бэкэнде Fabrik, которые могут выполнять такие операции, как объединение таблиц в нескольких соединениях с базой данных или предварительную фильтрацию наборов результатов таблицы из одной базы данных, используя данныехранится в другой базе данных (помимо прочего), и Fabrik позаботится о создании и закрытии необходимых вам соединений с базой данных.

0 голосов
/ 13 мая 2011

Вы можете использовать параметр GET для пропуска страницы, которую вы хотите просмотреть, и с этого момента будет рассчитано смещение.

$page = (isset($_GET['page']))? (int)$_GET['page']: 1;

$per_page = 25;

$offset = ($page-1) * $per_page; // you will have to improve this

$sql = "SELECT * FROM table 
       WHERE (condition)
       LIMIT {$offset},{$per_page}";

$result = mysql_query($sql) or die('Error : '.mysql_error());

Вам нужно будет интегрировать его с вашим кодом, чтобы сделатьэто работает лучше, конечно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...