Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовая(БД)(1).docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
969.88 Кб
Скачать

Список використаних джерел

Література:

  1. Кузнецов С. Д. Основы баз данных. Курс лекций. – М.: Интернет-университет информационных технологий, 2005. -659 стр.

  2. А. Горев, Р. Ахаян, С. Макашарипов «Эффективная работа с СУБД» - СПб. Питер, 1997. -704 стр.

  3. Алекс Кригель, Борис Трухнов: SQL. Библия пользователя, Москва: Вильямс, 2010. – 800 стр.

  4. М. Фленов, Transact-SQL, Санкт-Петербург: БХВ-Петербург, 2006. -340 стр.

  5. Александр Бондарь, Microsoft SQL Server 2012, Санкт-Петербург: БХВ-Петербург, 2013. -270 стр.

  6. Кевин Е. Кляйн, Дэниэл Кляйн, Брэнд Хант SQL. Справочник, Москва: Символ-Плюс, 2010. -360 стр.

  7. Тоу, Дэн Настройка SQL; СПб: Питер, 2009. -980 стр.

Інтернет ресурси:

  1. https://ru.wikipedia.org/wiki/Apache_HTTP_Server

  2. https://www.w3schools.com/sql/sql_select_into.asp

  3. https://www.site-do.ru/db/sql11.php

  4. http://stackoverflow.com/questions/21722375/object-of-class-mysqli-result-could-not-be-converted-to-string-in

  5. http://www.php.su/mysqli_query

  6. http://php.net/manual/ru/mysqli.query.php

  7. http://www.cyberforum.ru/php-database/thread1766077.html

  8. http://www.sql.ru/forum/721027/neskolko-zaprosov-v-funkcii-mysql-query

  9. https://php.ru/forum/threads/neskolko-zaprosov-v-odnom-podkljuchenii-k-mysql.32760/

  10. http://www.cyberforum.ru/mysql/thread1247483.html

  11. https://www.site-do.ru/db/sql11.php

Додаток а Код програмного додатку

<?php

// Переменные

$aColumns = array('id', 'checknum', 'product_code', 'mobile', 'price', 'start_date');

$sIndexColumn = "id";

$sTable = "tbl_datatable";

$gaSql['user'] = "root";

$gaSql['password'] = "root";

$gaSql['db'] = "test";

$gaSql['server'] = "localhost";

// Подключение к базе данных

function dbinit(&$gaSql) {

// Обработка ошибок

function fatal_error($sErrorMessage = '') {

header($_SERVER['SERVER_PROTOCOL'] .' 500 Internal Server Error');

die($sErrorMessage);

}

// MYSQL подключение

if ( !$gaSql['link'] = @mysql_connect($gaSql['server'], $gaSql['user'], $gaSql['password']) ) {

fatal_error('Could not open connection to server');

}

// MYSQL выбор базы данных

if ( !mysql_select_db($gaSql['db'], $gaSql['link']) ) {

fatal_error('Could not select database');

}

}

// AJAX EDIT FROM JQUERY

if ( isset($_GET['edit']) && 0 < intval($_GET['edit']) ) {

dbinit($gaSql);

// Сохранить данные

if ( isset($_POST) ) {

$p = $_POST;

foreach ( $p as &$val ) $val = mysql_real_escape_string($val);

if ( !empty($p['checknum']) && !empty($p['product_code']) && !empty($p['mobile']) && !empty($p['price']) )

@mysql_query(" UPDATE $sTable SET checknum = '" . $p['checknum'] . "', product_code = '" . $p['product_code'] . "',

mobile = '" . $p['mobile'] . "', price = '" . $p['price'] . "' WHERE id = " . intval($_GET['edit']));

}

// Получить данные

$query = mysql_query(" SELECT * FROM $sTable WHERE $sIndexColumn = " . intval($_GET['edit']), $gaSql['link']);

die(json_encode(mysql_fetch_assoc($query)));

}

// AJAX ADD FROM JQUERY

if ( isset($_GET['add']) && isset($_POST) ) {

dbinit($gaSql);

$p = $_POST;

foreach ( $p as &$val ) $val = mysql_real_escape_string($val);

if ( !empty($p['checknum']) && !empty($p['product_code']) && !empty($p['mobile']) && !empty($p['price']) ) {

@mysql_query(" INSERT INTO $sTable (checknum, product_code, mobile, price) VALUES ('" . $p['checknum'] . "',

'" . $p['product_code'] . "', '" . $p['mobile'] . "', '" . $p['price'] . "')");

$id = mysql_insert_id();

$query = mysql_query(" SELECT * FROM $sTable WHERE $sIndexColumn = " . $id, $gaSql['link']);

die(json_encode(mysql_fetch_assoc($query)));

}

}

// AJAX REMOVE FROM JQUERY

if ( isset($_GET['remove']) && 0 < intval($_GET['remove']) ) {

dbinit($gaSql);

// удалить данные

@mysql_query(" DELETE FROM $sTable WHERE id = " . intval($_GET['remove']));

}

// AJAX FROM JQUERY

if ( isset($_GET['ajax']) ) {

dbinit($gaSql);

// QUERY LIMIT

$sLimit = "";

if ( isset($_GET['iDisplayStart']) && $_GET['iDisplayLength'] != '-1' ) {

$sLimit = "LIMIT " . intval($_GET['iDisplayStart']) . ", " . intval($_GET['iDisplayLength']);

}

// QUERY ORDER

$sOrder = "";

if ( isset($_GET['iSortCol_0']) ) {

$sOrder = "ORDER BY ";

for ( $i = 0; $i < intval($_GET['iSortingCols']); $i++ ) {

if ( $_GET['bSortable_' . intval($_GET['iSortCol_' . $i])] == "true" ) {

$sOrder .= $aColumns[intval($_GET['iSortCol_' . $i])] . " " .

( $_GET['sSortDir_' . $i] === 'asc' ? 'asc' : 'desc' ) . ", ";

}

}

$sOrder = substr_replace($sOrder, "", -2);

if ( $sOrder == "ORDER BY" ) $sOrder = "";

}

// QUERY SEARCH

$sWhere = "";

if ( isset($_GET['sSearch']) && $_GET['sSearch'] != "" ) {

$sWhere = "WHERE (";

for ( $i = 0; $i < count($aColumns); $i++ ) {

if ( isset($_GET['bSearchable_' . $i]) && $_GET['bSearchable_' . $i] == "true" ) {

$sWhere .= $aColumns[$i] . " LIKE '%" . mysql_real_escape_string($_GET['sSearch']) . "%' OR ";

}

}

$sWhere = substr_replace($sWhere, "", -3);

$sWhere .= ')';

}

// BUILD QUERY

for ( $i = 0; $i < count($aColumns); $i++ ) {

if ( isset($_GET['bSearchable_' . $i]) && $_GET['bSearchable_' . $i] == "true" && $_GET['sSearch_' . $i] != '' ) {

if ( $sWhere == "" ) $sWhere = "WHERE ";

else $sWhere .= " AND ";

$sWhere .= $aColumns[$i] . " LIKE '%" . mysql_real_escape_string($_GET['sSearch_' . $i]) . "%' ";

}

}

// FETCH

$sQuery = " SELECT SQL_CALC_FOUND_ROWS " . str_replace(" , ", " ",

implode(", ", $aColumns)) . " FROM $sTable $sWhere $sOrder $sLimit ";

$rResult = mysql_query($sQuery, $gaSql['link']) or fatal_error('MySQL Error: ' . mysql_errno());

$sQuery = " SELECT FOUND_ROWS() ";

$rResultFilterTotal = mysql_query($sQuery, $gaSql['link']) or fatal_error('MySQL Error: ' . mysql_errno());

$aResultFilterTotal = mysql_fetch_array($rResultFilterTotal);

$iFilteredTotal = $aResultFilterTotal[0];

$sQuery = " SELECT COUNT(" . $sIndexColumn . ") FROM $sTable ";

$rResultTotal = mysql_query($sQuery, $gaSql['link']) or fatal_error('MySQL Error: ' . mysql_errno());

$aResultTotal = mysql_fetch_array($rResultTotal);

$iTotal = $aResultTotal[0];

while ( $aRow = mysql_fetch_array($rResult) ) {

$row = array();

for ( $i = 0 ; $i < count($aColumns); $i++ ) {

if ( $aColumns[$i] == "version" ) $row[] = ( $aRow[$aColumns[$i]] == "0" ) ? '-' : $aRow[$aColumns[$i]];

else if ( $aColumns[$i] != ' ' ) $row[] = $aRow[$aColumns[$i]];

}

$output['aaData'][] = array_merge($row, array('<a data-id="row-' . $row[0] .

'" href="javascript:editRow(' . $row[0] . ');" class="btn btn-md btn-success">edit</a> <a href="javascript:removeRow(' .

$row[0] . ');" class="btn btn-default btn-md" style="background-color: #c83a2a;border-color: #b33426; color: #ffffff;">remove</a>'));

}

// RETURN IN JSON

die(json_encode($output));

}

?>

<html>

<head>

<title>Бюджет руху грошових коштів на підприємстві: надходження</title>

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css"

integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous">

<link rel="stylesheet" type="text/css" href="//cdn.datatables.net/1.10.10/css/jquery.dataTables.css">

</head>

<body>

<h1>

Надходження до бюджету

</h1>

<br>

<div class="container-fluid">

<button type="button" style="padding:10px; margin:0 50px 15px 0;"

class="btn btn-primary btn-sm pull-right" data-toggle="modal" data-target="#add-modal"><b>Додати запис</b></button>

<div class="row">

<div class="col-md-12 marginT20">

<div class="table-responsive demo-x content">

<table id="example" class="display" cellspacing="0" width="100%">

<thead>

<tr>

<th>#</th>

<th>№ чека</th>

<th>Код продукту</th>

<th>Кількість</th>

<th>Ціна</th>

<th>Дата запису</th>

<th style="background-image: none">Edit</th>

</tr>

</thead>

</table>

</div>

</div>

</div>

</div>

<div class="modal fade" id="edit-modal" tabindex="-1" role="dialog" aria-labelledby="edit-modal-label">

<div class="modal-dialog" role="document">

<div class="modal-content">

<form class="form-horizontal" id="edit-form">

<div class="modal-header">

<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>

<h4 class="modal-title" id="edit-modal-label">Edit selected row</h4>

</div>

<div class="modal-body">

<input type="hidden" id="edit-id" value="" class="hidden">

<div class="form-group">

<label for="checknaum" class="col-sm-2 control-label">№ чека</label>

<div class="col-sm-10">

<input type="text" class="form-control" id="checknum" name="checknum" placeholder="Checknum" required>

</div>

</div>

<div class="form-group">

<label for="product_code" class="col-sm-2 control-label">Код продукту</label>

<div class="col-sm-10">

<input type="product_code" class="form-control" id="product_code" name="product_code" placeholder="Код продукту" required>

</div>

</div>

<div class="form-group">

<label for="mobile" class="col-sm-2 control-label">Кількість</label>

<div class="col-sm-10">

<input type="text" class="form-control" id="mobile" name="mobile" placeholder="Кількість" required>

</div>

</div>

<div class="form-group">

<label for="price" class="col-sm-2 control-label">Ціна</label>

<div class="col-sm-10">

<input type="text" class="form-control" id="price" name="price" placeholder="Ціна" required>

</div>

</div>

</div>

<div class="modal-footer">

<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>

<button type="submit" class="btn btn-primary">Save changes</button>

</div>

</form>

</div>

</div>

</div>

<div class="modal fade" id="add-modal" tabindex="-1" role="dialog" aria-labelledby="add-modal-label">

<div class="modal-dialog" role="document">

<div class="modal-content">

<form class="form-horizontal" id="add-form">

<div class="modal-header">

<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>

<h4 class="modal-title" id="add-modal-label">Add new row</h4>

</div>

<div class="modal-body">

<div class="form-group">

<label for="add-checknum" class="col-sm-2 control-label">№ чека</label>

<div class="col-sm-10">

<input type="text" class="form-control" id="add-checknum" name="checknum" placeholder="Checknum" required>

</div>

</div>

<div class="form-group">

<label for="add-product_code" class="col-sm-2 control-label">Код продукту</label>

<div class="col-sm-10">

<input type="product_code" class="form-control" id="add-product_code" name="product_code" placeholder="Код продукту" required>

</div>

</div>

<div class="form-group">

<label for="add-mobile" class="col-sm-2 control-label">Кількість</label>

<div class="col-sm-10">

<input type="text" class="form-control" id="add-mobile" name="mobile" placeholder="Кількість" required>

</div>

</div>

<div class="form-group">

<label for="add-price" class="col-sm-2 control-label">Ціна</label>

<div class="col-sm-10">

<input type="text" class="form-control" id="add-price" name="price" placeholder="Ціна" required>

</div>

</div>

</div>

<div class="modal-footer">

<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>

<button type="submit" class="btn btn-primary">Save changes</button>

</div>

</form>

</div>

</div>

</div>

<script src="https://code.jquery.com/jquery-2.2.0.min.js" type="text/javascript"></script>

<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"

integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS" crossorigin="anonymous"></script>

<script type="text/javascript" charset="utf8" src="//cdn.datatables.net/1.10.10/js/jquery.dataTables.js"></script>

<script type="text/javascript" language="javascript" class="init">

$(document).ready(function() {

// ATW

if ( top.location.href != location.href ) top.location.href = location.href;

// Initialize datatable

$('#example').dataTable({

"aProcessing": true,

"aServerSide": true,

"ajax": "datatable.php?ajax"

});

// Save edited row

$("#edit-form").on("submit", function(event) {

event.preventDefault();

$.post("datatable.php?edit=" + $('#edit-id').val(), $(this).serialize(), function(data) {

var obj = $.parseJSON(data);

var tr = $('a[data-id="row-' + $('#edit-id').val() + '"]').parent().parent();

$('td:eq(1)', tr).html(obj.checknum);

$('td:eq(2)', tr).html(obj.product_code);

$('td:eq(3)', tr).html(obj.mobile);

$('td:eq(4)', tr).html(obj.price);

$('#edit-modal').modal('hide');

}).fail(function() { alert('Unable to save data, please try again later.'); });

});

// Add new row

$("#add-form").on("submit", function(event) {

event.preventDefault();

$.post("datatable.php?add", $(this).serialize(), function(data) {

var obj = $.parseJSON(data);

$('#example tbody tr:last').after('<tr role="row"><td class="sorting_1">' + obj.id

+ '</td><td>' + obj.checknum + '</td><td>' + obj.product_code + '</td><td>' + obj.mobile

+ '</td><td>' + obj.price + '</td><td>' + obj.start_date + '</td><td><a data-id="row-'

+ obj.id + '" href="javascript:editRow(' + obj.id

+ ');" class="btn btn-default btn-sm">edit</a> <a href="javascript:removeRow('

+ obj.id + ');" class="btn btn-default btn-sm">remove</a></td></tr>');

$('#add-modal').modal('hide');

}).fail(function() { alert('Unable to save data, please try again later.'); });

});

});

// Edit row

function editRow(id) {

if ( 'undefined' != typeof id ) {

$.getJSON('datatable.php?edit=' + id, function(obj) {

$('#edit-id').val(obj.id);

$('#checknum').val(obj.checknum);

$('#product_code').val(obj.product_code);

$('#mobile').val(obj.mobile);

$('#price').val(obj.price);

$('#edit-modal').modal('show')

}).fail(function() { alert('Unable to fetch data, please try again later.') });

} else alert('Unknown row id.');

}

// Remove row

function removeRow(id) {

if ( 'undefined' != typeof id ) {

$.get('datatable.php?remove=' + id, function() {

$('a[data-id="row-' + id + '"]').parent().parent().remove();

}).fail(function() { alert('Unable to fetch data, please try again later.') });

} else alert('Unknown row id.');

}

</script>

</body>

</html>