Спасибо всем, кто зашёл в мою тему и постарался подумать над проблемой.
Оказалось всё гораздо банальнее.
Доступ к аккаунту Analytics имеют несколько человек. И вот двое из них (даже не один, а двое), не сговариваясь, решили навести порядок. Один создал новый ресурс, прописав в нём протокол https и поменяв код счётчика на сайте, а другой через несколько дней удалил старый ресурс (который http).
При этом всё, что было объявлено публично: "Я навёл небольшой порядок, поменяв протокол", -- сказал второй. Первый вообще ничего сообщать не стал.
Мне удалось раскрыть сию детективную историю, внимательно изучив Истории изменений аккаунта. Задача несколько осложнялась тем, что в процессе уборки были закрыты доступы ещё паре десятку людей (что есть безусловный super good). И важно было разглядеть в этой порятнке действителньо важную для меня запись.
Так что Google в этот раз ни в чём не виноват.
Друзья, всем спасибо за участие.
Вчера уже и сам допёр до вариантов, предложенных borisd и admak. Решение действительно простое и элегантное.
Вариант от danforth не совсем подходит, т.к. создаётся достаточно большая временная таблица (sub), а в реальной задаче число полей, их размерность и число записей в таблице весьма велики чтобы копировать записи туда-сюда.
smbbws, к сожалению это не работает. Это было первое, что пришло мне в голову.
Представьте, что у вас следующие записи (я опущу поле created):
1 - Ананас 2 - Баран 17 - Обезьяна
Отсортировать нужно по названию в обратном порядке.
Если вы напишите
SELECT * FROM table WHERE id > 17 ORDER BY title DESC;
, то не получите ни одной записи.
В то же время, отсортированный список выглядит так:
17 - Обезьяна 2 - Баран 1 - Ананас
А значит, в итоговую выборку должны попасть записи
2 - Баран 1 - Ананас
т.к. они идут ниже (после) записи «17 - Обезьяна».
Sly32, знаю SQL несколько лет. Составлял собственные SQL-запросы, занимался оптимизацией, умею читать план запроса. Но именно с такой задачей столкнулся впервые и сходу не могу сообразить.---------- Добавлено 20.01.2017 в 12:44 ----------Кроме того, раньше я работал с MySQL. Сейчас СУБД — PostgreSQL. Возможно, в ней есть какие-то особенности, упрощающие решение описанной задачи.
Проблема разрешилась.
Я связался со службой поддержки. Причём по 2 моментам. Собственно по своей проблеме непонятного аргумента-инвалида, и ещё я умудрился найти в Гугловой документации нерабочую ссылку, которая вела на 404.
Как только ребята исправили ссылку, я решил проверить качество их работы и перешёл по ней. И сразу же увидел правильное значение uid для проекта! Поменял у себя в РНР-скрипте, и сервис Firebase тут же, без лишних танцев начал отдавать мне динамические ссылки (Dynamic Links).
Я изучал РНР по официальной документации на php.net
Отдача заголовка Last-Modified происходит в интервале между передачей тегов <HEAD>?---------- Добавлено 02.09.2014 в 21:27 ----------А, я понял, откуда вы, возможно, взяли этот пример.
Вроде бы у вас сайт из статических страниц. Тогда изменения самого файла меняет дату модификации html-страницы.
Хотя не... ведь в этом случае ваши страницы — просто статика безскриптовая.
clb, вам поможет функция ucfirst(). Ссылку на документацию к ней предложил siv1987.
Но эта функция оставит заглавной лишь первую букву строки. В том случае, если ваш текст состояит из нескольких предложений, вы должны разбить его на части: каждая часть — 1 предложение. Прогнать каждое предложение через ucfirst(), а потом склеить назад.
Нужно определиться, как разбивать. Скорей всего вам достаточно будет разбивать по точке, вопросительному и восклицательному знакам.
Как разбить текст, а потом склеить знаете?
в 3-ем bootstrap есть такое. Оно там вообще штатное.
Там ведь, когда слово введёшь, красивый крести для удаления появлялся, верно?
Alex8787, предлагаю обернуть <IMG> в ссылку, т.е. вместо вашего
<p> <img src="изображение1" onclick="frout();" id="img" alt="" /> </p>
использовать
<p> <a href="…" id="anchor"><img src="изображение1" onclick="frout();" id="img" alt="" /></a> </p>
а внутри функции frout() выполнять ротацию не только src картинки, но и href ссылки.---------- Добавлено 20.05.2014 в 20:25 ----------А ещё, как правильно заметил siv1987, лучше заменить ваш switch на массив. Причина: в каждом case выполняется одно и то же действие — подстановка жёстких данных. Вычислений никаких нет.
Сделать можно, например, так:
var img_src_list = ['изображение1', 'изображение2', 'изображение3', 'изображение4', 'изображение5'];
function frout() {
…
document.getElementById('img').src = img_src_list[ chet - 1 ];
// вычитать 1 здесь нужно, потому что она у вас от 1 до 5, а индексация в массивах — с 0
}