Próbowałem z obiema opcjami, w różnych konfiguracjach i dalej nie działa. Jeśli komuś byłoby to pomocne to dodaje zrzut bazy danych:
Tabela z komentarzami:
CREATE TABLE IF NOT EXISTS `profiles_comments` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`profile_id` mediumint(9) UNSIGNED NOT NULL,
`author_id` mediumint(9) NOT NULL COMMENT 'id usera komentujacego',
`date` int(11) NOT NULL,
`tresc` text NOT NULL,
`type` tinyint(1) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=45 ;
--
-- Zrzut danych tabeli `profiles_comments`
--
INSERT INTO `profiles_comments` (`id`, `profile_id`, `author_id`, `date`, `tresc`, `type`) VALUES
(1, 13, 1, 1344094056, 'Lorem ipsum .', 0),
(2, 13, 1, 1344094056, 'Lorem ipsum dolor sit ', 0),
(3, 13, 1, 1344100516, '', 0),
(4, 13, 1, 1344100686, '', 0),
(5, 13, 1, 1344100712, '', 0),
(6, 7, 1, 1344100721, '', 0),
(7, 7, 1, 1344100743, 'sadfasdf', 0),
(8, 7, 1, 1344100758, 'fdgsfdgdfs', 0),
(9, 7, 1, 1344100763, 'fsdgsdfgsfdg', 0),
(10, 7, 1, 1344100769, 'sdfgsdfggf', 0),
(11, 7, 1, 1344101057, 'sad', 0),
(12, 7, 1, 1344101068, 'dsafasdfdafs', 0),
(13, 7, 1, 1344101073, 'sdafsfda', 0),
(14, 7, 1, 1344112925, 'sadf', 0),
(15, 13, 1, 1344191045, 'asdf', 0),
(17, 7, 1, 1344198779, 'aa', 0),
(18, 7, 1, 1344198782, 'aa', 0),
(19, 7, 1, 1344370573, 'asdf', 0),
(20, 7, 7, 1344370740, 'sdaf', 0),
(21, 7, 7, 1344370746, 'test', 0),
(22, 15, 1, 1344370781, 'asdf', -1),
(23, 7, 7, 1344371171, 'a', 0),
(24, 7, 7, 1344371198, 'adsf', 0),
(25, 7, 7, 1344371307, 'dssda', 1),
(26, 7, 7, 1344371336, 'sadf', 0),
(27, 7, 7, 1344371358, 'asdf', 1),
(28, 7, 1, 1344444708, '', 0),
(29, 7, 1, 1344444721, '', 0),
(30, 7, 1, 1344444730, 'sdf', 0),
(32, 15, 1, 1347457489, 'Mam pytanko.', 0),
(33, 7, 1, 1347466662, 'asdfasdf', 0),
(34, 11, 1, 1347467863, 'sdaffasd', 0),
(42, 7, 2, 1348938173, 'sadfasdfasdf', 1),
(38, 7, 1, 1348082107, 'dzisz w \\"dane profilu\\" tam masz edy', 0),
(43, 7, 1, 1350743136, 'Lorem ipsum dolor sit amet', 0);
Tabela z zapisanym rankingiem:
CREATE TABLE IF NOT EXISTS `rank_profiles_com` (
`profile_id` int(11) NOT NULL,
`comments` int(11) NOT NULL,
UNIQUE KEY `profile_id` (`profile_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
Tak wygląda skrypt i zapytanie:
$rankq = mysql_query("SELECT N.profile_id,count(K.id) AS comments FROM profiles_comments N LEFT JOIN profiles_comments K ON K.profile_id=N.profile_id GROUP BY N.id ORDER BY comments DESC") or
die(mysql_error()); $insert = mysql_query("INSERT INTO rank_profiles_com(profile_id,comments) VALUES('$rankr[0]','$rankr[1]')"); }
W przypadku tych danych zapytanie powinno wypluwać taki ranking:
7-3
11-1
13-1
15-1
A wypluwa taki:
7-26
13-6
15-2
11-1
Kilkadziesiąt minut próbowałem skonstruować to zapytanie, w googlach również szukałem, ale niestety nie wychodzi mi. Także nie proszę o pomoc bo mi się nie chce tego zrobić, tylko po prostu nie umiem.