<MyRusakov.ru />

PHP и MySQL с Нуля до Гуру

PHP и MySQL с Нуля до Гуру

Данный курс - это более 20-ти часов видеоуроков по изучению PHP и MySQL. Ключевой момент курса - это создание движка для сайта с нуля. Каждая строчка комментируется. Практически для каждого урока имеются упражнения. Причём данные упражнения направлены не только на закрепление материала, но и на реализацию реальных задач, встающих перед Web-разработчиками при создании сайтов. После курса Вы сможете без проблем создавать движки для любых сайтов.

Также почти к каждому уроку идут упражнения для закрепления материала.

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

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

Создание графиков на PHP

Создание графиков на PHP

Время от времени в PHP приходится строить различные графики. Это могут быть графики посещаемости сайта или статистика регистраций в зависимости от дня недели. В данной статье я покажу код функции, которая занимается созданием графиков на PHP.

Привожу прокомментированный код функции, которая строит график на PHP:

<?php
  function drawPlot($x, $y, $width, $height) {
    /* Узнаём количество пикселей на единицу шкалы по X и по Y */
    $p_one_x = $width / (max($x) - min($x));
    $p_one_y = $height / (max($y) - min($y));
    /* Узнаём местоположение "нулевых" координат */
    if (min($x) >= 0) $c_x = 1;
    else $c_x = abs(min($x)) * $p_one_x;
    if (min($y) >= 0) $c_y = $height - 2;
    else $c_y = $height + min($y) * $p_one_y;
    /* Превращаем координаты из одной системы (нам привычной) в другую (для компьютера) */
    $p_x = array();
    $p_y = array();
    for ($i = 0; $i < count($x); $i++) {
      $p_x[$i] = round($c_x + $x[$i] * $p_one_x);
      $p_y[$i] = round($c_y - $y[$i] * $p_one_y);
    }
    $im = imageCreateTrueColor($width, $height); // Создаём изображение
    $color = imageColorAllocate($im, 255, 255, 255); // Создаём белый цвет
    imageFilledRectangle($im, 0, 0, imageSX($im), imageSY($im), $color); // Рисуем прямоугольник
    $color = imageColorAllocate($im, 0, 0, 0); // Создаём чёрный цвет
    /* Рисуем оси координат */
    imageLine($im, $c_x, $c_y, $c_x, imageSY($im), $color);
    imageLine($im, $c_x, $c_y, $c_x, 0, $color);
    imageLine($im, $c_x, $c_y, imageSX($im), $c_y, $color);
    imageLine($im, $c_x, $c_y, 0, $c_y, $color);
    /* Рисуем первую точку */
    imageArc($im, $p_x[0], $p_y[0], 10, 10, 0, 360, $color);
    /* В цикле проходим по всем точкам, рисуем их и соединяем линиями */
    for ($i = 1; $i < count($p_x); $i++) {
      imageLine($im, $p_x[$i - 1], $p_y[$i - 1], $p_x[$i], $p_y[$i], $color);
      imageArc($im, $p_x[$i], $p_y[$i], 10, 10, 0, 360, $color);
    }
    /* Выводим изображение */
    header("Content-type: image/png");
    imagePng($im);
    imageDestroy($im);
  }
  /* Массив координат */
  $x = array(0, -1, -2, -3, 4, 6);
  $y = array(0, 1, 4, 9, 16, -36);
  drawPlot($x, $y, 600, 600); // Вызываем функцию
?>

Код очень сырой, здесь нет огромного количества проверок и не разобраны частные случаи. Но задача данного кода направить Вас в правильное русло. Добавлю, что, как обычно, на такую популярную задачу, как создание графиков в PHP, есть огромное количество готовых скриптов с огромным функционалом. Но использовать я их не рекомендую.

Делайте свои скрипты ровно с тем набором возможностей, которые Вам необходимы. А пример такой функции Вы уже посмотрели в данной статье.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (3):

malina95 malina95 25.03.2013 18:31:04

Функция не работает. Вместо картинки только надпись "Изображение", как будто не прописан путь до неё. А как можно сделать круговой график? Или на PHP такое сделать невозможно?

Ответить

Admin Admin 25.03.2013 21:42:17

Функция работает, всё проверил. Круговой график можно тоже сделать, для этого также надо использовать стандартные графические функции.

Ответить

OLEH OLEH 30.04.2013 13:25:08

Попробуй сохранить в кодировке UTF-8 без(BOM)

Ответить

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.