Использование wordpress. Я собирал ежедневные просмотры (общие и уникальные) и теперь хочу видеть ежемесячную статистику для определенных страниц. Я мог бы получить общее количество просмотров, но у вас возникли проблемы при получении уникальных просмотров. Я сделал ниже:получить уникальный счет посетителей с определенными идентификаторами страниц - php
$ids = '181,57,123';
$certainPageIds = explode(',', $ids);
foreach($certainPageIds as $id){
$uniqueViews = $wpdb->get_results("SELECT distinct IP as all_uniques,
DATE_FORMAT(insertion_date, '%b') as month_name, DATE_FORMAT(insertion_date,
'%Y-%M') as full_date FROM daily_unique_views WHERE page_id = '".$id."'");
if($uniqueViews){
$uniqueViewsEncodedArray = json_decode(json_encode($uniqueViews), True);
var_dump($uniqueViewsEncodedArray);
}
}
И выше массив возвращает ниже:
array(2) {
[0]=>
array(3) {
["all_uniques"]=>
string(13) "111.11.11.111"
["month_name"]=>
string(3) "Dec"
["full_date"]=>
string(13) "2016-December"
}
[1]=>
array(3) {
["all_uniques"]=>
string(13) "22.222.222.22"
["month_name"]=>
string(3) "Dec"
["full_date"]=>
string(13) "2016-December"
}
}
array(2) {
[0]=>
array(3) {
["all_uniques"]=>
string(13) "111.11.11.111"
["month_name"]=>
string(3) "Nov"
["full_date"]=>
string(13) "2016-November"
}
[1]=>
array(3) {
["all_uniques"]=>
string(13) "111.11.11.111"
["month_name"]=>
string(3) "Dec"
["full_date"]=>
string(13) "2016-December"
}
[2]=>
array(3) {
["all_uniques"]=>
string(12) "33.333.3.333"
["month_name"]=>
string(3) "Dec"
["full_date"]=>
string(13) "2016-December"
}
}
array(1) {
[0]=>
array(3) {
["all_uniques"]=>
string(13) "111.11.11.111"
["month_name"]=>
string(3) "Oct"
["full_date"]=>
string(13) "2016-October"
}
}
Так он возвращает ежемесячно уникальный вид каждой страницы. Но как вы замечаете, 111.11.11.111
появляется много раз. Поэтому у меня есть один и тот же IP-адрес за декабрь для каждой из страниц. Но мне нужно, чтобы один IP-адрес подсчитывался за каждый месяц только один раз. Как я могу дотянуться до этого? Что-то связано с существующим результатом или оно должно быть исправлено с помощью sql? Любые идеи, пожалуйста?
Вы пытались добавить группу по IP? – atoms
Да, я пробовал, но в этом случае я теряю некоторые ips. Поэтому, когда он видит, что текущий IP уже существует, он не выбирает его, но, например, это был uniqur в течение еще одного месяца, поэтому я потерял это единственное представление за этот месяц @atoms – aidadev