我有制造商在我的网站上展示他们的产品,我需要跟踪哪个制造商最受欢迎。我已经在跟踪每日产品观看次数了。
想象一下,我有一个逗号分隔的制造商ID:
$mfIds = '120,125,126,127';
每个制造商都是一个帖子,其中包含逗号分隔的产品ID的自定义字段。因此,如果产品ID为关键值,我可以得到包含制造商ID作为键和数组的组合数组:
$array = explode(',', $mfIds);
$new_array = array();
foreach($array as $key=>$value){
$current_mf_product_ids = get_post_meta( $value, 'current_mf_product_ids', true );
if($current_mf_product_ids){
$new_array[$value] = explode(',', $current_mf_product_ids);
}
}
var_dump($new_array);
这输出如下:
array(4) {
[120]=>
array(4) {
[0]=>
string(3) "12"
[1]=>
string(3) "13"
[2]=>
string(3) "16"
[3]=>
string(3) "15"
}
[125]=>
array(2) {
[0]=>
string(3) "34"
[1]=>
string(3) "67"
}
[126]=>
array(9) {
[0]=>
string(2) "57"
[1]=>
string(3) "188"
[2]=>
string(3) "230"
[3]=>
string(3) "240"
}
[127]=>
array(6) {
[0]=>
string(3) "261"
[1]=>
string(3) "263"
[2]=>
string(3) "264"
}
}
现在,我需要从数据库中查找每个产品视图,并总结每个制造商的产品视图,以便查看最受欢迎的制造商:
if($new_array){
$cmpProductArray = array();
foreach($new_array as $key=>$ids){
foreach($ids as $id){
global $wpdb;
$today = getdate();
$currentYear = $today["year"];
$lastMonth = $today["mon"]-1;
$getProductViews = $wpdb->get_results("SELECT SUM(total_views_count) as views_count, page_id FROM daily_total_views WHERE page_id = '".$id."' AND year(date) = '".$currentYear."' AND month(date) = '".$lastMonth."' group by page_id");
if($getProductViews){
$getEncodedProducts = json_decode(json_encode($getProductViews), True);
foreach($getEncodedProducts as $item){
$cmpProductArray[] = $item;
}
}
}
}
}
通过上面的代码,我得到每个产品的总观看次数。但现在不知道如何将每个产品视图与上面的数组连接起来,以便可以查看哪个制造商有多少视图。有什么想法吗?