Как вывести количество записей по "id" ? 2.X

 
Посетитель
small user social cms
Медаль
Сообщений: 624
Друзья уже создавал тему на сайте но мне так и не ответили, уже неделю пытаюсь сделать но никак не получается не знаю как это сделать.

Есть страница www.site/sport
Там я вывожу виды спорта из базы.

Код PHP:
  1. public function getEvents(){
  2. return $this->get('sport');
  3. }
Как вывести количество записей по \"id\" ?

Код PHP:
  1. <?php foreach($events as $event) { ?>
  2. <tr>
  3. <td class="field ft_caption f_title">
  4. <h2> <a href="<?php echo $this->href_to('teams', $event['id']); ?>" class="title"><?php html($event['tournament_name']); ?></h2>
  5. </td>
  6. <td class="field ft_caption f_title"> Число сколько туринров</td>
  7. </tr>
  8. <?php } ?>
Как вывести количество записей по \"id\" ?


Есть страница www.site/sport/teams/1

База cms_sport_tournaments

Там я вывожу по id турниры которым относятся к спорту. Если id 1 значит это Баскетбол если 2 Футбол и тд.
Как вывести количество записей по \"id\" ?

Вопрос состоит в том что мне нужно на страницу www.site/sport вывести количество турниров для каждого вида спорта.

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

Код PHP:
  1. public function getSportsTouranmentsCount(){
  2. $this->filterEqual('sport', 1);
  3.  
  4. return $this->getCount('sport_tournaments');
  5. }
Редактировалось: 6 раз (Последний: 29 сентября 2017 в 15:33)
InstantCMS Team
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 4363
Нико:
но мне так и не ответили
Поэтому я создал новую facepalm не мытьём, так катанием.

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

Код PHP:
  1. public function getSportsTouranmentsCount($events){
  2. $this->filterEqual('sport', 1);
  3. // получили количество по фильтру
  4. // getCount не сбрасывает фильтр после работы
  5. // и все наложенные фильтры после выполнения применяются к следующим запросам
  6. $count = $this->getCount('sport_tournaments');
  7. // сбрасываем фильтры принудительно
  8. // если данные метод предполагает просто получение кол-ва
  9. // и наложенные фильтры далее не должны применяться
  10. $this->resetFilters();
  11. return $count;
  12. }
я очень надеюсь, что вы сейчас по прошествии стольки созданных вами вопросов поняли, почему ваше платное "дополнение" никогда не проходило модерацию и не пройдёт.
Видео каталог для InstantCMS | Аудио каталог для InstantCMS | Мы Вконтакте | Предложение для спонсоров
Реклама
cms
Посетитель
small user social cms
Медаль
Сообщений: 653
Нико:
Друзья уже создавал тему на сайте но мне так и не ответили, уже неделю пытаюсь сделать но никак не получается не знаю как это сделать.

На самом деле все довольно просто.

Сначала описание задачи:

Есть две таблицы - первая с уникальными id (виды спорта), вторая с турнирами и колонкой, указывающей на вид спорта.
Нужен запрос, который вернет две колонки (вид спорта и количество турниров по нему)
Баскетбол, 3
Футбол, 8
Настольный теннис, 2

Я покажу примерный запрос, а сами колонки уже правьте как надо..

sql запрос
Код PHP:
  1. select i.tournament_name, count(st.id)
  2. from cms_sport i
  3. inner join cms_sport_tournaments st on st.sport = i.id
  4. group by i.tournament_name
Или для Инстанта -

Код PHP:
  1.  
  2. $this->selectOnly('tournament_name')
  3. ->select('count(st.id)', 'tournaments')
  4. ->groupBy('tournament_name')
  5. ->joinInner('sport_tournaments', 'st', 'st.sport = i.id')
  6. ->get('sport');
  7.  
В результате должен получится массив с двумя колонками (tournament_name и tournaments).

Код не проверяю, возможны ошибки.
Посетитель
small user social cms
Медаль
Сообщений: 624
Нико:

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

Есть страница www.site/sport
Там я вывожу виды спорта из базы.

Код PHP:
  1. public function getEvents(){
  2. return $this->get('sport');
  3. }
Как вывести количество записей по \"id\" ?

Код PHP:
  1.  
  2.  
  3.  
  4.  
  5.  

Спасибо, но я не собираюсь его загружать, если только кому то если пригодится. Дело в том что я делаю не простой компонент, а спортивный и пытаюсь учесть все виды спорта, а не один. Так бы давно сделал для одного вида спорта, а теперь можно будет любой вид спорт создавать и организовать турниры или чемпионаты и спасибо все кто мне помогает потому что я не чисто супер программист, стараюсь как то -что то сделать как самоучка.
Редактировалось: 1 раз (Последний: 29 сентября 2017 в 15:48)
В начало страницы
Предыдущая темаСледующая тема Перейти на форум:
Быстрый ответ
Чтобы писать на форуме, зарегистрируйтесь или авторизуйтесь.