Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.06.2013, 14:32   #1
Jleksern
Форумчанин
 
Аватар для Jleksern
 
Регистрация: 14.10.2011
Сообщений: 137
Вопрос Не могу понять, как расделить проценты между собой. И округлить их ещё раз в 100%

Здравствуйте уважаемые.

Теперь перехожу к сути.
Сам для себя решил поиграться с php и построить диаграмму.
Она будет делиться на 4 составляющие и показывать количество посетителей от и до определенного участка времени, всё кольцо равно 100%, от этих 100% показывает кол-во процентов тех кто заходил с промежутка времени.
С 06:00 по 12:00
С 12:00 по 18:00
С 00:00 по 06:00


Проблема банальная оказалась фатальной.
Я не знаю как мне сосчитать все данные таким образом чтоб они сформировали из себя сто проценты разом, а каждая переменная имела свою долю процента в диаграмме.

PHP код:
<?php 
// 100,100,60,40 - это кол-во людей которые заходили в промежуток утра либо дня, вечера, ночью.
//360 это минут в 6 часах.
$morning=200*100/360;        //Утро
$day=100*100/360;          //День
$evening=60*100/360;      //Вечер
$night=40*100/360;          //Ночь

echo $morning+$day+$evening+$night

?>



Тоесть к примеру, чтоб переменная
$morning могла равняться к примеру 50%
$day а эта 10%
$evening = 10%
$night = 30%


содержимое файла
PHP код:
<!doctype html>
<head>
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
  <script src="https://raw.github.com/DmitryBaranovskiy/raphael/300aa589f5a0ba7fce667cd62c7cdda0bd5ad904/raphael-min.js"></script>
  <script src="lib/morris.js"></script>
  <script src="lib/prettify.js"></script>
  <script src="lib/example.js"></script>
  <link rel="stylesheet" href="lib/example.css">
  <link rel="stylesheet" href="lib/prettify.css">
  <link rel="stylesheet" href="lib/morris.css">
</head>
<body>
<h1>Donut Chart</h1>
 <?php 
$morning
=200*100/360;  //Утро
$day=100*100/360;          //День
$evening=60*100/360;      //Вечер
$night=40*100/360;          //Ночь

echo $morning+$day+$evening+$night

?> 
<div id="graph"></div>
<pre id="code" class="prettyprint linenums">
Morris.Donut({
  element: 'graph',
  data: [
     {value: <?php echo $morning ?>, label: 'C 6:00 до 12:00'},
    {value: <?php echo $day ?>, label: 'C 12:00 до 18:00'},
    {value: <?php echo $evening ?>, label: 'C 18:00 до 00:00'},
    {value: <?php echo $night ?>, label: 'C 00:00 до 06:00'}
  ],
  formatter: function (x) { return x + "%"}
}).on('click', function(i, row){
  console.log(i, row);
});
</pre>

</body>

Последний раз редактировалось Jleksern; 09.06.2013 в 14:49.
Jleksern вне форума Ответить с цитированием
Старый 09.06.2013, 14:57   #2
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

PHP код:
// количество посетителей по периодам времени
$total_visitors   400// всего за сутки
$morning_visitors 200// утром
$day_visitors     100// днем
$evening_visitors 60;  // вечером
$night_visitors   40;  // ночью

// % посетителей по периодам времени
$morning_percent  round($morning_visitors 100 $total_visitors); // % утром
$day_percent      round($day_visitors 100 $total_visitors); // % днем
$evening_percent  round($evening_visitors 100 $total_visitors); // % вечером
$night_percent    100 - ($morning_percent $day_percent $evening_percent); // % ночью

// проверка результатов
var_dump($morning_percent$day_percent$evening_percent$night_percent); // 50, 25, 15, 10
echo ($morning_percent $day_percent $evening_percent $night_percent) . '%'// 100% 
Andkorol вне форума Ответить с цитированием
Старый 09.06.2013, 15:09   #3
Jleksern
Форумчанин
 
Аватар для Jleksern
 
Регистрация: 14.10.2011
Сообщений: 137
По умолчанию

Andkorol, Я очень Вас благодарю. Я бы в жизни не решил.
Уже и родственников позвал, всю Одессу на уши поставил.
Они имели что слушать на свою голову.
Ещё раз спасибо, Вы гений.
Jleksern вне форума Ответить с цитированием
Старый 09.06.2013, 15:26   #4
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Да ладно...
Математика –> 6-й класс –> Пропорции
Andkorol вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка с построением графика функции arccos Таир Помощь студентам 3 15.05.2011 08:55
Проблемы с построением блок-схемы TTawa Общие вопросы C/C++ 0 22.11.2010 22:12
Проблема с построением графика Pirat_of Microsoft Office Excel 2 19.05.2009 20:35
Проблема с построением графика и гиперболического парабалоида... добрый спаммер Microsoft Office Excel 2 19.05.2009 11:43
Проблема с построением графика xaero93 Помощь студентам 2 28.02.2009 21:30