06-04-2024

This commit is contained in:
2024-04-06 11:55:24 +02:00
parent f7c5cf7d47
commit 3d22f9c5d8
550 changed files with 27249 additions and 2537 deletions

71
test_sqlite/action.php Normal file
View File

@@ -0,0 +1,71 @@
<?php
//action.php
// id, filename, lens, legende, copyright, title,creator,keywords
//include('database_connection.php');
//print_r($_POST);
/*
*/
//$_POST['action'] = 'delete';
//$_POST['action'] = 'edit';
/*
$_POST["id"] = 179;
$_POST['lens'] = "";
$_POST['legende'] = "cso";
$_POST['copyright'] = "cso";
$_POST['title'] = "cso";
$_POST['creator'] = "";
$_POST['keywords'] = "";
*/
$conn = new PDO('sqlite:../db_photo.sqlite3');
if($_POST['action'] == 'edit') {
try {
$data = array(
':lens' => $_POST['lens'],
':legende' => $_POST['legende'],
':copyright' => $_POST['copyright'],
':title' => $_POST['title'],
':creator' => $_POST['creator'],
':keywords' => $_POST['keywords'],
':id' => $_POST['id']
);
$query = "
UPDATE photos
SET lens = :lens,
legende = :legende,
copyright = :copyright,
title = :title,
creator = :creator,
keywords = :keywords
WHERE id = :id
";
// echo $query;
// print_r($data);
$statement = $conn->prepare($query);
$statement->execute($data);
echo json_encode($_POST);
}
catch(PDOException $e) {
echo $e->getMessage();
}
}
if($_POST['action'] == 'delete') {
$query = "
DELETE FROM photos
WHERE id = '".$_POST["id"]."'
";
$statement = $conn->prepare($query);
$statement->execute();
echo json_encode($_POST);
}
?>

6762
test_sqlite/bootstrap.css vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,185 @@
table.dataTable {
clear: both;
margin-top: 6px !important;
margin-bottom: 6px !important;
max-width: none !important;
border-collapse: separate !important;
}
table.dataTable td,
table.dataTable th {
-webkit-box-sizing: content-box;
-moz-box-sizing: content-box;
box-sizing: content-box;
}
table.dataTable td.dataTables_empty,
table.dataTable th.dataTables_empty {
text-align: center;
}
table.dataTable.nowrap th,
table.dataTable.nowrap td {
white-space: nowrap;
}
div.dataTables_wrapper div.dataTables_length label {
font-weight: normal;
text-align: left;
white-space: nowrap;
}
div.dataTables_wrapper div.dataTables_length select {
width: 75px;
display: inline-block;
}
div.dataTables_wrapper div.dataTables_filter {
text-align: right;
}
div.dataTables_wrapper div.dataTables_filter label {
font-weight: normal;
white-space: nowrap;
text-align: left;
}
div.dataTables_wrapper div.dataTables_filter input {
margin-left: 0.5em;
display: inline-block;
width: auto;
}
div.dataTables_wrapper div.dataTables_info {
padding-top: 8px;
white-space: nowrap;
}
div.dataTables_wrapper div.dataTables_paginate {
margin: 0;
white-space: nowrap;
text-align: right;
}
div.dataTables_wrapper div.dataTables_paginate ul.pagination {
margin: 2px 0;
white-space: nowrap;
}
div.dataTables_wrapper div.dataTables_processing {
position: absolute;
top: 50%;
left: 50%;
width: 200px;
margin-left: -100px;
margin-top: -26px;
text-align: center;
padding: 1em 0;
}
table.dataTable thead > tr > th.sorting_asc, table.dataTable thead > tr > th.sorting_desc, table.dataTable thead > tr > th.sorting,
table.dataTable thead > tr > td.sorting_asc,
table.dataTable thead > tr > td.sorting_desc,
table.dataTable thead > tr > td.sorting {
padding-right: 30px;
}
table.dataTable thead > tr > th:active,
table.dataTable thead > tr > td:active {
outline: none;
}
table.dataTable thead .sorting,
table.dataTable thead .sorting_asc,
table.dataTable thead .sorting_desc,
table.dataTable thead .sorting_asc_disabled,
table.dataTable thead .sorting_desc_disabled {
cursor: pointer;
position: relative;
}
table.dataTable thead .sorting:after,
table.dataTable thead .sorting_asc:after,
table.dataTable thead .sorting_desc:after,
table.dataTable thead .sorting_asc_disabled:after,
table.dataTable thead .sorting_desc_disabled:after {
position: absolute;
bottom: 8px;
right: 8px;
display: block;
font-family: 'Glyphicons Halflings';
opacity: 0.5;
}
table.dataTable thead .sorting:after {
opacity: 0.2;
content: "\e150";
/* sort */
}
table.dataTable thead .sorting_asc:after {
content: "\e155";
/* sort-by-attributes */
}
table.dataTable thead .sorting_desc:after {
content: "\e156";
/* sort-by-attributes-alt */
}
table.dataTable thead .sorting_asc_disabled:after,
table.dataTable thead .sorting_desc_disabled:after {
color: #eee;
}
div.dataTables_scrollHead table.dataTable {
margin-bottom: 0 !important;
}
div.dataTables_scrollBody table {
border-top: none;
margin-top: 0 !important;
margin-bottom: 0 !important;
}
div.dataTables_scrollBody table thead .sorting:after,
div.dataTables_scrollBody table thead .sorting_asc:after,
div.dataTables_scrollBody table thead .sorting_desc:after {
display: none;
}
div.dataTables_scrollBody table tbody tr:first-child th,
div.dataTables_scrollBody table tbody tr:first-child td {
border-top: none;
}
div.dataTables_scrollFoot table {
margin-top: 0 !important;
border-top: none;
}
@media screen and (max-width: 767px) {
div.dataTables_wrapper div.dataTables_length,
div.dataTables_wrapper div.dataTables_filter,
div.dataTables_wrapper div.dataTables_info,
div.dataTables_wrapper div.dataTables_paginate {
text-align: center;
}
}
table.dataTable.table-condensed > thead > tr > th {
padding-right: 20px;
}
table.dataTable.table-condensed .sorting:after,
table.dataTable.table-condensed .sorting_asc:after,
table.dataTable.table-condensed .sorting_desc:after {
top: 6px;
right: 6px;
}
table.table-bordered.dataTable th,
table.table-bordered.dataTable td {
border-left-width: 0;
}
table.table-bordered.dataTable th:last-child, table.table-bordered.dataTable th:last-child,
table.table-bordered.dataTable td:last-child,
table.table-bordered.dataTable td:last-child {
border-right-width: 0;
}
table.table-bordered.dataTable tbody th,
table.table-bordered.dataTable tbody td {
border-bottom-width: 0;
}
div.dataTables_scrollHead table.table-bordered {
border-bottom-width: 0;
}
div.table-responsive > div.dataTables_wrapper > div.row {
margin: 0;
}
div.table-responsive > div.dataTables_wrapper > div.row > div[class^="col-"]:first-child {
padding-left: 0;
}
div.table-responsive > div.dataTables_wrapper > div.row > div[class^="col-"]:last-child {
padding-right: 0;
}

View File

@@ -0,0 +1,7 @@
<?php
//database_connection.php
$connect = new PDO("mysql:host=localhost; dbname=testing", "root", "sncfp1p2");
?>

View File

80
test_sqlite/fetch.php Normal file
View File

@@ -0,0 +1,80 @@
<?php
//fetch.php
// id, filename, lens, legende, copyright, title,creator,keywords
$column = array("id", "filename", "lens", "legende", "copyright", "title", "creator", "keywords");
$query = "SELECT * FROM photos ";
if(isset($_POST["search"]["value"]))
{
$query .= '
WHERE filename LIKE "%'.$_POST["search"]["value"].'%"
OR lens LIKE "%'.$_POST["search"]["value"].'%"
OR speed LIKE "%'.$_POST["search"]["value"].'%"
';
}
if(isset($_POST["order"]))
{
$query .= 'ORDER BY '.$column[$_POST['order']['0']['column']].' '.$_POST['order']['0']['dir'].' ';
}
else
{
$query .= 'ORDER BY id DESC ';
}
$query1 = '';
if($_POST["length"] != -1)
{
$query1 = 'LIMIT ' . $_POST['start'] . ', ' . $_POST['length'];
}
$conn = new PDO('sqlite:../db_photo.sqlite3');
$stmt = $conn->prepare($query);
$stmt->execute();
$res = $stmt->fetchAll();
$number_filter_row = count($res);
$stmt = $conn->prepare($query . $query1);
$stmt->execute();
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
$data = array();
foreach($result as $row) {
$sub_array = array();
$sub_array[] = $row['id'];
$sub_array[] = $row['filename'];
$sub_array[] = $row['lens'];
$sub_array[] = $row['legende'];
$sub_array[] = $row['copyright'];
$sub_array[] = $row['title'];
$sub_array[] = $row['creator'];
$sub_array[] = $row['keywords'];
$data[] = $sub_array;
}
// id, filename, lens, legende, copyright, title,creator,keywords
function count_all_data($connect) {
$connect = new PDO('sqlite:../db_photo.sqlite3');
$query = "SELECT * FROM photos";
$statement = $connect->prepare($query);
$statement->execute();
return $statement->rowCount();
}
$output = array(
'draw' => intval($_POST['draw']),
'recordsTotal' => count_all_data($conn),
'recordsFiltered' => $number_filter_row,
'data' => $data
);
echo json_encode($output);
?>

84
test_sqlite/index.php Normal file
View File

@@ -0,0 +1,84 @@
<html>
<head>
<title>How to use Tabledit plugin with jQuery Datatable in PHP Ajax</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
<!--link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" /-->
<link rel="stylesheet" href="bootstrap.css" />
<script src="https://cdn.datatables.net/1.10.12/js/jquery.dataTables.min.js"></script>
<script src="https://cdn.datatables.net/1.10.12/js/dataTables.bootstrap.min.js"></script>
<link rel="stylesheet" href="https://cdn.datatables.net/1.10.12/css/dataTables.bootstrap.css" />
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
<script src="https://markcell.github.io/jquery-tabledit/assets/js/tabledit.min.js"></script>
</head>
<body>
<div class="container">
<h3 align="center">How to use Tabledit plugin with jQuery Datatable in PHP Ajax</h3>
<br />
<div class="panel panel-default">
<div class="panel-heading">Sample Data</div>
<div class="panel-body">
<div class="table-responsive">
<table id="sample_data" class="table table-bordered table-striped">
<thead>
<tr>
<th>ID</th>
<th>Filename</th>
<th>Lens</th>
<th>Legende</th>
<th>Copyright</th>
<th>Title</th>
<th>Creator</th>
<th>Keywords</th>
</tr>
</thead>
<tbody></tbody>
</table>
</div>
</div>
</div>
</div>
<br />
<br />
</body>
</html>
<script type="text/javascript" language="javascript" >
$(document).ready(function(){
var dataTable = $('#sample_data').DataTable({
"processing" : true,
"serverSide" : true,
"order" : [],
"ajax" : {
url:"fetch.php",
type:"POST"
}
});
// id, filename, lens, legende, copyright, title,creator,keywords
// [1, 'filename'],
$('#sample_data').on('draw.dt', function(){
$('#sample_data').Tabledit({
url:'action.php',
dataType:'json',
columns:{
identifier : [0, 'id'],
editable:[[2, 'lens'], [3, 'legende'], [4, 'copyright'], [5, 'title'], [6, 'creator'], [7, 'keywords']]
},
restoreButton:false,
onSuccess:function(data, textStatus, jqXHR)
{
if(data.action == 'delete')
{
$('#' + data.id).remove();
$('#sample_data').DataTable().ajax.reload();
}
}
});
});
});
</script>

23
test_sqlite/style.css Normal file
View File

@@ -0,0 +1,23 @@
@media (min-width: 768px) {
.container {
width: 750px;
}
}
@media (min-width: 992px) {
.container {
width: 970px;
}
}
@media (min-width: 1200px) {
.container {
width: 1170px;
}
}
@media (min-width: 1400px) {
.container {
width: 1370px;
}
}