Morphe Опубликовано 12 июля Поделиться Опубликовано 12 июля Я хочу подключить базу данных к своему форуму, мне нужно вытащить данные из этой базы в postContainer. Кто-нибудь может мне помочь? Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Exception Опубликовано 12 июля Поделиться Опубликовано 12 июля 19 минут назад, Morphe сказал: Я хочу подключить базу данных к своему форуму, мне нужно вытащить данные из этой базы в postContainer. Кто-нибудь может мне помочь? Подключиться к внешней какой-то бд? Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Morphe Опубликовано 12 июля Автор Поделиться Опубликовано 12 июля 1 minute ago, Exception said: Подключиться к внешней какой-то бд? На самом деле я хочу подключиться к внешней базе данных, я впервые использую invesion community и не знаю, как это сделать. Можете ли вы помочь мне с этим? Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Exception Опубликовано 12 июля Поделиться Опубликовано 12 июля 3 минуты назад, Morphe сказал: На самом деле я хочу подключиться к внешней базе данных, я впервые использую invesion community и не знаю, как это сделать. Можете ли вы помочь мне с этим? Без знаний php и как устроен ips ничего не получится. Как минимум придется расширять классы (плагином) чтобы подключиться к бд или инклудить файл в шаблон Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Morphe Опубликовано 12 июля Автор Поделиться Опубликовано 12 июля 5 minutes ago, Exception said: Без знаний php и как устроен ips ничего не получится. Как минимум придется расширять классы (плагином) чтобы подключиться к бд или инклудить файл в шаблон Я знаю php, просто раньше не работал с IPS. Я могу работать с собственными данными IPS, у меня нет проблем с этим. Мне просто нужно обеспечить другое подключение к базе данных и получить доступ к ней. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Exception Опубликовано 12 июля Поделиться Опубликовано 12 июля 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 ;( } Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Morphe Опубликовано 12 июля Автор Поделиться Опубликовано 12 июля (изменено) 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? Мне нужно только это. Изменено 12 июля пользователем Morphe Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Exception Опубликовано 12 июля Поделиться Опубликовано 12 июля (изменено) Не знаю где и что ты там создал, можно попробовать так: {insert="$filename"} // $filename - The filename of the PHP file to include. The output of the file is buffered and output. Изменено 12 июля пользователем Exception Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
alxbelarus Опубликовано 13 июля Поделиться Опубликовано 13 июля (изменено) 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 Изменено 13 июля пользователем alxbelarus Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.