Вход • Регистрация

Возможность вывода информации из другой БД через diafan

  • 26 января 2013 г. , редакция: 26 января 2013 г.
  • То есть, планируется создание блоков модулей для вывода последних торрентов с картинками-постерами из другой БД для отображения их в диафане. на что нужно опираться в данном вопросе? курить мануалы? спасибо
    • 26 января 2013 г.
    • Я думаю этого хватит http://cms.diafan.ru/dokument/full-manual/examples/bd/
      • 29 января 2013 г.
      • спасибо за совет.. протестировал и пришел к выводу, что в случае с комментами все не так просто (изменялась ли структура бд в связи с новой версией?) - пустое тело выдается..
        • 29 января 2013 г.
        • Вы же из другой базы забираете что-то, если она никак не относится к diafan то нужно поля и таблицы чётко указывать.
          Например не {comments}, а tl_content
          плюс надо обратно приконектится к своей базе после того как забрали данные из чужой базы.
          Всё остальное работает - родное диафановское (функции для работы с БД).
          • 29 января 2013 г.
          • я как раз имел в виду пример - комментарии из диафана
            • 29 января 2013 г.
            • Я понял ровно как в заголовке написано.
              Цитата
              Возможность вывода информации из другой БД

              Из другой базы - значит не из той с которой по умолчанию CMS работает.
  • 29 января 2013 г.
  • извините, просто на данный момент ан сайте было ни одного коммента)
  • 29 января 2013 г.
  • вот смастерил функцию на вывод из сторонней БД инсайд в диафан:
    Код
    public function show_last_torrents()
    {
    /* Соединяемся с базой данных */
    $hostname = "localhost"; // название/путь сервера, с MySQL
    $username = "*****"; // имя пользователя
    $password = "*****"; // пароль пользователя
    $dbName = "database"; // название базы данных

    /* Таблица MySQL, в которой хранятся данные */
    $table = "torrents";

    /* Создаем соединение */
    mysql_connect($hostname, $username, $password) or die ("Не могу создать соединение");
    mysql_query ('SET NAMES utf8'); // т.к. база торрентов в кодировке cp1251 - конвертируем вывод в utf8

    /* Выбираем базу данных. Если произойдет ошибка - вывести ее */
    mysql_select_db($dbName) or die (mysql_error());

    /* сам запрос для выборки из таблицы torrents */
    $query = "SELECT torrents.*,torrents.image1 AS kartinko, categories.id AS catid, free, SUM(trackers.leechers) AS leechers1, SUM(trackers.seeders) AS seeders1, torrents.leechers, torrents.seeders, categories.name AS catname, categories.image AS catimage, trackers.tracker AS local, users.username, users.class FROM torrents LEFT JOIN users ON torrents.owner = users.id LEFT JOIN categories ON torrents.category = categories.id LEFT JOIN trackers ON torrents.id=trackers.torrent WHERE category <> 0 AND category = 17 and banned = 'no' GROUP BY torrents.id ORDER BY added DESC LIMIT 5";

    /* Выполняем запрос. Если произойдет ошибка - вывести ее. */
    $res = mysql_query($query) or die(mysql_error());

    /* Выводим данные из таблицы */
    echo ("
    <h1>Новые VIP торренты;)</h1>
    <table border=\"0\" cellpadding=\"2\" cellspacing=\"2\">
    <tr style=\"border: solid 1px #000\">
    ");

    /* Цикл вывода данных из базы конкретных полей */
    while ($row = mysql_fetch_array($res)) {

    $text = $row['name'];
    echo "<td valign=top><a href=http://tracker.dxp.ru/torrent-$row[id]><img style=\"width: 150px; height: 200px;\" class=\"corner iradius10\" src=\"http://tracker.dxp.ru/torrents/images/$row[kartinko]\"><br>$text</a></td>\n";
    }

    echo ("</tr>\n</table>\n");

    /* Закрываем соединение */
    mysql_close();


    }


    след. этап - как прикрутить кеширование в данной функции? вот думаю: выдирать функции из соседних модулей по подобию или же делать полноценный модуль?
    с уважением.

Новости

  • 24 апреля, среда
  • В новой сборке совершили революцию в структурировании кастомизированной информации в шаблонах, добавили авторегистрацию пользователей, усовершенствовали защиту от спама, актуализировали накопительную скидку, а также улучшили производительность и стабильность работы системы.
  • 12 января
  • После выхода сборки 7.1 мы выпустили уже три патча, в каждом из которых улучшаем административную часть сайта. Сборка DIAFAN.CMS 7.1.3 уже доступна к установке. 
  • 15 декабря 2023 г.
  • Подводим итоги 2023 года. Выпустили новую сборку DIAFAN.CMS 7.1.1, вводим новые тарифы на аренду сайта и коммерческую поддержку и автообновления с января 2024 г., строим планы на будущий год.