Вы можете использовать конфигурационную электронную почту с помощью codeigniter, например, используя smtp (простой способ):
$config = Array(
'protocol' => 'smtp',
'smtp_host' => 'mail.domain.com', //your smtp host
'smtp_port' => 26, //default port smtp
'smtp_user' => 'name@domain.com',
'smtp_pass' => 'password',
'mailtype' => 'html',
'charset' => 'iso-8859-1',
'wordwrap' => TRUE
);
$message = 'Your msg';
$this->load->library('email', $config);
$this->email->from('name@domain.com', 'Title');
$this->email->to('emaildestination@domain.com');
$this->email->subject('Header');
$this->email->message($message);
if($this->email->send())
{
//conditional true
}
Это работает для меня!
Чтобы сохранить изображения с продуктом, вы можете добавить столбец imageurl
в таблицу продуктов. Сопоставьте имена изображений с ,
и вставьте эту строку имени изображения в таблицу продуктов. ваша таблица выглядит ниже.
+--------------+--------------+---------------------------+
| id | title | imageurl |
+--------------+--------------+---------------------------+
| 1 | Laptop | lap1.png,lap2.png,lap3.png|
+--------------+--------------+---------------------------+
| 2 | Speakers | spe1.png |
Надеюсь, вы поняли, что я объясню.
Этот случай не является редкостью: у вас есть две таблицы в отношениях от одного до многих.
Вы никогда не должны вставлять SQL-вызов в цикл, если вы можете его избежать, но есть решение быть сделал один вызов SQL или два.
Один вызов SQL может быть:
SELECT id, title, imageURL
FROM products LEFT JOIN productImages ON id=productid
Недостатком этого является то, что вы извлекаете заголовок несколько раз для каждого продукта, и это расточительно.
Используя два оператора SQL, вы можете загружать заголовки один раз для каждого продукта:
SELECT id, title FROM products
Результаты этого запроса могут быть сохранены в ассоциативном массиве - так, чтобы вы может искать заголовок для каждого идентификатора.
Второй запрос:
SELECT productid, imageURL FROM productImages ORDER BY productid, imageURL
Вы можете просмотреть результаты этого запроса, выплевывая заголовок по ходу.
Некоторые улучшения для вас могут быть:
1) Не используйте select *
. Вместо этого используйте имена столбцов. например select products.id, products.title, productimages.imageurl
2) Используйте JOIN
вместо вложенного цикла
Итак, вы можете попробовать выполнить запрос таких данных, как:
select products.id, products.title, productimages.imageurl
from products
join productimages on products.id = productimages.productid
ORDER BY products.id LIMIT 10