Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Посчитать кол-во постов за сегодня

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): [1] 2 »   

> Без описания
leshiy
Отправлено: 28 Февраля, 2015 - 11:04:31
Post Id


Частый гость


Покинул форум
Сообщений всего: 188
Дата рег-ции: Июнь 2008  


Помог: 0 раз(а)




Есть код который считает все посты по категориям и выводит напротив каждой категории сумму постов данной категории.
Не получается посчитать так же все посты по категориям за сегодня и так же вывести их сумму.
PHP:
скопировать код в буфер обмена
  1.                     <?
  2.             $result2 = mysql_query("select `categories`.*, count(`date`.`id`) as date
  3. from `categories`
  4. left join `date` on `date`.`cat` = `categories`.`id`
  5. WHERE `date`.`moderation`=1
  6. group by `categories`.`id`");
  7. if (!$result2)
  8. if (mysql_num_rows($result2) > 0)
  9. {$myrow2 = mysql_fetch_array($result2);
  10. do
  11. {
  12. echo '<li class="m_naz">'.$myrow2["id"].' - <a title="'.$myrow2["tit"].'" href="'.$myrow2["tit"].'"><strong>'.$myrow2["tit"].'<strong></a> - '.$myrow2["date"].'</li>';}
  13. while ($myrow2 = mysql_fetch_array($result2));}
  14. else{exit();}
  15.      ?>  
  16.  
 
 Top
RickMan
Отправлено: 02 Марта, 2015 - 09:48:26
Post Id


Участник


Покинул форум
Сообщений всего: 1033
Дата рег-ции: Май 2012  


Помог: 30 раз(а)




Без описания таблиц я думаю сложнова-то будет вам помочь. И да, у вас есть таблица под названием date? И что там хранится?
 
 Top
exlant
Отправлено: 02 Марта, 2015 - 12:02:18
Post Id



Посетитель


Покинул форум
Сообщений всего: 425
Дата рег-ции: Февр. 2015  


Помог: 14 раз(а)




если нет в таблице поля типа date, то создать его и потом в ваш запрос добавить строчку в блок условий
CODE (SQL):
скопировать код в буфер обмена
  1.  
  2. AND table_name.date = CURDATE()
  3.  
 
 Top
leshiy
Отправлено: 02 Марта, 2015 - 12:10:39
Post Id


Частый гость


Покинул форум
Сообщений всего: 188
Дата рег-ции: Июнь 2008  


Помог: 0 раз(а)




Таблица DATE содержит поля: id, cat-куда записывается номер категории данного поста, title, date-куда записывается дата, ну и еще много не относящихся к данной проблеме полей.
 
 Top
arimanecro
Отправлено: 02 Марта, 2015 - 12:24:57
Post Id



Частый гость


Покинул форум
Сообщений всего: 209
Дата рег-ции: Май 2014  


Помог: 0 раз(а)




если у тебя в поле даты, дата записана в таком формате: 2015-03-02, то:

CODE (SQL):
скопировать код в буфер обмена
  1. SELECT COUNT(date) FROM categories WHERE date = CURDATE();
 
 Top
leshiy
Отправлено: 02 Марта, 2015 - 13:12:07
Post Id


Частый гость


Покинул форум
Сообщений всего: 188
Дата рег-ции: Июнь 2008  


Помог: 0 раз(а)




PHP:
скопировать код в буфер обмена
  1.         <?
  2.             $result2 = mysql_query("select `categories`.*, count(`date`.`id`) as date,
  3. count(`date`.`id`) as segodny                  
  4. from `categories`
  5. left join `date` on `date`.`cat` = `categories`.`id`
  6. WHERE `date`.`moderation`=1
  7. group by `categories`.`id`");
  8. if (!$result2)
  9. if (mysql_num_rows($result2) > 0)
  10. {$myrow2 = mysql_fetch_array($result2);
  11. do
  12. {
  13. echo '<li class="m_naz">'.$myrow2["id"].' - <a title="'.$myrow2["tit"].'" href="'.$myrow2["tit"].'"><strong>'.$myrow2["tit"].'<strong></a> - '.$myrow2["date"].'----'.$myrow2["segodny"].'</li>';}
  14. while ($myrow2 = mysql_fetch_array($result2));}
  15. else{exit();}
  16.      ?>  
  17.  

считает все посты в каждой категории и выводит сумму этих постов напротив данной категории.
Мне же нужно что бы в
считались посты так же по категориям но только сегодняшные.
Это конечно грубый пример но помоему более понятный.
 
 Top
exlant
Отправлено: 02 Марта, 2015 - 14:38:59
Post Id



Посетитель


Покинул форум
Сообщений всего: 425
Дата рег-ции: Февр. 2015  


Помог: 14 раз(а)




как вариант
CODE (SQL):
скопировать код в буфер обмена
  1.  
  2.  
  3. SELECT `categories`.*, count(`date`.`id`) AS date, (
  4. SELECT count(`date`.`id`)
  5. FROM `categories`
  6. LEFT JOIN `date` ON `date`.`cat` = `categories`.`id`
  7. WHERE `date`.`moderation`=1 AND date.date =  CURDATE ()
  8. ) AS segodnya
  9. FROM `categories`
  10. LEFT JOIN `date` ON `date`.`cat` = `categories`.`id`
  11. WHERE `date`.`moderation`=1
  12. GROUP BY `categories`.`id`
  13.  
  14.  

(Отредактировано автором: 02 Марта, 2015 - 14:39:47)

 
 Top
leshiy
Отправлено: 02 Марта, 2015 - 14:45:12
Post Id


Частый гость


Покинул форум
Сообщений всего: 188
Дата рег-ции: Июнь 2008  


Помог: 0 раз(а)




Ошибка:
FUNCTION CURDATE does not exist. Check the 'Function Name Parsing and Resolution' section in the Reference Manual
 
 Top
exlant
Отправлено: 02 Марта, 2015 - 14:46:30
Post Id



Посетитель


Покинул форум
Сообщений всего: 425
Дата рег-ции: Февр. 2015  


Помог: 14 раз(а)




пробел я поставил после CURDATE, уберите его! Должно быть так CURDATE()
 
 Top
leshiy
Отправлено: 02 Марта, 2015 - 14:49:07
Post Id


Частый гость


Покинул форум
Сообщений всего: 188
Дата рег-ции: Июнь 2008  


Помог: 0 раз(а)




segodny выводится пустым
 
 Top
exlant
Отправлено: 02 Марта, 2015 - 14:50:53
Post Id



Посетитель


Покинул форум
Сообщений всего: 425
Дата рег-ции: Февр. 2015  


Помог: 14 раз(а)




а у вас там есть date c сегодняшней датой?
 
 Top
leshiy
Отправлено: 02 Марта, 2015 - 14:52:22
Post Id


Частый гость


Покинул форум
Сообщений всего: 188
Дата рег-ции: Июнь 2008  


Помог: 0 раз(а)




да 20 новых постов в разных категориях
 
 Top
exlant
Отправлено: 02 Марта, 2015 - 14:54:21
Post Id



Посетитель


Покинул форум
Сообщений всего: 425
Дата рег-ции: Февр. 2015  


Помог: 14 раз(а)




CODE (SQL):
скопировать код в буфер обмена
  1. SELECT `categories`.*, count(`date`.`id`) AS segodnya,          
  2. FROM `categories`
  3. LEFT JOIN `date` ON `date`.`cat` = `categories`.`id`
  4. WHERE `date`.`moderation`=1 AND date.date =  CURDATE()
  5. GROUP BY `categories`.`id`

а такой запрос что выдает?

упс не от туда скопировал!

(Отредактировано автором: 02 Марта, 2015 - 14:55:37)

 
 Top
leshiy
Отправлено: 02 Марта, 2015 - 14:56:54
Post Id


Частый гость


Покинул форум
Сообщений всего: 188
Дата рег-ции: Июнь 2008  


Помог: 0 раз(а)




Вы написали segodnya вместо segodny
Щас считает сегодняшние ролики и выводит напротив каждой категории 20
(Добавление)
exlant пишет:
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT `categories`.*, count(`date`.`id`) AS segodnya,          
  2. FROM `categories`
  3. LEFT JOIN `date` ON `date`.`cat` = `categories`.`id`
  4. WHERE `date`.`moderation`=1 AND date.date =  CURDATE()
  5. GROUP BY `categories`.`id`

а такой запрос что выдает?

упс не от туда скопировал!

ошибку:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FROM `categories` LEFT JOIN `date` ON `date`.`cat` = `categories`.`id` ' at line 2
(Добавление)
SELECT `categories`.*, count(`date`.`id`) AS segodnya
без запятой
все считает как надо вот мне и надо как то совместить все это
 
 Top
exlant
Отправлено: 02 Марта, 2015 - 15:06:30
Post Id



Посетитель


Покинул форум
Сообщений всего: 425
Дата рег-ции: Февр. 2015  


Помог: 14 раз(а)




CODE (SQL):
скопировать код в буфер обмена
  1.  
  2. SELECT `categories`.*, count(`date`.`id`) AS date, (
  3. SELECT count(`date`.`id`)
  4. FROM `categories`
  5. LEFT JOIN `date` ON `date`.`cat` = `categories`.`id`
  6. WHERE `date`.`moderation`=1 AND date.date =  CURDATE()
  7. GROUP BY `categories`.`id`
  8. ) AS segodny // исправил на segodny
  9. FROM `categories`
  10. LEFT JOIN `date` ON `date`.`cat` = `categories`.`id`
  11. WHERE `date`.`moderation`=1
  12. GROUP BY `categories`.`id`
  13.  

а если так?
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB