Jump to content
View in the app

A better way to browse. Learn more.

IPBMafia.ru - поддержка Invision Community, релизы, темы, плагины и приложения

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Как подключить внешнюю базу данных Invesion Community 4.1.17

Featured Replies

Posted

Я хочу подключить базу данных к своему форуму, мне нужно вытащить данные из этой базы в postContainer. Кто-нибудь может мне помочь?

19 минут назад, Morphe сказал:

Я хочу подключить базу данных к своему форуму, мне нужно вытащить данные из этой базы в postContainer. Кто-нибудь может мне помочь?

Подключиться к внешней какой-то бд?

  • Author
1 minute ago, Exception said:

Подключиться к внешней какой-то бд?

На самом деле я хочу подключиться к внешней базе данных, я впервые использую invesion community и не знаю, как это сделать. Можете ли вы помочь мне с этим?

3 минуты назад, Morphe сказал:

На самом деле я хочу подключиться к внешней базе данных, я впервые использую invesion community и не знаю, как это сделать. Можете ли вы помочь мне с этим?

Без знаний php и как устроен ips ничего не получится. Как минимум придется расширять классы (плагином) чтобы подключиться к бд или инклудить файл в шаблон

  • Author
5 minutes ago, Exception said:

Без знаний php и как устроен ips ничего не получится. Как минимум придется расширять классы (плагином) чтобы подключиться к бд или инклудить файл в шаблон

Я знаю php, просто раньше не работал с IPS. Я могу работать с собственными данными IPS, у меня нет проблем с этим.
Мне просто нужно обеспечить другое подключение к базе данных и получить доступ к ней.
 

try
{
  $db = \IPS\Db::i( 'host', array(
      'sql_port' => 'port',
      'sql_user' => 'user',
      'sql_pass' => 'pass',
      'sql_database' => 'database',
      'sql_tbl_prefix' => 'prefix',
      'sql_utf8mb4' => TRUE
      ) );
  $data = $db->select( '*', 'table_name', array( 'row=?', 'value' ) );
}
catch ( \Exception $e )
{
	// bump ;(
}

 

  • Author
21 minutes ago, Exception said:
try
{
  $db = \IPS\Db::i( 'host', array(
      'sql_port' => 'port',
      'sql_user' => 'user',
      'sql_pass' => 'pass',
      'sql_database' => 'database',
      'sql_tbl_prefix' => 'prefix',
      'sql_utf8mb4' => TRUE
      ) );
  $data = $db->select( '*', 'table_name', array( 'row=?', 'value' ) );
}
catch ( \Exception $e )
{
	// bump ;(
}



Я создал соединение таким образом, как мне вызвать эти данные в postContainer? 
Мне нужно только это.

 

Edited by Morphe

14 часов назад, Morphe сказал:

 

Спойлер
try {
    $dsn = 'mysql:host=your_host;dbname=your_dbname;charset=utf8';
    $username = 'your_username';
    $password = 'your_password';
    $options = [
        PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,
        PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
        PDO::ATTR_EMULATE_PREPARES   => false,
    ];

    $pdo = new PDO($dsn, $username, $password, $options);
} catch (PDOException $e) {
    echo 'Connection failed: ' . $e->getMessage();
    exit;
}

$stmt = $pdo->query('SELECT * FROM your_table');
$results = $stmt->fetchAll();

foreach ($results as $row) {
    $postContent = $row['your_column'];
    
    // Подставьте ваши значения для $topicId и $authorId
    $topicId = 1;
    $authorId = 1;

    $topic = \IPS\forums\Topic::load($topicId);
    $post = \IPS\forums\Topic\Post::create([
        'topic'         => $topic,
        'author'        => \IPS\Member::load($authorId),
        'post'          => $postContent,
        'post_date'     => time(),
    ]);

    $post->save();
}

 

Попробуйте так, это пример кода который подключается к внешней базе данных, получает данные и вставляет их в postContainer

Edited by alxbelarus

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Ответить в этой теме...

Последние посетители 0

  • No registered users viewing this page.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.