вопрос
Доброго времени суток, DLE 10.1
Постала задача вывести на статической странице таблицу задач, (по строкам дни, в колонках промежутки времени).
в папке /engine/inc/ создал файл graph.php , его содержимое:
На статической странице, такая же таблица. И мне нужно ее так же заполнить. Вот только данные нужно ей как то передать. result - массив со значениями select'ov, date - дата начала, rows - количество tr в tbody.
Первая переменная генерируется исходя из заданных (date и rows).
Поэтому, что бы на сайте отобразить такую же таблицу, необходимо передать эти переменные.
Как мне это лучше сделать?
Постала задача вывести на статической странице таблицу задач, (по строкам дни, в колонках промежутки времени).
в папке /engine/inc/ создал файл graph.php , его содержимое:
<?php
if( !defined( 'DATALIFEENGINE' ) OR !defined( 'LOGGED_IN' ) ) {
die( "Hacking attempt!" );
}
if( ! $user_group[$member_id['user_group']]['admin_rssinform'] ) {
msg( "error", $lang['index_denied'], $lang['index_denied'] );
}
if( isset( $_REQUEST['id'] ) ) $id = intval( $_REQUEST['id'] ); else $id = "";
if( $_REQUEST['action'] == "doadd" ) {
if( $_REQUEST['user_hash'] == "" or $_REQUEST['user_hash'] != $dle_login_hash ) {
die( "Hacking attempt! User not found" );
}
header( "Location: http://" . $_SERVER["HTTP_HOST"] . $_SERVER["PHP_SELF"] . "?mod=graph" );
}
echoheader( "", "" );
echo <<<HTML
<style>
#result {
position:fixed;
background:#333;
bottom:0;left:50%;
transform: translateX(-50%) translateY(50%);
padding:10px;
color:#fff;
font-size:0;
padding:1px;
transition:.5s;
}
#result:hover {transform: translateX(-50%) translateY(0);}
#result input {width:calc(50% - 2px);height:30px;border:0;outline:0;text-align:center;margin:1px;background:#fff}
#result span {display:inline-block;font-size:12px;line-height:28px;width:calc(50% - 2px);height:30px;color:#fff;text-align:center;margin:1px;background:rgba(255,255,255,.5)}
#result input[type=button] {height:32px;background:rgba(0,0,0,.5);color:#fff}
#result #from {width:calc(50% - 3px);height:32px;}
#result #from::-webkit-clear-button,
#result #from::-webkit-inner-spin-button {
display: none;
}
/*Table Styles*/
.table-fill {
background: white;
border-collapse: collapse;
height: 320px;
margin: auto;
padding:5px;
width: 100%;
box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1);
animation: float 5s infinite;
}
.table-fill th {
color:#D5DDE5;;
background:#1b1e24;
border-right: 1px solid #343a45;
font-size:23px;
font-weight: 100;
padding:24px;
text-align:left;
text-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
vertical-align:middle;
}
.table-fill th:last-child {
border-right:none;
}
.table-fill tr {
border-bottom: 1px solid #C1C3D1;
color:#666B85;
font-size:16px;
font-weight:normal;
}
.table-fill tr:hover td {
background:#4E5066;
border-bottom: 1px solid #22262e;
color:#fff;
}
.table-fill tr:hover td a {
color:#FFFFFF;
}
.table-fill tr:last-child {
border-bottom:none;
}
.table-fill tr:nth-child(odd) td {
background:#EBEBEB;
}
.table-fill tr:nth-child(odd):hover td {
background:#4E5066;
}
.table-fill td {
background:#FFFFFF;
position: relative;
padding:20px;
text-align:left;
vertical-align:middle;
font-size:18px;
border-right: 1px solid #C1C3D1;
}
.table-fill td select {
background:none;
width: 100%;
border: none;
outline: none;
box-shadow: none;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
text-align: center;
text-align-last: center;
}
.table-fill tr td:nth-child(3), .table-fill tr td:nth-child(4), .table-fill tr td:nth-child(5) {
text-align: center;
}
.table-fill tr td a, .table-fill tr td select {
position: absolute;
top:0;left:0;right:0;bottom:0;
padding:20px;
color:#101010;
font-weight:bold;
text-decoration: none;
}
</style>
<table class="table-fill">
<thead>
<tr>
<th colspan="2">График занятий</th><th>14-15:00</th><th>18-19:00</th><th>19-20:00</th>
</tr>
</thead>
<tbody class="table-hover">
</tbody>
</table>
<div id="result">
<span>Сколько дней выводим?</span>
<span>Дата начала</span>
<input id="rows" type="text" onkeypress="validate(event)" value="14" placeholder="Сколько дней выводим?">
<input id="from" type="date" value="2017-03-13" placeholder="Дата начала">
<input id="gen" type="button" value="Сгенерировать">
<input id="save" type="button" value="Сохранить">
</div>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script>
var weekday = new Array('Вс','Пн','Вт','Ср','Чт','Пт','Сб');
var table = $(".table-hover");
var result = [];
function validate(evt) {
var theEvent = evt || window.event;
var key = theEvent.keyCode || theEvent.which;
key = String.fromCharCode(key);
var regex = /[0-9]|\./;
if (!regex.test(key)) {
theEvent.returnValue = false;
if (theEvent.preventDefault) theEvent.preventDefault()
}
}
$("#gen").click(function() {
table.empty();
var rows = $("#rows").val() - 1;
var date = new Date($("#from").val());
for (var i = 0; i <= rows; i++) {
var day, month, year;
month = date.getMonth() + 1;
month = ('0'+ month).slice(-2);
year = date.getFullYear();
day = date.getDate();
day = ('0'+ day).slice(-2);
table.append("<tr><td>" + weekday[date.getDay()] + "</td><td>" + [day, month, year].join(",") + "</td><td><select></select></td><td><select></select></td><td><select></select></td></tr>");
date.setDate(date.getDate() + 1)
}
$("select").append('<option value="1">X</option><option value="2">Start up</option><option value="3">Base</option><option value="4">Advanced</option><option value="5">VIP</option>');
return date, rows
});
$("#save").click(function() {
$("select").each(function(indx) {
result[indx] = $(this).val()
});
$.ajax({
type: "POST",
url: "/engine/ajax/graph.php",
data: { vals : result, from : date, rcount : rows },
success: function() {
$('#save').css('color','lime');
}
});
});
</script>
HTML;
echofooter();
?>
На статической странице, такая же таблица. И мне нужно ее так же заполнить. Вот только данные нужно ей как то передать. result - массив со значениями select'ov, date - дата начала, rows - количество tr в tbody.
Первая переменная генерируется исходя из заданных (date и rows).
Поэтому, что бы на сайте отобразить такую же таблицу, необходимо передать эти переменные.
Как мне это лучше сделать?