select t3.name, sum(t3.prod_A) as Prod_A, sum(t3.prod_B) as Prod_B, sum(t3.prod_C) as Prod_C, sum(t3.prod_D) as Prod_D, sum(t3.prod_E) as Prod_E
from
(select t2.name as name,
case when t2.prodid = 1 then t2.counts
else 0 end prod_A,
case when t2.prodid = 2 then t2.counts
else 0 end prod_B,
case when t2.prodid = 3 then t2.counts
else 0 end prod_C,
case when t2.prodid = 4 then t2.counts
else 0 end prod_D,
case when t2.prodid = "5" then t2.counts
else 0 end prod_E
from
(SELECT partners.name as name, sales.products_id as prodid, count(products.name) as counts
FROM test.sales left outer join test.partners on sales.partners_id = partners.id
left outer join test.products on sales.products_id = products.id
where sales.partners_id = partners.id and sales.products_id = products.id group by partners.name, prodid) t2) t3
group by t3.name ;
Вы можете использовать фоновый скрипт для достижения этой цели:
chrome.browserAction.setIcon({path: '../images/1.png', tabId: info.tabId});
Вы можете вызвать это с некоторыми слушателями:
chrome.tabs.onActivated.addListener()
chrome.tabs.onUpdated.addListener()
blockquote>
chrome.runtime.onMessage.addListener()
Пример 1. Позвольте мне показать, как вы запускаете его из скрипта контента, отправляя сообщение в фоновый скрипт:
В скрипте контента отправьте сообщение:
chrome.runtime.sendMessage({icon1: true})
И в фоновом скрипте:
chrome.runtime.onMessage.addListener(function(msg, sender, sendResponse) { if(msg.icon1) { chrome.tabs.query({active:true, windowType:"normal", currentWindow: true},function(d){ var tabId = d[0].id; chrome.browserAction.setIcon({path: '../icon1.png', tabId: tabId}); }) } }
Пример 2:
chrome.tabs.onActivated.addListener(function(info){ chrome.tabs.get(info.tabId, function(change){ var matching = false; // functionality to determine true/false if(matching) { chrome.browserAction.setIcon({path: '../icon1.png', tabId: info.tabId}); return; } else { chrome.browserAction.setIcon({path: '../icon2.png', tabId: info.tabId}); } }); });