Bonjour,

j'ai fait une requete afin de récupérer des statistiques depuis une table visitors, je cherche un résultat comme suite:


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
EN: 3
FR: 4
 
MA: 20
US: 15
UK: 22
 
Windows: 13
Linux: 17
 
etc
Mais ce que j'obtiens est:


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
en : 1
France : 1
en : 2
Morocco : 2
fr : 4
Morocco : 4
Je voudrais consolider les langues, pays,...

avec une table comme suite:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
 
CREATE TABLE IF NOT EXISTS `visitors` (
  `idvi` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `user_language` varchar(3) NOT NULL COMMENT 'which language the user is using: en, fr or ar',
  `ip_real` varchar(50) NOT NULL,
  `ip_proxy` varchar(50) NOT NULL,
  `country_name` varchar(50) NOT NULL,
  `country_code` varchar(3) NOT NULL,
  `city_name` varchar(100) NOT NULL,
  `region_name` varchar(150) NOT NULL,
  `place_latitude` varchar(20) NOT NULL,
  `place_longitude` varchar(20) NOT NULL,
  `page_url` longtext NOT NULL,
  `page_id` varchar(30) NOT NULL,
  `page_title` longtext NOT NULL,
  `browser_full` longtext NOT NULL,
  `browser_name` varchar(100) NOT NULL,
  `browser_platform` varchar(50) NOT NULL,
  `ismobile` int(1) NOT NULL DEFAULT '0' COMMENT '0: not, 1: mobile',
  `mobile_version` varchar(20) NOT NULL,
  `visit_date` varchar(30) NOT NULL,
  `visit_year` varchar(5) NOT NULL,
  `visit_month` varchar(20) NOT NULL,
  `visit_day` varchar(20) NOT NULL,
  `visit_dayname` varchar(20) NOT NULL,
  PRIMARY KEY (`idvi`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=8 ;
 
--
-- Dumping data for table `visitors`
--
 
INSERT INTO `visitors` (`idvi`, `user_language`, `ip_real`, `ip_proxy`, `country_name`, `country_code`, `city_name`, `region_name`, `place_latitude`, `place_longitude`, `page_url`, `page_id`, `page_title`, `browser_full`, `browser_name`, `browser_platform`, `ismobile`, `mobile_version`, `visit_date`, `visit_year`, `visit_month`, `visit_day`, `visit_dayname`) VALUES
(1, 'en', '41.251.134.55', '', 'Morocco', 'MA', 'Marrakech', 'Marrakech-Tensift-Al Haouz', '31.6315', '-8.0083', '/en/SignUp.html', '6uOLZ9zsac', 'Sign up', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.98 Safari/537.36', 'Chrome', 'MacOSX', 0, '', '1479790765', '2016', '11', '22', 'Tuesday'),
(2, 'en', '41.214.156.122', '66.249.93.194', 'Morocco', 'MA', 'Casablanca', 'Grand Casablanca', '33.5928', '-7.6192', '/en/SignUp.html', '6uOLZ9zsac', 'Sign up', 'Mozilla/5.0 (Linux; Android 5.1.1; SM-J700F Build/LMY48B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.85 Mobile Safari/537.36', 'Safari', 'Android', 1, '5.1.1', '1479790817', '2016', '11', '22', 'Tuesday'),
(3, 'fr', '41.214.156.122', '66.249.93.192', 'Morocco', 'MA', 'Casablanca', 'Grand Casablanca', '33.5928', '-7.6192', '/fr/SignUp.html', '6uOLZ9zsac', 'S''inscrire', 'Mozilla/5.0 (Linux; Android 5.1.1; SM-J700F Build/LMY48B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.85 Mobile Safari/537.36', 'Safari', 'Android', 1, '5.1.1', '1479790845', '2016', '11', '22', 'Tuesday'),
(4, 'fr', '41.214.156.122', '66.249.93.194', 'Morocco', 'MA', 'Casablanca', 'Grand Casablanca', '33.5928', '-7.6192', '/fr/SignUp.html', '6uOLZ9zsac', 'S''inscrire', 'Mozilla/5.0 (Linux; Android 5.1.1; SM-J700F Build/LMY48B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.85 Mobile Safari/537.36', 'Safari', 'Android', 1, '5.1.1', '1479790849', '2016', '11', '22', 'Tuesday'),
(5, 'fr', '41.214.156.122', '66.249.93.192', 'Morocco', 'MA', 'Casablanca', 'Grand Casablanca', '33.5928', '-7.6192', '/fr/Vehicules.html', 'WXZeg3JYA9', 'Véhicules', 'Mozilla/5.0 (Linux; Android 5.1.1; SM-J700F Build/LMY48B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.85 Mobile Safari/537.36', 'Safari', 'Android', 1, '5.1.1', '1479790874', '2016', '11', '22', 'Tuesday'),
(6, 'fr', '105.157.186.57', '66.249.93.194', 'Morocco', 'MA', 'Marrakech', 'Marrakech-Tensift-Al Haouz', '31.6315', '-8.0083', '/fr/Vehicules.html', 'WXZeg3JYA9', 'Véhicules', 'Mozilla/5.0 (Linux; Android 5.1.1; SM-J700F Build/LMY48B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.85 Mobile Safari/537.36', 'Safari', 'Android', 1, '5.1.1', '1479790978', '2016', '11', '22', 'Tuesday'),
(7, 'en', '41.214.156.122', '', 'France', 'FR', 'Casablanca', 'Grand Casablanca', '33.5928', '-7.6192', '/en/SignUp.html', '6uOLZ9zsac', 'Sign up', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.98 Safari/537.36', 'Chrome', 'MacOSX', 0, '', '1479792357', '2016', '11', '22', 'Tuesday');
Et mon code est:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
$sqlVisi    = "SELECT user_language, COUNT(user_language) as userLanguage, country_name, COUNT(country_name) as countryName FROM visitors GROUP BY user_language, country_name";
 
echo $sqlVisi.'<br>';
 
 
$stmtVisi = $connect->prepare($sqlVisi);
 
$stmtVisi->execute();
 
$result = $stmtVisi->fetchAll();
 
foreach($result as $v):
    $user_language  = $v['user_language'];
    $country_name   = $v['country_name'];
 
    $userLanguage  = $v['userLanguage'];
    $countryName   = $v['countryName'];
 
// on affiche pour chaque élément son total
 
    echo $user_language.' : '.$userLanguage.'<br>';
    echo $country_name.' : '.$countryName.'<br>';
 
 
endforeach;
Merci a vous