Подсчёт записей за текущий день

DenVeroid

Новичок
Подсчёт записей за текущий день

как можно подсчитать количество записей добавленые за текущий день
в базе дата храниться в таком виде varchar(30) "1102959544" тоесть при добавлении формируется функцией time()

PHP:
$timestamp = time();
$date = date("%d/%m/%Y", $timestamp);

$cout=mysql_query("SELECT count(*) as count FROM news WHERE date = '".$date."' and cat = '".addslashes($cat)."'");

$row = mysql_fetch_array($cout);
$count = $row['count'];
return $count;

но почемуто ничего не выводит
 

Фанат

oncle terrible
Команда форума
круто!
это меняет все дело!
поменять название одной функции на другую!
и сразу станет понятно - что еловек имел в виду.
что он собрался сравнивать
 

DenVeroid

Новичок
мне нужно сравнить сегоднишнюю дату с той что находиться в базе и подсчитать те записи что были добавлены сегодня

у меня все работало когда дата хранилась в базе в таком виде 2004-12-14 17:07:38

правдо и запрос был иной
PHP:
$cout=mysql_query("SELECT count(*) as count FROM news WHERE YEAR(date) = '".addslashes($y)."' and MONTH(date) = '".addslashes($m)."' and DAYOFMONTH(date) = '".addslashes($d)."' and cat = '".addslashes($cat)."'");
 

DenVeroid

Новичок
был вынужден перейти на эту, хотя можно вернуться и обратно, но тогда нужно будет решить вопрос тот из-за которго пришлось мне сталкнуться с этой проблемой, может и звучит смешно (глупо) но это так, правдо по датам я ещё несовсем хорошо разбираюсь особенно с конвертацией.

Вообщем я пока подумаю, может что ещё в голову придёт, если что нетак я вернусь ещё
 

Фанат

oncle terrible
Команда форума
может быть, ты задашь вопрос, который заставил тебя перейти на этот формат?
скорее всего, он решается горназдо проще.

Хотя подумать тебе все равно не помешает.
хотя бы для того, чтобы задуматься - что ты ожидал получить, сравнивая строку "1102959544" со строкой "14/12/04"?!
 

DenVeroid

Новичок
Фанат, эт верно я знал об этом, незнаю почему написал, сравнивать совершенно разные даты совсем смешно, ну ладно

вообщем я обратно перешол к той же дате

но мне нужно сделать конвертацию
с такой даты
2004-12-14 18:01:28
на такую
1102959544

каким образом это можно сделать?

да кстати, дата "1102959544" я так понял это юникс формат?
 

DenVeroid

Новичок
Фанат, спасибо но мне нужно на PHP вообщем я решил свою проблему использовав функцию


PHP:
function dttm2unixtime($dttm2timestamp_in){
   $date_time = explode(" ", $dttm2timestamp_in);
   $date = explode("-",$date_time[0]);
   $time = explode(":",$date_time[1]);
   unset($date_time);
   list($year, $month, $day)=$date;
   list($hour,$minute,$second)=$time;
   return mktime(intval($hour), intval($minute), intval($second), intval($month), intval($day), intval($year));
}

где потом преобразовываю
$lastdatetime='2004-12-14 19:18:28';
echo dttm2unixtime($lastdatetime);
результат
1103026708
 

Фанат

oncle terrible
Команда форума
в смысле - кто тебе сказал, что это преобразование надо делать в пхп?
кто тебе сказал, что кривая самописная функция на пхп лучше, чем готовая функция мускуля?
 

DenVeroid

Новичок
я понимаю вас, но в данный момент мне не нужно делать выборку из базы в нужном формате

вот код
PHP:
   $floodchecktime = '100'; 
   
$query = "SELECT ip,date FROM news WHERE ip='$ip' ORDER BY details desc LIMIT 1";
   $flood = mysql_query($query);
   list($lastip,$lastdatetime) = mysql_fetch_row($flood);
   $lastdatetime=dttm2unixtime($lastdatetime);

      if ($ip==$lastip AND time()-$lastdatetime<=$floodchecktime) {
          $flooder = "TRUE";
          $remains_time = $floodchecktime-(time()-$lastdatetime);
      }

.....

этот код делает проверку на флуд, при дабовлении записи, где можно указать через сколько секунд разрешается помещять следующюю запись
 
Сверху