select a.*
from (select d.id, d.tovar_id, d.sender_id, d.recipient_id, d.message,
case
when d.sender_id < d.recipient_id
then d.sender_id * 1000000 + d.recipient_id
else d.recipient_id * 1000000 + d.sender_id
end dialog_hold
from dialogs d
where d.tovar_id = :tovar_id
and (d.sender_id = :user_id or d.recipient_id = :user_id)
) a
order by a.tovar_id, a.dialog_hold, a.id
....
$send_result = mail($admin_email, adopt($form_subject), $message, $headers );
echo $send_result ? 'success' : 'fail';
...
).done(function(e)
{
var resp = e.responseText;
alert(resp === 'success' ? 'Сообщение отправлено!' : 'Ошибка отправки сообщения');
....
}
$.ajax({
type: "POST",
url: "../js/mail.php", //Change
data: th.serialize()
}).done(function(e) {
.......
}).fail(function()
{
alert('Фатальная ошибка отправки!');
});
......('span').html( '<i class="new"></i>' + $('#form-uploa......
var now = new Date(); // Текущая дата
var event_date = new Date ("Jul 17 2018 11:30:00 GMT+0300"); // дата события (+ часовой пояс, крайне обязательно)
var dif_time = now.getTime() - event_date.getTime(); // разность в милисикундах по UTC (время приведено в один часовой пояс, крайне удачно)
var duration = 60 * 60 * 1000; // время длительности вебинара в милисекундах
switch(true)
{
case dif_time < 0:
// действия до события
break;
case dif_time >= 0 && dif_time < duration:
// действия во время события до окончания, (dif_time / 1000) - куда перематывать
break;
case dif_time >= duration:
// действия после окончания события
break;
}
.attr('href', string.trim() + "?random_param=" + Math.round(Math.random() * 1000))
$("#form")
var form_elem = $("#form"); // тут должны словить DOM-объект формы в JQuery обертке
form_elem.submit(function(.......... // а тут цепляем обработчик.
<form id="form"></from>
<form id="form1"></from>
<div id="container">
<div id="wb_bs1" style="position:absolute;left:0px;top:616px;width:85px;height:85px;z-index:753;">
<a id="bs1" style="visibility:hidden;"> </a>
</div>
<div id="wb_bs3" style="position:absolute;left:0px;top:1670px;width:85px;height:85px;z-index:754;">
<a id="bs3" style="visibility:hidden;"> </a>
</div>
<div id="wb_bs4" style="position:absolute;left:0px;top:2984px;width:85px;height:85px;z-index:755;">
<a id="bs4" style="visibility:hidden;"> </a>
</div>
<div id="wb_bs6" style="position:absolute;left:3px;top:6143px;width:85px;height:85px;z-index:756;">
<a id="bs6" style="visibility:hidden;"> </a>
</div>
<div id="wb_bs7" style="position:absolute;left:0px;top:6713px;width:85px;height:85px;z-index:757;">
<a id="bs7" style="visibility:hidden;"> </a>
</div>
<div id="wb_bs8" style="position:absolute;left:0px;top:7372px;width:85px;height:85px;z-index:758;">
<a id="bs8" style="visibility:hidden;"> </a>
</div>
<div id="wb_bs9" style="position:absolute;left:0px;top:8586px;width:85px;height:85px;z-index:759;">
<a id="bs9" style="visibility:hidden;"> </a>
</div>
<div id="wb_bs10" style="position:absolute;left:0px;top:9129px;width:85px;height:85px;z-index: 10000;">
<a id="bs10" style="visibility:hidden;"> </a>
</div>
</div>
var chartOptions = {
scales: {
yAxes: [{
barPercentage: 0.5,
gridLines: {
display: false
}
}],
xAxes: [{
gridLines: {
zeroLineColor: "black",
zeroLineWidth: 2
},
ticks: {
min: 0,
max: 6500,
stepSize: 1300
},
scaleLabel: {
display: true,
labelString: "Density in kg/m3"
}
}]
},
elements: {
rectangle: {
borderSkipped: 'left',
}
}
};
<html>
<head>
<meta http-equiv="Content-Type" content='text/html; charset=utf-8'>
</head>
<body>
<style>
html, body
{
margin: 0;
padding: 0;
}
table
{
border-collapse: collapse;
background-color: #fff;
}
table,
table td,
table th
{
border: 1px solid #333;
}
</style>
<table id="job_briefing">
<tr><th>Работник</th><th>Должность</th><th>Дата инструктажа</th><th>Инструкция</th><th>Подпись</th></tr>
</table>
<script>
(function()
{
var row_count = 30; // количество строк таблицы
var inctruct_info = '№18 от 01.07.2015'; // номер инструкции, которая будет заполнятся автоматически
// справочник работников
var workers =
[
{
name: 'Иванов И.А.',
post: 'Водитель'
},
{
name: 'Петров И.А.',
post: 'Техник'
},
{
name: 'Сидоров И.А.',
post: 'Инженер'
},
];
var job_briefing_table = document.getElementById('job_briefing'); // получаем DOM-элемент со страницы
for(var i = 0; i < row_count; i++)
job_briefing_table.appendChild(create_table_row()); // наполняем строками
// функция создания строки
function create_table_row()
{
var tr_elem = document.createElement('tr'); // создаем элемент tr
var td_elem = document.createElement('td'); // создаем элемент td
td_elem.appendChild(create_select(workers)); // создаем элемент select и вставялем его в td
tr_elem.appendChild(td_elem); // вставляем td в tr
for(var i = 0; i < 4; i++) // создаем и вставляем остальные td
{
td_elem = document.createElement('td');
tr_elem.appendChild(td_elem);
}
return tr_elem;
}
// функция создания выпадающего списка с работниками
function create_select(workers /* - список работников*/)
{
var select_elem = document.createElement('select'); // содаем элемент select
var worker_count = workers.length; // определяем кол-во работников в списке
var option_elem = document.createElement('option'); // создаем элемент option
option_elem.setAttribute('value', -1); // добавляем в option атрибут value для пустого элемента
select_elem.appendChild(option_elem); // вставляем option в select
for(var i = 0; i < worker_count; i++) // перебираем список работников
{
var worker = workers[i]; // текущий элемент списка работников
option_elem = document.createElement('option');
option_elem.setAttribute('value', i); // добавляем в option атрибут value = порядковый номер работника в списке
option_elem.innerHTML = worker.name; // имя работника в option
select_elem.appendChild(option_elem); // вставляем option в select
}
select_elem.onchange = worker_select_onchange; // добавляем обработчик события выбора элемента в выпадающем списке работников
return select_elem; // возвращаем готовый элемент выпадающего списка
}
// обработчик события выбора элемента в выпадающем списке работников
function worker_select_onchange(e)
{
var target = e.target; // получаем то элемент select, на котором произошло событие выбора работника
var select_value = target.value; // получаем выбранное value - порядковый номер работника
var tr_elem = target.parentNode.parentNode; // получаем строку, на котором располагается select (второй родительский элемент)
var td_elems = tr_elem.getElementsByTagName('td'); // получаем все ячейки этой строки
td_elems[1].innerHTML = select_value == -1 ? '' : workers[select_value].post; // задаем должность для 2-ой ячейки
td_elems[2].innerHTML = select_value == -1 ? '' : get_current_date(); // задаем текущую дату для 3-ей ячейки
td_elems[3].innerHTML = select_value == -1 ? '' : inctruct_info; // задаем сведения об инструкции для 4-ой строки
}
// функция получения текущей даты по формату DD.MM.YYYY
function get_current_date()
{
var date = new Date();
var day = date.getDate();
var month = date.getMonth() + 1;
return (day < 10 ? '0' : '') + day + '.' + (month < 10 ? '0' : '') + month + '.' + date.getFullYear();
}
})();
</script>
</body>
</html>
DELETE FROM videos WHERE id = ?
$ids = R::getAssoc('SELECT id FROM videos');
$videos = R::find( 'videos', 'id = ?', $ids );