Loading...
PHP/MySQL | Помогите по MySQL
Нарыл в интернете + добавил отсебятину = не верно выводит. С меня на мороженко )
php
   // Счетчик заявок за сегодня     public static function countAplicationsDay($id) {         $db = Db::getInstance();         $query = $db->prepare('SELECT COUNT(*) FROM checkups WHERE user_id = ? and  day(`dt`) = day(NOW()) ');         $query->execute([$id]);         return $query->fetchColumn();     }   // Счетчик заявок всего     public static function countAplicationsAll($id) {         $db = Db::getInstance();         $query = $db->prepare('SELECT COUNT(*) FROM checkups WHERE user_id = ? ');         $query->execute([$id]);         return $query->fetchColumn();     }  // Счетчик заявок за неделю с ПН     public static function countAplicationsWeek($id) {         $db = Db::getInstance();         $query = $db->prepare('SELECT COUNT(*) FROM checkups WHERE user_id = ? and  WEEK(`dt`, 1) = WEEK(NOW(), 1) ');         $query->execute([$id]);         return $query->fetchColumn();     }    // Счетчик заявок за прошлую неделю     public static function countAplicationsWeekOut($id) {         $db = Db::getInstance();         $query = $db->prepare('SELECT COUNT(*) FROM checkups WHERE user_id = ? and WEEK(`dt`, 1) = WEEK(date_add(now(), interval -1 WEEK)) ');         $query->execute([$id]);         return $query->fetchColumn();     }  // Счетчик заявок за месяц     public static function countAplicationsMonth($id) {         $db = Db::getInstance();         $query = $db->prepare('SELECT COUNT(*) FROM checkups WHERE user_id = ? and month(`dt`) = month(now()) and year(`dt`) = year(now()) ');         $query->execute([$id]);         return $query->fetchColumn(); }  // Счетчик заявок за прошлый месяц     public static function countAplicationsMonthOut($id) {         $db = Db::getInstance();         $query = $db->prepare('SELECT COUNT(*) FROM checkups WHERE user_id = ? and month(`dt`) = month(date_add(now(), interval -1 month)) and year(`dt`) = year(now()) ');         $query->execute([$id]);         return $query->fetchColumn();     }   

________
посл. ред. 02.03.2020 в 10:06; всего 1 раз(а); by GarDiz
Некоторые счетчики вроде-бы верно выводят инфу, а некоторые 100% НЕ правильно
Вообще первый счетчик может неправильно выводить инфу
там лучше использовать DATE функцию, но другой момент запросы эти не кешируются Гг
не пойму зачем тебе аж 6 методов когда можно сделать 1
________
посл. ред. 02.03.2020 в 12:44; всего 1 раз(а); by mir007
mir007 , *hz*
Понимаешь, я не программист. Делаю сайт, но из-за дефицита хороших кодеров приходится лепить из того что нагуглю.
GarDiz , чуть упростил , но говнокод ))
php
   public static function countAplicationsAll($id ) {          $db = Db::getInstance();         //вврдим параметр Day или Week от необходимости         $query = QuertAll( );         $query->execute([$id]);         return $query->fetchColumn();     }  private function QuertAll($count = null) {    switch($count)         { //Счетчик за сегодня case "Day":    $count = $db->prepare('SELECT COUNT(*) FROM checkups WHERE user_id = ? and  day(`dt`) = day(NOW()) '); break;  // Счетчик заявок за неделю с ПН case "Week": $count = $db->prepare('SELECT COUNT(*) FROM checkups WHERE user_id = ? and  WEEK(`dt`, 1) = WEEK(NOW(), 1) '); break;  //за прошлую неделю case "Week0ut":  $count = $db->prepare('SELECT COUNT(*) FROM checkups WHERE user_id = ? and WEEK(`dt`, 1) = WEEK(date_add(now(), interval -1 WEEK)) '); break;  // Счетчик заявок за месяц case "Month": $count = $db->prepare('SELECT COUNT(*) FROM checkups WHERE user_id = ? and month(`dt`) = month(now()) and year(`dt`) = year(now()) '); break;  // Счетчик заявок за прошлый месяц case "MountAll":  $count = $db->prepare('SELECT COUNT(*) FROM checkups WHERE user_id = ? and month(`dt`) = month(date_add(now(), interval -1 month)) and year(`dt`) = year(now()) '); break;  // всего заявок default:  $count = $db->prepare('SELECT COUNT(*) FROM checkups WHERE user_id = ? '); break;          }  return $count;  }   

________
посл. ред. 02.03.2020 в 13:21; всего 2 раз(а); by mir007
не влазиет все)) давно тут не был
mir007 , спасибо большое за помощь. Сейчас буду пробовать. Как смогу отблагодарить?
Ааа блин, не увидел это "чуть упростил , но говнокод" *JOKINGLY*

Инфа же всё равно не верно будет выводиться ))
________
посл. ред. 02.03.2020 в 13:56; всего 1 раз(а); by GarDiz
Онлайн: 5
Время:
Gen. 0.1196
(c) Bym.Guru 2010-2026