如何将产品视图分配给供应商以获得最受欢迎的供应商 - PHP

时间:2016-12-18 01:04:46

标签: php mysql wordpress

我有制造商在我的网站上展示他们的产品,我需要跟踪哪个制造商最受欢迎。我已经在跟踪每日产品观看次数了。

想象一下,我有一个逗号分隔的制造商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;
                }
            }
        }
    }
}

通过上面的代码,我得到每个产品的总观看次数。但现在不知道如何将每个产品视图与上面的数组连接起来,以便可以查看哪个制造商有多少视图。有什么想法吗?

0 个答案:

没有答案