Как исчислять количество в php ?

#1 4 февраля 2017 в 16:08
Друзья как можно исчислять сколько больше, а сколько меньше ?

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

  1.  
  2. <?php if ( $pool['team_one']) { ?>
  3. <a href="<?php echo $this->href_to('team', $pool['team_one']); ?>" class="title"><?php html($pool['team_name']); ?></a>
  4. <?php if ($pool['score_team_one'] > $pool['score_team_two']) { ?> Тут если больше
  5. <span style="color: green;"><b>(<?php echo LANG_SPORT_TEAMS_WIN; ?>)</b></span>
  6.  
  7. <?php } else { ?><span style="color: red;"><b>(<?php echo LANG_SPORT_TEAMS_LOST; ?>)</b></span><?php } ?> А тут если меньше.
  8. <?php } ?>
#2 4 февраля 2017 в 16:37
Попробуйте к счёту count() применить.
#3 4 февраля 2017 в 16:54


Попробуйте к счёту count() применить.

Lora

Можете как то в моем примере показать даже не знаю куда count применять (
#4 4 февраля 2017 в 17:30
Нико, В коде, который вы привели, этого сделать нельзя. Вам надо посчитать $pool['score_team_one'] и $pool['score_team_two'] заранее, когда вы сделали запрос к базе данных и получили на основании этого запроса массив. Полагаю, в файле модели.

Что-то вроде будет:
  1. $count_one = 0; $count_two = 0;
  2. // Здесь массив, перебирающий массив $pool:
  3. foreach($pool as $poo){
  4. if($poo['score_team_one'}] == тому, чему должно быть равно one) $count_one++;
  5. if($poo['score_team_two'}] == тому, чему должно быть равно two) $count_two++;
  6. }
А потом в четвертой строчке вашего примера
  1. <?php if ($count_one > $count_two) { ?>
Как то так. Я, естественно, не вижу, каким образом вы получили массив $pool и чему у вас значения в базе у 'score_team_one и score_team_two,
поэтому не могу привести окончательного кода, который вы себе сможете вставить
#5 4 февраля 2017 в 17:33


Нико, В коде, который вы привели, этого сделать нельзя. Вам надо посчитать $pool['score_team_one'] и $pool['score_team_two'] заранее, когда вы сделали запрос к базе данных и получили на основании этого запроса массив. Полагаю, в файле модели.

Что-то вроде будет:

  1. $count_one = 0; $count_two = 0;
  2. // Здесь массив, перебирающий массив $pool:
  3. foreach($pool as $poo){
  4. if($poo['score_team_one'}] == тому, чему должно быть равно one) $count_one++;
  5. if($poo['score_team_two'}] == тому, чему должно быть равно two) $count_two++;
  6. }
А потом в четвертой строчке вашего примера
Как то так. Я, естественно, не вижу, каким образом вы получили массив $pool и чему у вас значения в базе у 'score_team_one и score_team_two,
поэтому не могу привести окончательного кода, который вы себе сможете вставить

Странник

  1. public function getSportSchedule($id){
  2. $sport_schedule = $this->getItemById('sport_schedule', $id);
  3. $this->filterEqual('tournament_id', $id);
  4. $this->joinLeft('sport_teams', 's', 's.id = i.team_one');
  5. $this->select('s.tournament_name', 'team_name');
  6. $this->filterEqual('s.team_group', 1);
  7. $this->joinLeft('sport_teams', 't', 't.id = i.team_two');
  8. $this->select('t.tournament_name', 'team_name_two');
  9. $this->filterEqual('t.team_group', 1);
  10. if (!$this->order_by){
  11. $this->orderBy('time', 'asc');
  12. }
  13. $sport_schedule['sport_schedules'] = $this->get('sport_schedule');
  14. return $sport_schedule;
  15. }
  16.  
#6 4 февраля 2017 в 17:39
Нико, Ой. Вот вы любитель отвечать "с портянкой"))) достаточно сослаться на номер поста #4 (у меня) или #5 (у вас)

По сути дела: в #5 вы не представили код, где формируется массив $pool. В вашем фрагменте его нет просто.
#7 4 февраля 2017 в 17:45
Нико, а, вижу отредактировали свой пост. Теперь я вижу, чему в базе равны team_one и score_team_one и аналогично для two.Если они уже внесены в базу, то и считать ничего не надо.
#8 5 февраля 2017 в 11:24
А почему бы сразу не в носить в базу вместе со счетом и значение кто победил, тогда каждый раз не нужно будет пересчитывать счет, а сразу считать победы scratch
#9 5 февраля 2017 в 16:06


А почему бы сразу не в носить в базу вместе со счетом и значение кто победил, тогда каждый раз не нужно будет пересчитывать счет, а сразу считать победы scratch

Sonat

Соревнование маштабные долго писать
#10 5 февраля 2017 в 17:23
В смысле долго?
Добавьте в эту же таблицу поле winner
и там же где вносите в нее данные о счете (наверное setSportSchedule) вписываете и победителя.

и станет легко вытаскивать статистику о победах smile
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.