«Работать добросовестно — значит: работать, повышая свою квалификацию, проявляя инициативу в совершенствовании продукции, технологий, организации работ, оказывая не предусмотренную должностными инструкциями помощь другим сотрудникам (включая и руководителей) в общей им всем работе.

СУБД/лекция 3 семестр 2 — различия между версиями

Материал из Wiki
Перейти к: навигация, поиск
(Подкючение к БД)
(Классы построения графиков)
Строка 150: Строка 150:
 
* Скачиваем класс  
 
* Скачиваем класс  
 
[http://sourceforge.net/projects/pchart/files/pchart/pChart%201.27%20-%20beta/pChart.1.27d.rar/download pChart]
 
[http://sourceforge.net/projects/pchart/files/pchart/pChart%201.27%20-%20beta/pChart.1.27d.rar/download pChart]
 +
 +
Очень часто при создании каких-нибудь сервисов приходится рисовать различные графики. Например, если Вы делаете рекламную сеть, то можно построить зависимости количества переходов по рекламным материалам по дням. Если это какой-нибудь Интернет-магазин, то можно строить графики доходов магазина. Как рисовать графики в PHP, я разберу ниже.
 +
 +
Во-первых, можно всё делать самостоятельно, написав свою библиотеку. Здесь надо учитывать, что координаты в PHP идут на увеличение вправо и вниз, тогда как в математике они идут вправо и вверх. В остальном, ничего особо сложного.
 +
 +
Однако, если писать особо не хочется, то есть просто замечательнейшая библиотека, позволяющая строить самые разнообразные графики, диаграммы, гистограммы и прочее. Целая куча различных возможностей (подписывание осей, рисование нескольких графиков на одной оси, рисование порогов, отображение легенды и прочего) делают данную библиотеку по-настоящему универсальной.
 +
 +
Библиотека называется '''pChart''': ознакомиться с документацией и скачать pChart.
 +
 +
Предлагаю Вашему вниманию пример:
 +
<source lang="php"><?php
 +
  /* Подключаем классы */
 +
  require_once "pChart/pData.class";
 +
  require_once "pChart/pChart.class";
 +
  $DataSet = new pData(); // Создаём объект pData
 +
  $DataSet->AddPoint(array(0, 1, 4, 9, 16, 25, 36, 49, 64, 81, 100), "Serie1"); // Загружаем данные графика 1
 +
  $DataSet->AddPoint(array(0, 1, 8, 27, 64, 125, 216, 343, 512, 729, 1000), "Serie2"); // Загружаем данные графика 2
 +
  $DataSet->AddAllSeries(); // Добавить все данные для построения
 +
  $Test = new pChart(700, 230); // Рисуем графическую плоскость
 +
  $Test->setFontProperties("Fonts/tahoma.ttf", 8); // Установка шрифта
 +
  $Test->setGraphArea(50, 30, 585, 200); // Установка области графика
 +
  $Test->drawFilledRoundedRectangle(7, 7, 693, 223, 5, 240, 240, 240); // Выделяем плоскость прямоугольником
 +
  $Test->drawRoundedRectangle(5, 5, 695, 225, 5, 230, 230, 230); // Делаем контур графической плоскости
 +
  $Test->drawGraphArea(255, 255, 255, true); // Рисуем графическую плоскость
 +
  $Test->drawScale($DataSet->GetData(), $DataSet->GetDataDescription(), SCALE_NORMAL, 150, 150, 150, true, 0, 2); // Рисуем оси и график
 +
  $Test->drawGrid(4, true, 230, 230, 230, 50); // Рисуем сетку
 +
  $Test->drawLineGraph($DataSet->GetData(),$DataSet->GetDataDescription()); // Соединяем точки графика линиями
 +
  $Test->drawPlotGraph($DataSet->GetData(),$DataSet->GetDataDescription(), 3, 2, 255, 255, 255); // Рисуем точки
 +
  $Test->drawTitle(50, 22, "MyRusakov.ru", 50, 50, 50, 585); // Выводим заголовок графика
 +
  $Test->Stroke(); // Выводим график в окно браузера;
 +
?></source>
 +
 +
В данном примере мы строим параболу и кубическую параболу, а затем выводим этот график в браузер. Также можно сохранять график в файл, для этого вместо Stroke() надо использовать метод Render("filename.png").
 +
 +
Возможностей у библиотеки масса, я лишь показал самые-самые базовые. Поэтому если Вам нужно построение графиков на сайте через PHP, то обязательно ознакомьтесь с документацией pChart.

Версия 23:23, 29 апреля 2014

Содержание

Литература

Подкючение к БД

<?php
$db = "alldb";
$user = "student";
$pass = "studentpass";
$server = "93.125.42.8";
$link = mysql_connect($server, $user, $pass); // Функция подключения к базе данных в переменной link храниться результат подключения
if(!$link) die("cann't connect Mysql");       // Проверка успешности подключения
else echo "Connect to ".$db." successfull";
mysql_select_db($db) or die("cann't connect Mysql".mysql_error());
//..........
// Выполнение запросов и работа программы
//..........
mysql_close($link);
?>
  • Задете имя базы
  • Имя пользователя
  • Пароль
  • IP Сервера
  • mysql_connect подключение к базе и создание сессии подключения
  • Обязательно проверям статус выполения
  • mysql_select_db выбор базы данных для работы (аналог use имя_базы)
  • mysql_close($link); закрываем соединение (обязательно делать потому как число соединение обычно граничено для серверов)

Выполение запросов

1) Вставка записей в базу данных

$query="INSERT INTO `таблицу` (`указываем поле`,`указываем поле`) VALUES ('любое значение','любое значение')";
$result=mysql_query($query);
if($result==true)
{
    echo "Успешно!";
}
else
{
    echo "Ошибка!<br>".mysql_error();
}


То есть вставка производится функцией INSERT. Если все прошло успешно, то mysql вернет результат true, или иначе — false.

Полей можно указывать хоть сколько, главное чтобы все они существовали в БД. То есть, к примеру существует таблица в которой есть поля «name» , «surname» и «city».

$query="INSERT INTO `users` (`name`,`surname`,`city`) VALUES ('Ruslan','Huzin','Kokshetau')";
$result=mysql_query($query);
if($result==true)
{
    echo "Успешно!";
}
else
{
    echo "Ошибка!<br>".mysql_error();
}

2) Удаление записей из базы данных

$query="DELETE FROM `users` WHERE `name`='Ruslan' ";
$result=mysql_query($query);
if($result==true)
{
    echo "Успешно!";
}
else
{
    echo "Ошибка!<br>".mysql_error();
}


3) Изменение значений в базе данных

Также мы можем вносить изменения в уже существующие записи в таблице. К примеру нам надо заменить значение столбца name в строке, где столбец surname имеет значение Huzin.

$query="UPDATE `users` SET `name`='myname' WHERE `surname`='Huzin' ";
$result=mysql_query($query);
if($result==true)
{
    echo "Успешно!";
}
else
{
    echo "Ошибка!<br>".mysql_error();
}


4) Получение значений из базы данных

Теперь самое интересное) Раз мы записали что-то, то ведь должны и получить обратно?)))

К примеру нам нужно достать из таблицы users всю строку где столбец name равен Ruslan.

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

$query="SELECT * FROM WHERE `name`='Ruslan' ";
$result=mysql_query($query);
if($result==true)
{
    echo "Успешно!";
}
else
{
    echo "Ошибка!<br>".mysql_error();
}
$data=mysql_fetch_array($result);
 
/*
Теперь в переменной
хранятся данные из таблицы
*/

Тут нам потребовалась еще одна функция, для записи выбранных данных в переменную (массив) на php.

Для того что обратиться к выбранной строке, мы пишем так:

$data['имя столбца']

то есть, чтобы достать фамилию из выбранной строки (где имя было Ruslan), мы на вывод должны написать:

echo $data['surname'];

А при выборке из таблицы, писали SELECT *, эта звездочка означает что нужно выбрать все столбцы из строки.

Если нам надо, к примеру, выбрать только surname, пишем SELECT `surname`.

А для выборки сразу нескольких строк из таблицы, потребуется еще и цикл для их вывода. Это в том случае, если к примеру, строк со столбцом Ruslan будет несколько.

$query="SELECT * FROM WHERE `name`='Ruslan' ";
$result=mysql_query($query);
 
while($data=mysql_fetch_array($result))
{
    echo $data['name']."<br>".$data['surname']."<hr>";
}

Теперь на экран выведутся все строки у которых столбец name равен значению Ruslan.

Классы построения графиков

  • Скачиваем класс

pChart

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

Во-первых, можно всё делать самостоятельно, написав свою библиотеку. Здесь надо учитывать, что координаты в PHP идут на увеличение вправо и вниз, тогда как в математике они идут вправо и вверх. В остальном, ничего особо сложного.

Однако, если писать особо не хочется, то есть просто замечательнейшая библиотека, позволяющая строить самые разнообразные графики, диаграммы, гистограммы и прочее. Целая куча различных возможностей (подписывание осей, рисование нескольких графиков на одной оси, рисование порогов, отображение легенды и прочего) делают данную библиотеку по-настоящему универсальной.

Библиотека называется pChart: ознакомиться с документацией и скачать pChart.

Предлагаю Вашему вниманию пример:
<?php
  /* Подключаем классы */
  require_once "pChart/pData.class";
  require_once "pChart/pChart.class";
  $DataSet = new pData(); // Создаём объект pData
  $DataSet->AddPoint(array(0, 1, 4, 9, 16, 25, 36, 49, 64, 81, 100), "Serie1"); // Загружаем данные графика 1
  $DataSet->AddPoint(array(0, 1, 8, 27, 64, 125, 216, 343, 512, 729, 1000), "Serie2"); // Загружаем данные графика 2
  $DataSet->AddAllSeries(); // Добавить все данные для построения
  $Test = new pChart(700, 230); // Рисуем графическую плоскость
  $Test->setFontProperties("Fonts/tahoma.ttf", 8); // Установка шрифта
  $Test->setGraphArea(50, 30, 585, 200); // Установка области графика
  $Test->drawFilledRoundedRectangle(7, 7, 693, 223, 5, 240, 240, 240); // Выделяем плоскость прямоугольником
  $Test->drawRoundedRectangle(5, 5, 695, 225, 5, 230, 230, 230); // Делаем контур графической плоскости
  $Test->drawGraphArea(255, 255, 255, true); // Рисуем графическую плоскость
  $Test->drawScale($DataSet->GetData(), $DataSet->GetDataDescription(), SCALE_NORMAL, 150, 150, 150, true, 0, 2); // Рисуем оси и график
  $Test->drawGrid(4, true, 230, 230, 230, 50); // Рисуем сетку
  $Test->drawLineGraph($DataSet->GetData(),$DataSet->GetDataDescription()); // Соединяем точки графика линиями
  $Test->drawPlotGraph($DataSet->GetData(),$DataSet->GetDataDescription(), 3, 2, 255, 255, 255); // Рисуем точки
  $Test->drawTitle(50, 22, "MyRusakov.ru", 50, 50, 50, 585); // Выводим заголовок графика
  $Test->Stroke(); // Выводим график в окно браузера;
?>

В данном примере мы строим параболу и кубическую параболу, а затем выводим этот график в браузер. Также можно сохранять график в файл, для этого вместо Stroke() надо использовать метод Render("filename.png").

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