$meta_desc = 'Быстрые и качественные исследования в круглосуточном режиме работы, диагностика проводятся высококвалифицированными специалистами, профилактика здоровья';
$meta_kw = 'sattimed.kz, диагностика, диагностический центр, МРТ, КТ, УЗИ, саттимед, рентген, радиология, магнитно-резонансная томография, рентгеновский компьютерный томограф';
if($id == 1) // предположим, что переменная, отвечающая за id страницы - это $id, а главная страница под идентификатором 1.
{
$metatags['title'] = 'Главная страница'; // хотим переопределить заголовок для главной
$meta_desc = 'Главная страница сайта'; // хотим переопределить метаописание для главной
}
$metatags = <<<HTML
<meta charset="{$config['charset']}">
<title>{$metatags['title']}</title>
<meta name="description" content="{$meta_desc}">
<meta name="keywords" content="{$meta_kw}">
{$s_meta}{$robots_meta}
<link rel="search" type="application/opensearchdescription+xml" href="{$PHP_SELF}?do=opensearch" title="{$config['home_title']}">
HTML;
function claim_message($msg, $msgFh, $msgTh, $uuid)
{
$var = R::findOne("messages", "msg_th = ? AND is_read = 0'", [$msgTh]);
if(!is_null($var))
{
$delete = R::load("messages", $var->id);
R::trash($delete);
return $msg;
}
return "null; $msgTh , $msgFh";
}
header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
onclick="window.location.reload(); return false;"
select *
from menu m
join menu_consist mc on mc.menu_id = m.menu_id
join dish d on d.dish_id = mc.dish_id
where m.public_date >= CURDATE()
and m.public_date <= CURDATE() + INTERVAL 30 DAY
[[*alias:is=`алиас_последнего_значения_uri,_но_не_факт,_что_не_будет_пересекаться_с_одноименными`:then=`вызов_чанка_блока_или_чистый_html`]]
[[!If?
&subject=`[[*alias]]`
&operator=`==`
&operand=`алиас_последнего_значения_uri,_но_не_факт,_что_не_будет_пересекаться_с_одноименными`
&then=`вызов_чанка_блока_или_чистый_html`
]]
$city_dictionary[$en_name] = $ru_name;
//$data['response'][0]['cities'][0] - вы уверены, что по конечному нулевому индексу находится весь список, а не один город?
foreach($data['response'][0]['cities'][0] as $city_key => $city)
{
if(array_key_exists($city, $city_dictionary))
$data['response'][0]['cities'][0][$city_key] = $city_dictionary[$city];
}
=> '{type' =>
$taskList[] = array( // старый способ объявления массива, можно [, но не суть
'type' => 'Feature',
'id' => $row->id,
'geometry' => // в json-е встретилась фигурная скобка (свойство-объект) - повторяю ее открытие в своей конструкции
[ // это хоть и объявление массива, но в определенном режиме в JSON конвертнется в объект, так как имена свойств ассоциативные
'type' => 'Point',
'coordinates' =>
[ // а тут массив останется массивом, так как о ключах ни слова (они по индексу)
$row->coordinates,
$row->coordinates2
] // конец свойства coordinates
] // конец свойства geometry
);
foreach (xrange(1, 9, 2) as $number) {
echo "$number ";
}
for ($i = $start; $i <= $limit; $i += $step) {
yield $i;
}
$need_count = 10; // сколько требуется файлов для выборки
$alive_count = 0; // сколько живых файлов
$is_need_repeat = true; // требуется повторить попытку получить живые файлы
$death_list = []; // сюда накапливаем список id мертвых файлов
$alive_list = []; // сюда накапливаем список id живых файлов
while($is_need_repeat) // Если можно делать итерационную попытку и пока не набрали нужное количество живых файлов
{
// Этот запрос, чтобы прощупать целостность файлов, достаточно получить только те атрибуты, которые позволяют проверить его путь и запомнить id.
$database->setQuery("
SELECT id
from блаблабла
WHERE блаблабла
".(count($depth_list) > 0 ? : ' and id not in ('.join(',',$death_list).') ' : '')." -- отсеиваем мертвые файлы из запроса, они нам не нужны
".(count($alive_list) > 0 ? : ' and id not in ('.join(',',$alive_list).') ' : '')." -- отсеиваем живые файлы из запроса, мы их уже проверяли
ORDER блаблабла
limit 0,".($need_count - $alive_count)); // делаем лимит по оптимистичному сценарию, как будто можем получить список файлов, и все они будут живые, но только то кол-во, которое недостает
while($row = mysql_fetch_assoc($request))
{
if(file_exists('/www/ПУТЬ/'.$row['id'].'_100.jpg'))
{
$alive_list[] = $row['id']; // файл живой, заносим его id в список
}
else
{
$death_list[] = $row['id']; // файл мертвый, заносим его id в список
}
$curr_alive_count = count($alive_list);
$is_need_repeat = $curr_alive_count > 0 && $curr_alive_count > $alive_count && $curr_alive_count < $need_count; // необходимо продолжить попытки, если на текущей итерации получили хоть один живой файл, живых файлов на этой итерации оказалось больше, чем на предыдущей, и их кол-во не достаточно до необходимого
$alive_count = $curr_alive_count; // вписываем кол-во живых файлов на текущей итерации для проверки в будущем цикле (чтобы сравнить результаты двух циклов)
}
}
// теперь можно сделать нормальный запрос, исключив мертвые файлы:
$database->setQuery("
SELECT *
from блаблабла
WHERE блаблабла
".(count($depth_list) > 0 ? : ' and id not in ('.join(',',$death_list).') ' : '')." -- отсеиваем мертвые файлы из запроса
ORDER блаблабла
limit 0,".$need_count);
$database->setQuery("
SELECT *
from блаблабла
WHERE блаблабла
and is_del is null -- или нулю, в зависимости, что будет по умолчанию
ORDER блаблабла
limit 0,".$need_count);
<a href="?id=1">см. запись</a>
if(isset($_GET['id']))
{
// тут код или вызов функции для работы с одной записью
}
else
{
// тут код или вызов функции для вывода всего списка
}
msqli_prepare("текст запроса ... where id = ?"); // ставим в нужное место запроса параметрические метки
msqli_bind_param("i", $_GET["id"]); // передаем параметр на место меток-вопросов, в каком порядке они идут
msqi_execute();
// msqli_fetch функция и форматированный вывод сведений
$value = '<form method="post">
<button type="submit" onclick="return confirm(\'Вы уверены, что хотите сменить статус на \\\'Доставлен\\\' ?\')">Доставить</button>
</form>';
$value = <<<ANY_RANDOM_SYMBOLS_FOR_BORDER
<form method="post">
<button type="submit" onclick="return confirm('Вы уверены, что хотите сменить статус на \'Доставлен\' ?')">Доставить</button>
</form>
ANY_RANDOM_SYMBOLS_FOR_BORDER;
0 мс: начало скрипта
12 мс: начало чтения файла
24 мс: конец чтения файла
30 мс: запрос единицы товара
34 мс: обновление цены единицы товара
35 мс: запрос единицы товара
36 мс: обновление цены единицы товара
....
12345 мс: конец скрипта.