Да взима , брои и изкарва коментари от вчера и днес

stoqnski

Registered
До сега се мъчих , но не успях да направя заявката .

Искам 2 заявки . Едната да изкарва коментарите от вчера , като ги брои , а втората да изкарва коментарите от днес и пак да ги брои .

Стигнах до mysql_query("SELECT count(article) as comments FROM comment"); пробвах с where date = '$today' като $today ми е gettime() , но нещо не успях . Някой има ли идея ? Искам да ги изкарва като число . Примерно : Коментари днес : 5 (с променлива да е ) и Коментари вчера: 4 примерно .

Ето ви SQL-a за всеки случай:
[sql]CREATE TABLE IF NOT EXISTS `comment` (
`id` int(7) NOT NULL AUTO_INCREMENT,
`article` varchar(255) CHARACTER SET cp1251 NOT NULL DEFAULT '',
`author` varchar(255) CHARACTER SET cp1251 NOT NULL DEFAULT '',
`comment` longtext CHARACTER SET cp1251 NOT NULL,
`date` varchar(255) CHARACTER SET cp1251 NOT NULL DEFAULT '',
`ip` varchar(255) CHARACTER SET cp1251 NOT NULL DEFAULT '',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=7 ;[/sql]

така се записват :
[sql]INSERT INTO `comment` (`id`, `article`, `author`, `comment`, `date`, `ip`) VALUES
(1, '2', 'тест', 'тест', '18.04.2010', '127.0.0.1'),
(2, '2', 'aaaaaaaaaa', 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', '18.04.2010', '127.0.0.1'),
(3, '1', 'Stoqn', 'test weeeeee дайба', '18.04.2010', '127.0.0.1'),
(4, '2', '<b>Админ</b>', 'Я да видим :)', '18.04.2010', '127.0.0.1'),
(5, '14', 'fffffffffa', 'aaaaaaaa', '06.05.2011', '127.0.0.1'),
(6, '14', '<b>Админ</b>', 'ffffffffff', '06.05.2011', '127.0.0.1');[/sql]

Датата на коментарите се записва с :
PHP:
$date = date("d.m.Y");
 
[sql]
SELECT (SELECT COUNT(id) as cnt FROM comment WHERE `date` = '06.04.2011') as today, (SELECT COUNT(id) as cnt FROM comment WHERE `date` = '05.04.2011') as yesteday;
[/sql]
Ето ти за броя, изкарването ти е ясно как става нали?
 
RegexSux каза:
[sql]
SELECT (SELECT COUNT(id) as cnt FROM comment WHERE `date` = '06.04.2011') as today, (SELECT COUNT(id) as cnt FROM comment WHERE `date` = '05.04.2011') as yesteday;
[/sql]
Ето ти за броя, изкарването ти е ясно как става нали?

where `date` = 05.04.... това неможе ли да се изкарва от Бд-то ? с променлива $today примерно , а за вчера да е $today - 1 примерно :D защото трябва да е динамично , а вмомента е за само 2 определи дати .
...изкарването ти е ясно как става нали..
накрая няма да мога да се оправя със заявката и променливите :S
 
stoqnski каза:
RegexSux каза:
[sql]
SELECT (SELECT COUNT(id) as cnt FROM comment WHERE `date` = '06.04.2011') as today, (SELECT COUNT(id) as cnt FROM comment WHERE `date` = '05.04.2011') as yesteday;
[/sql]
Ето ти за броя, изкарването ти е ясно как става нали?

where `date` = 05.04.... това неможе ли да се изкарва от Бд-то ? с променлива $today примерно , а за вчера да е $today - 1 примерно :D защото трябва да е динамично , а вмомента е за само 2 определи дати .
...изкарването ти е ясно как става нали..
накрая няма да мога да се оправя със заявката и променливите :S
$today = time();
$vchera = time() - 86400;
$today = date("d.m.Y", $today);
$vchera = date("d.m.Y", $vchera);
stoqnski каза:
RegexSux каза:
Код:
$rs = mysql_query("SELECT (SELECT COUNT(id) as cnt FROM comment WHERE `date` = '{$today}') as today, (SELECT COUNT(id) as cnt FROM comment WHERE `date` = '{$vchera}') as yesteday;");
$row = mysql_fetch_array($rs);
echo "Dnes:" . $row['today'] . " Vchera:" . $row['yesteday'];
 
RegexSux каза:
stoqnski каза:
RegexSux каза:
[sql]
SELECT (SELECT COUNT(id) as cnt FROM comment WHERE `date` = '06.04.2011') as today, (SELECT COUNT(id) as cnt FROM comment WHERE `date` = '05.04.2011') as yesteday;
[/sql]
Ето ти за броя, изкарването ти е ясно как става нали?

where `date` = 05.04.... това неможе ли да се изкарва от Бд-то ? с променлива $today примерно , а за вчера да е $today - 1 примерно :D защото трябва да е динамично , а вмомента е за само 2 определи дати .
...изкарването ти е ясно как става нали..
накрая няма да мога да се оправя със заявката и променливите :S
$today = time();
$vchera = time() - 86400;
$today = date("d.m.Y", $today);
$vchera = date("d.m.Y", $vchera);
stoqnski каза:
RegexSux каза:
Код:
$rs = mysql_query("SELECT (SELECT COUNT(id) as cnt FROM comment WHERE `date` = '{$today}') as today, (SELECT COUNT(id) as cnt FROM comment WHERE `date` = '{$vchera}') as yesteday;");
$row = mysql_fetch_array($rs);
echo "Dnes:" . $row['today'] . " Vchera:" . $row['yesteday'];

перфектно
 

Back
Горе