$query = $this->db->qurery("SELECT product_id, price FROM " . DB_PREFIX . "product WHERE upc != ''");
foreach ($query->rows as $pid) {
$spec_price = (float)$pid['price'] * 0.9;
$this->db->query("INSERT INTO " . DB_PREFIX . "product_special SET product_id = '" . (int)$pid['product_id'] . "', customer_group_id = 'ID ГРУППЫ', priority = '1', price = '" . (float)$spec_price . "', date_start = '0000-00-00', date_end = '0000-00-00'");
}
Примерно как-то так можно сделать...
ID ГРУППЫ - это ID для группы пользователей. для каких будет эта скидка распространяться
Если у процент скидки вписан в поле UPC тогда можно сделать так:
$query = $this->db->qurery("SELECT product_id, price, upc FROM " . DB_PREFIX . "product WHERE upc != ''");
foreach ($query->rows as $pid) {
$spec_price = (float)$pid['price'] * ((100 - (float)$pid['upc']) / 100); //Если целове число, например: 10
//$spec_price = (float)$pid['price'] * (1 - (float)$pid['upc']); //Если дробное число, например: 0.1
$this->db->query("INSERT INTO " . DB_PREFIX . "product_special SET product_id = '" . (int)$pid['product_id'] . "', customer_group_id = 'ID ГРУППЫ', priority = '1', price = '" . (float)$spec_price . "', date_start = '0000-00-00', date_end = '0000-00-00'");
}