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