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