select case
when a.begin is null and a.end is null then 'нет данных'
when a.begin is not null and a.end is not null then concat(a.end, '-', a.begin)
when a.begin is null and a.end is not null then concat('ранее ', a.end + 1)
when a.begin is not null and a.end is null then concat('от ', a.begin)
end interval_str,
cnt
from
(
select inters.begin, inters.end, count(prepod.name) cnt
from
(
select null begin, 1969 end union all
select 1970 begin, 1979 end union all
select 1980 begin, 1989 end union all
select 1990 begin, 1999 end union all
select 2000 begin, null end union all
select null begin, null end -- запись для тех, у кого нет данных др.
) inters -- таблица с интервалами
left join
(
select 'a' name, STR_TO_DATE('2013-02-11', '%Y-%m-%d') date_r union all
select 'aa' name, STR_TO_DATE('2010-09-01', '%Y-%m-%d') date_r union all
select 'b' name, STR_TO_DATE('1968-02-11', '%Y-%m-%d') date_r union all
select 'bb' name, STR_TO_DATE('1969-01-21', '%Y-%m-%d') date_r union all
select 'c' name, STR_TO_DATE('1980-02-11', '%Y-%m-%d') date_r union all
select 'd' name, STR_TO_DATE('1989-02-11', '%Y-%m-%d') date_r union all
select 'z' name, null date_r -- препод, у которого нет данных др.
) prepod on inters.begin <= year(prepod.date_r) and inters.end >= year(prepod.date_r)
or inters.begin is null and inters.end >= year(prepod.date_r)
or inters.begin <= year(prepod.date_r) and inters.end is null
or prepod.date_r is null and inters.begin is null and inters.end is null
group by inters.begin, inters.end
order by inters.begin desc, inters.end desc
) a
$(document).keydown(function (e) {
if (e.which == 13) {
document.getElementById("commentAdd").click();
document.getElementById("messageArea").value = "";
}
});
$('textarea').on('keydown', function( el ) {
if( el.keyCode === 13 ) {
el.preventDefault();
whenEnterPressed();
}
});
htdocs/TmpGif/tr_87754306592959_133380.gif
while ($news = $NewsQuery->fetch())
{
$lastNewsList .= loadTpl("/last_news/news.html",
[
"created_at" => $news['created_at'],
"title" => $news['title'],
"content" => $news['content']
]);
}
while ($news = $NewsQuery->fetch())
{
$lastNewsList .= loadTpl("/last_news/news.html", $news);
}
$pageData['lastNews'] = loadTpl("/last_news/parent.html", $data);
function use_my_iframe()
{
var iframe = document.createElement('iframe'); // создаем фрейм
iframe.onload = function() // добавляем обработчик по завершении загрузки содержимого фрейма
{
setTimeout(function()
{
var iframe_content = iframe.contentWindow.document; // получаем доступ к контенту фрейма
var button = iframe_content.querySelector("input[type='button']"); // ищем интересуемую кнопку в контенте фрейма по селектору
button.click(); // нажимает на кнопку
setTimeout(function()
{
document.body.removeChild(iframe);
}, 30000); // удаление фрейма через некоторое время после активации кнопки
}, 3000); // ждем некоторое время после загрузки фрейма (на случай, если интересуема кнопка не сразу появляется в контенте)
};
iframe.setAttribute('src', 'http://localhost/index2.html'); // добавляем адрес страницы, где находится интересуемая кнопка
document.body.appendChild(iframe);
}
use_my_iframe(); //запускаем сейчас
setInterval(use_my_iframe, 12 * 3600 * 1000 + 30000); // Запуск функции раз в 12 часов (+30 сек, чтобы сервис гарантировано посчитал истечение срока)
define('DB_CHARSET', 'utf8');
function wp_json_encode( $data, $options = JSON_UNESCAPED_UNICODE, $depth = 512 )
{
...
UPDATE dle_users
SET user_balance = user_balance + round(user_balance / 100.0, 2)
UPDATE dle_users
SET user_balance = user_balance + ceil(user_balance / 100.0 * 100) / 100.0
^ ^
корректировка ceil по 2 знакам после запятой
records(<тут>)
VALUES(<тут>)
1, 'test', 'test' <тут> 'test',
var iframe = document.getElementById('fileUploadIframe');
iframe.width = iframe.contentWindow.document.body.scrollWidh + "px";
iframe.height = iframe.contentWindow.document.body.scrollHeight + "px";
// Запрос к БД, получающий ресурсы для формирования файла
// Заголовком сообщаем имя файла клиенту
// Формируем / получаем тело файла
echo /*отдаем переменную с телом файла*/;
// Запрос к БД на время обновления ресурсов из чего собирать файл
// Получаем время изменения файла в каталоге files
// Если файл не старее чем сведения в БД то формируем тело из него.
// Если файл старее чем сведения в БД на установленную константу времени жизни кэша, то получаем новое тело файла и обновляем файл кэша.
// Заголовком сообщаем имя файла клиенту
echo /*отдаем переменную с телом файла*/;
SELECT count(e.id) "кол-во записей example со статусом 1",
(
select count(type_id)
from example e_1
where type_id = 1
and e_1.status = 3
) "кол-во для типа 1",
(
select count(type_id)
from example e_3
where type_id = 3
and e_3.status = 3
) "кол-во для типа 3",
(
select count(type_id)
from example e_4
where type_id = 4
and e_4.status = 3
) "кол-во для типа 4"
FROM example e
WHERE e.status = 1
and e.user_id = 53;
SELECT count(e.id) "кол-во записей example со статусом 1",
count(case when e.type_id = 1
and e.status = 3 then 1 end) "кол-во для типа 1",
count(case when e.type_id = 3
and e.status = 3 then 1 end) "кол-во для типа 3",
count(case when e.type_id = 4
and e.status = 3 then 1 end) "кол-во для типа 4"
FROM example e
WHERE e.status = 1
and e.user_id = 53;
SELECT count(case when e.status = 1 then 1 end) "кол-во записей example со статусом 1",
count(case when e.type_id = 1
and e.status = 3 then 1 end) "кол-во для типа 1",
count(case when e.type_id = 3
and e.status = 3 then 1 end) "кол-во для типа 3",
count(case when e.type_id = 4
and e.status = 3 then 1 end) "кол-во для типа 4"
FROM example e
where e.user_id = 53
-- Считаем статус 1, игнорируем типы
SELECT 'with_status_1' type_query, null type_id, count(*) cnt
FROM example e
where e.status = 1
and e.user_id = 53
union all
-- Считаем остальные типы со статусом 3
SELECT 'with_another_types' type_query, e.type_id, count(*) cnt
FROM example e
where e.status = 3
and e.user_id = 53
group by e.type_id
....
<tr class="Item-service" onclick="hide_trs(this)"></tr>
....
function hide_trs(target)
{
var parent = target.parentNode;
var tr_nodes = Array.prototype.slice.call(parent.getElementsByTagName('TR'));
var tr_count = tr_nodes.length;
var target_index = tr_nodes.indexOf(target);
for(var i = target_index + 1; i < tr_count; i++)
{
var cur_tr = tr_nodes[i];
if(cur_tr.className !== 'Item-service')
cur_tr.style.display = 'none';
else
break;
}
}
SET @var = 4;
Select * from
(
-------------Ваш сложный подзапрос --------------------
SELECT *
FROM menu
WHERE FIND_IN_SET(ID,(SELECT GROUP_CONCAT(lv SEPARATOR ',') FROM (
SELECT @pv:=(SELECT GROUP_CONCAT(ID SEPARATOR ',')
FROM menu WHERE submenu IN (@pv)) AS lv FROM menu
JOIN (SELECT @pv:=@var)tmp
WHERE submenu IN (@pv)) a))
UNION ALL
SELECT *
FROM menu
WHERE ID = @var
ORDER BY ID
-------конец сложного подзапроса--------------
) complicated_menu
inner join ваша_таблица vt on complicated_menu.id = vt.id