Приватний вищий навчальний заклад “Галицька Академія”
Кафедра комп’ютерної та програмної інженерії
КУРСОВИЙ ПРОЕКТ
з дисципліни
Управління проектуванням програмних систем
Тема – Облік відпрацьованого часу для підриємства
ПОЯСНЮВАЛЬНА ЗАПИСКА
КР.ПЗм – 10. 1. 0958. ПЗ
Студент групи ПІ-08 ___________ Воєвода О.Т.
(підпис)
Допускається до захисту
Керівник курсового проекту
____________________________________________
(посада) (підпис) (дата) (розшифровка підпису)
м.Івано-Франківськ
2013
АНОТАЦІЯ
В курсовому проекті за допомогою php та phpmyadminпідраховано облік відпрацьованого часу на підприємстві. HTML–теги відкоригували інтерфейс для користувача.
SUMMARY
Inthecourseprojectusingphpandphpmyadminestimatedrecordtimeworkedatthecompany. HTML-tagscorrectedinterface to the user.
Зміст
Стор
Вступ
1.Локальний серверdenver…..............................................................8
2. PhpmyAdmin
3. Програма …………………………….………..8
4.Висновки..…………..................…………………….…………………....18
5. Перелік використаних літературних джерел……..…………..………..19
Вступ
PHP - моварозробкипрограмногозабезпечення для Web, написаний розробникамиWeb і для розробниківWeb. Сама назва PHP є рекурсивнимскороченнямвід PHP: HypertextPreprocessor (препроцесоргіпертексту PHP). Первоночальноцейпрограмний продукт іменувавсяPersonalHomePageTools, і багатохто до цихпірвважають, щоаббоевіатура PHP розшифровуєтьсясаме так. Але з часом появипершоїверсії PHP область застосуванняцієїмовизначнорозширилася, тому за спільноюзгодоюспільнотикористувачів PHP булоприйнятонове і більшприйнятневизначення яке стало рекурсивним, в стилі GNU - GNU'sNoyUnix, або GNU - не Unix). в даний час використовуєтьсяп'ятаосновнаверсія РНР, яка скороченопозначається як РНР5, але можетакожпозначатися просто як РНР. РНР - Цесерверниймовасценаріїв, якийможе бути впроваджений в код HTML для розгортання в браузері. Ще один варіантвикористаннясценаріїв на ціймовіможепередбачатиїхавтономневиконання (але набагатоширшезастосовується перший варіант). До цієїкатегорії належать такожтакіпрограмніпродукти, щознаходяться у власностіокремихкомпаній, як ActiveServerPages (ASP) компаніїMicrosoft, ColdFusionкомпаніїMacromedia і JavaServerPages (JSP) компаніїSun. У деякихжурналах з програмуваннямова РНР часто називають "мовою ASP з відкритимпочатковим кодом", оскількицейпрограмний продукт за своїмифункціональнимиможливостямианалогічнийпрограмному продукту Microsoft. Але такеформулювання вводить в оману, оскількимова РНР буврозробленийраніше, ніж ASP. А протягомостанніхкількохроківзастосування РНР і сервернихзасобівJavaрозширюється, тоді як сфера використання ASP звужується, тому зазначенепорівняннястаєщебільшнеприйнятним.
Технології підтримки серверних сценаріїв розглядаються більш докладно в розділі 2, а при вивченні цього розділу досить керуватися визначеннясерверного сценарію як сукупності супердескріпторовHTML або невеликих програм , Які виконуються всередині Web-сторінок, але не в браузері, а на сервері, перед відправкою в браузер.
Наприклад, код РНР можнавикористовувати в коді HTML для введеннязагальнихверхніх і нижніхколонтитулів у всісторінки сайту або для збереженняданих, введениху форму,в базіданих.Строго кажучи, мова РНР практично не застосовується для створеннякомпонування, обробкиподій, виконанняманіпуляцій з елементамиоб'єктноїмоделі документа (DocumentObjectModel - DOM), а такожфактично не впливає на те, як виглядаєWeb-сторінкаабоякі звуки на нійвідтворюються. Насправдіосновначастинадій, яківиконуються в коді РНР, залишаєтьсянепомітноюдлякінцевогокористувача. Зокрема, перегляд сторінки, створеної за допомогоюмови РНР, аж ніяк не дозволяєсудити про те, що для написання коду цієїсторінкизастосовувавсяякийсьіншиймову, крім HTML, оскількизазвичай результатом відтворення коду РНР є код HTML.В даний час програмнезабезпеченняпідтримкимови РНР формально введено у виглядіокремого модуля до складу програм HTTP-сервера Apache, домінуючого на ринку безкоштовногоWeb-сервера, якийзастосовується для обробкиблизько 67% трафікуWorldWideWeb (згідно широко відомомуаналітичномуогляду, щостосуєтьсязастосуванняWeb-сервсроврізнихтипів, якийпідготовленийкомпанієюNetcraft).Цеозначає,що машина підтримкисценаріїв РНР може бути вбудованабезпосередньо в сам Web-сервер, щосприяєприскореннюобробки, більшефективномурозподілупам'яті і значногоспрощеннясупроводу. Інтерпретатормови РНР , Як і сервер Apache, повністюзабезпечуєексплуатаціюдодатків на різнихпрограмних та апаратних платформах. Цеозначає,щододатки, написані на ціймові, можутьексплуатуватися в своємубезпосередньомувигляді у багатьохрізновидахопераційноїсистемиUnix, в різнихверсіяхопераційноїсистемиWindows, а з недавнього часу - в операційнійсистеміMac OS X. Всіпроекти, що
розробляються під егідою фонду ApacheSoftwareFoundation, включаючи РНР, представляють собою програмне забезпечення з відкритим вихідним кодом.
Локальий сервер
Локальний сервер - спеціальнапрограма, щодозволяєрозробляти сайт на локальному (домашньому) комп'ютері, без необхідностівиходу в Інтернет.
Виникає ж потреба у такій програмі під час розробки динамічних сайтів, тобто сайтів, які в своїй роботі використовують php (або perl) - скрипти. Під час тестуваннязвичайнихhtml + cssсайтівлокальний сервер не потрібен.
На домашньомукомп'ютері, лише за наявності локального сервера, будутьпрацювати блоги, форуми, гостьові книги, більшість форм зворотногозв'язку, та й просто php-скрипти, які Ви, наприклад, будете писати в процесінавчання. Чому так? Та тому, що браузер розумієтількиhtml і css, а phpвін не розуміє.
/
Грубо кажучи, для того, щоб результат повернувся у виглядізвичайногоhtml, потрібно скрипт перед цимобробитиспеціальнимобробником.
Такийобробникможнасказати є накожномуінтернет-сервері, щонадаєпослуги хостингу, за виняткомдеякихбезкоштовниххостингів. Тим не менше на домашньомукомп'ютерівінвідсутній, у зв'язку з цим створили такий дистрибутив, як локальний сервер, який, імітує роботу інтернет-сервера.
У своїйпрактиці я використовуюлокальний сервер, підназвою Денвер (denwer).
2. PhpMyAdmin
PhpMyAdmin це безкоштовне програмне забезпечення, написане на PHP, і призначене для адміністрування MySQL через веб-інтерфейс. PhpMyAdminпідтримує широкий спектр операцій з MySQL. Найбільш часто використовувані операції підтримються користувацьким інтерфейсом (управління базами даних, таблицями, полями, звязками, індексами, користувачами, правами і т.д.), також є можливість напряму виконати будь-який SQL запит.
Потужностіінструменту
Інтуїтивнозрозумілий веб-інтерфейс
ПідтримкабільшостіфункційMySQL:
переглядати та видалятибазиданих, таблиці, поля, індексиполів
створювати, копіювати, видаляти, перейменовувати і змінюватибазиданих, таблиці, поля та індекси
виконувати, редагувати і додавати в закладки будь-який SQL -оператор, абопартію-запитів
управлятикористувачами і привілеями
Управлятизбереженими процедурами і тригерами
Імпортданих з CSV і SQL
Експортданих в різних форматах: CSV , SQL , XML , PDF , ISO / IEC 26300 – OpenDocumentText і таблиці, Word , Excel , L T E X і ін
Адмініструваннядекількохсерверів
Створення PDF графіківбазиданих
Створенняскладнихзапитів за допомогоюзапиту за зразком (QBE)
Пошук на глобальному рівні в базіданих
Перетворенняданих, щозберігаються в будь-якомуформаті, використовуючинабірстандартнихфункцій, таких як відображення BLOB-даних у виглядізображенняабопосилання на завантаження
І багатоіншого …
Цей інструмент, ідеально підійде людям які не впевненні у своїх знаннях mySql, і яким потрібно часто працювати із своїми базами даних. За допомогою інтуїтивного та зрозумілого інтерфейсу, ви з легкістю зможете створювати нові бази даних, таблиці, змінювати значення полів, здійснювати повноцінний пошук в базі даних. Ціопераціїдуже часто використовуються в процесістворення нового сайту.
phpMyAdminстане в нагоді тоді, коли визахочетезробитирезервнукопіювашоїбазиданих. Він з легкістюекспортує базу даних, та збережеїї у зручному для вас вигляді. Я зазвичайзберігаюрезервнікопіїсвої баз даниху простому файліізрозшиернямsql. Також, за допомогою phpMyAdmin, ви в будь-який час зможетеімпортувати вашу базу даних та повністювідновитиїїізрезервноїкопії.
На закінченнязроблю коротенький висновок. Для програмістівпочатківців, я би не радиввикористовуватипрограми типу phpMyAdmin. Настадіїосвоєння баз данихдужеважливовпевненоволодіти синтаксисом СУБД. Без цихзнаньви незможетестворюватиповноцінніпрограмиякіповинніпрацюватиіз базою даних. Цейінструментпідійде людям що не плануютьставатипрограмістамиабоадміністраторамсайтів. Цим людям, важливо не розумінняпринципівроботи СУБД, а важливим є фактор економії часу та швидкогоотриманняпотрібного результату.
3.Програма
RES.PHP
<html>
<head>
<title>Результат</title>
</head>
<body>
<center>
<table background="32062.jpeg" width=60% height=100% border="0" cellspacing="0" cellpadding="0"><tr>
<td>
<form action="calculate.php">
<select name="month">
<?php
for($i=1;$i<13;$i++)
echo "<option>$i</option>";
?>
</select>
<select name="year">
<?php
for($i=2000;$i<2020;$i++)
echo "<option>$i</option>";
?>
</select>
<input type="submit" value="Перерахувати">
</form>
<ahref="pracivnyky.php"><center><b>Працівники</b></center></a>
<ahref=".php"><center><b></b></center></a>
<ahref=".php"><center><b></b></center></a>
<?php
$conn = mysql_connect("localhost","root")or die ("Error");
mysql_select_db ("kyrsova");
$month = $_GET["month"];
$year = $_GET["year"];
$m1 = $year . "." . $month . ".01";
$m2 = $year . "." . $month . ".31";
echo "$m1, $m2";
$res = mysql_query("SELECT surname, worked, hospital, assignment, spaces FROM rezultat, pracivnyky as p
WHERE p.id=id_surname and month between '$m1' and '$m2'");
?>
<center><table width="70%" border=1><tr><th>Прізвище</th><th>Години</th><th>Лікарняні</th><th>Відрядження</th><th>Не явки</th>
</tr>
<?php
while(($row = mysql_fetch_array($res))) {
echo "<tr><td>" . $row["surname"] . "</td><td>" . $row["worked"] . "</td><td>" . $row["hospital"] . "</td><td>". $row["assignment"] . "</td><td>". $row["spaces"] . "</td>";
}
?>
</table>
</body>
</td>
</tr>
</table>
</body>
</html>
KYRS.PHP
<?php
$conn = mysql_connect( "localhost", "root");
mysql_select_db("kyrsova", $conn);
$res = mysql_query("SELECT tabel, surname, post
FROM Pracivnyky", $conn);
$n = mysql_num_rows($res);
echo "<table cellspacing=0 cellpadding=1 border=1
width=90% align=center>";
echo "<tr><th>tabel</th><th>Прізвище</th><th>
Посада</th></tr>";
for($i=0;$i<$n; $i++) {
$tabel= mysql_result($res, $i, "tabel");
$surname= mysql_result($res, $i, "surname");
$post= mysql_result($res, $i, "post");
echo "<tr><td>$tabel</td><td>$surname</td>
<td>$post</td></tr>"; }
mysql_close($conn);
?>
CALKULATE.PHP
<?php
$conn = mysql_connect("localhost","root")or die ("Error");
mysql_select_db ("kyrsova");
$month = $_GET["month"];
$year = $_GET["year"];
$m1 = $year . "." . $month . ".01";
$m2 = $year . "." . $month . ".31";
$res = mysql_query("DELETE from rezultat where month between '$m1' AND '$m2'");
mysql_query("INSERT INTO rezultat (id_surname, worked, hospital, assignment, spaces, month)
SELECT p.id, 0, 0, 0, 0, '$m1' FROM pracivnyky p");
$res = mysql_query("UPDATE rezultat r SET worked=
(SELECT count(*) as hours FROM `kalendar` k WHERE k.id_surname=r.id_surname and mark='4' and data between '$m1' and '$m2' group by id_surname)");
$res = mysql_query("UPDATE rezultat r SET worked=
(SELECT count(*) as hours FROM `kalendar` k WHERE k.id_surname=r.id_surname and mark='8' and data between '$m1' and '$m2' group by id_surname)");
$res = mysql_query("UPDATE rezultat r SET hospital=
(SELECT count(*) as hours FROM `kalendar` k WHERE k.id_surname=r.id_surname and mark='tn' and data between '$m1' and '$m2' group by id_surname)");
$res = mysql_query("UPDATE rezultat r SET assignment=
(SELECT count(*) as hours FROM `kalendar` k WHERE k.id_surname=r.id_surname and mark='vd' and data between '$m1' and '$m2' group by id_surname)");
$res = mysql_query("UPDATE rezultat r SET spaces=
(SELECT count(*) as hours FROM `kalendar` k WHERE k.id_surname=r.id_surname and mark='x' and data between '$m1' and '$m2' group by id_surname)");
mysql_close($conn);
header("Location: res.php?month=$month&year=$year");
?>
4. Висновки
В процесі курсового проекту було досягнуто кінцевої мети –спроектованоіртуальну базу даних обліку відпрацьованого часу для підприємства. За допомого веб-програми на мові phpтаhtml виконується підрахунок обліку відпрацьованого часу.
5. Перелік використаних літературних джерел
Колисниченко Д.Н. Самоучитель PHP 5 Санкт-Петербург, 2007 -632с.
Котеров Д.В., Костарев А.Ф. PHP 5 СПб.: Петербург, 2005 -1120с. ISBN 5-94157-245-X
Зольников Д.С. PHP 5 HT: Пресс, 2007 -256с. (Полнаяверсия).
ISBN 5-477-08845-8
Зольников Д.С. PHP 5Каксамостоятельносоздать сайт любойсложностиHT: Пресс, 2007 -272c. (Самоучитель)
ISBN 978-5-477-00377-8
ХольцшлагМ. МоллиЕ. ЯзикиHTMLи CSS: для создания Web-сайтов: [учеб.Пособияе] /М.Хольцшлаг; [пер. с англ. А.Климович]. – М.: ТРИУМФ, 2007. -304с.:ил – (Официальнийучебный курс).
ISBN 978-5-89392-146-5
Додатки
/
/
/
/