Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- //Скрипт вставки сообщений в БД
- //Сделано специально для ТЗ
- //Автор скрипта: Гор Мхитарян
- //Скрипт не самый производительный, можно сделать и лучше
- //Сообщения
- $mails = array(
- array(
- 'firm_id' => 1,
- 'subject' => 'Hello',
- 'body' => 'How are you?',
- 'from' => 'charlie@gmail.com',
- 'to' => 'bobby@gmail.com'
- ),
- array(
- 'firm_id' => 2,
- 'subject' => 'Hi',
- 'body' => 'Im ok',
- 'from' => 'bobby@gmail.com',
- 'to' => 'charlie@gmail.com'
- )
- )
- function connectToDb($db)
- {
- //Используем MySQL, так же можно использовать любую другую БД
- //Подключение к бд осуществляется по условию описанному в
- //Методе getBase
- return new PDO('mysql:host=localhost;dbname='.$db,'root',null);
- }
- function getBase($N){
- //Описать условие выбора базы данных
- //В ТЗ не сказано про условие, по этому
- //Я придумал свое.
- //Для сообщений с нечетным ID мы используем БД 'DbForOdds'
- //Для сообщений с четным ID будем использовать БД 'DbForEvens'
- if($N % 2){
- return 'DbForOdds';
- } else {
- return 'DbForEvens';
- }
- }
- function insertMessages(array $arr)
- {
- //Вставляем сообщения в бд в цикле
- for($i=0;$i < count($arr[0]);$i++)
- {
- //Получаем название БД
- $db = getBase($arr[0][$i]['firm_id']);
- //Подключаемся к БД
- $connection = connectToDb($db);
- //Запрос в БД
- $query = $connection->prepare('INSERT INTO `messages` (`subject`,`body`,`from`,`to`) VALUES (:sub,:body,:fr,:to)');
- if(!$query->execute(array(
- ':sub' => $arr[0][$i]['subject'],
- ':body' => $arr[0][$i]['body'],
- ':fr' => $arr[0][$i]['from'],
- ':to' => $arr[0][$i]['to']
- ))){
- //Если хотя бы один запрос не завершится успешно, то функция insertMessages вернет false
- $state = false;
- } else {
- //При успешном выполнении всех запросов, $state = true; тоесть функция вернет true
- $state = true;
- }
- }
- //Возвращаем значение состояния выполнения запросов
- return $state;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement