[[*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];
}
INSERT INTO table (config, allowance, tablename) VALUES --,
('Station/Equip/Slot/Item[@key=''1'']/Supply/Item[@key=''Ph'']/Amperage', 3, 'float_actual')
,
('Station/Equip/Slot/Item[@key=''1'']/Supply/Item[@key=''Ph'']/Voltage', 3, 'number_actual')
,
('Station/Equip/Slot/Item[@key=''1'']/Supply/Item[@key=''Mc1'']/Amperage', 3, 'float_actual')
,
('Station/Equip/Slot/Item[@key=''1'']/Supply/Item[@key=''Mc1'']/Voltage', 3, 'number_actual')
,
('Station/Equip/Slot/Item[@key=''1'']/Supply/Item[@key=''Mc12'']/Amperage', 3, 'float_actual')
,
('Station/Equip/Slot/Item[@key=''1'']/Supply/Item[@key=''Mc12'']/Voltage', 3, 'number_actual')
,
('Station/Equip/Slot/Item[@key=''1'']/Supply/Item[@key=''Mc2'']/Amperage', 3, 'float_actual')
,
('Station/Equip/Slot/Item[@key=''1'']/Supply/Item[@key=''Mc2'']/Voltage', 3, 'number_actual')
,
('Station/Equip/Slot/Item[@key=''1'']/Supply/Item[@key=''An'']/Amperage', 3, 'float_actual')
,
('Station/Equip/Slot/Item[@key=''1'']/Supply/Item[@key=''An'']/Voltage', 3, 'number_actual')
;
INSERT INTO table (config, allowance, tablename) VALUES --</xsl:text><xsl:apply-templates/>
<xsl:text>;</xsl:text>
</xsl:template>
<xsl:template match="node()[@format]">
<xsl:variable name="allowance" select="Allowance/@value"/>
<xsl:text>, </xsl:text> <!-- Сюда добавлены запятая и перенос -->
<xsl:value-of select="concat('(', $apostrophe)"/>
<xsl:for-each select="ancestor::*">
<xsl:variable name="element" select="local-name()"/>
<xsl:value-of select="$element"/>
<xsl:if test="$element='Item'">
<xsl:value-of select="concat('[@key=', $apostrophe, $apostrophe, @key, $apostrophe, $apostrophe, ']')"/>
</xsl:if>
<xsl:text>/</xsl:text>
</xsl:for-each>
<xsl:choose>
<xsl:when test="starts-with(@format, 'N')">
<xsl:value-of select="concat(local-name(), $apostrophe, ', ', $allowance, ', ', $apostrophe, 'number_actual', $apostrophe, ')')"/> <!--убран вывод последней запятой -->
</xsl:when>
<xsl:when test="starts-with(@format, 'F')">
<xsl:value-of select="concat(local-name(), $apostrophe, ', ', $allowance, ', ', $apostrophe, 'float_actual', $apostrophe, ')')"/> <!--убран вывод последней запятой -->
</xsl:when>
<xsl:when test="starts-with(@format, 'D')">
<xsl:value-of select="concat(local-name(), $apostrophe, ', ', $allowance, ', ', $apostrophe, 'decimal_actual', $apostrophe, ')')"/> <!--убран вывод последней запятой -->
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="concat(local-name(), $apostrophe, ', ', $allowance, ', ', $apostrophe, 'string_actual', $apostrophe, ')')"/> <!--убран вывод последней запятой -->
</xsl:otherwise>
</xsl:choose>
<xsl:text> </xsl:text>
</xsl:template>
<xsl:template match="text()"/>
</xsl:stylesheet>
=> '{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;
}
tasks.push(data); // тут вставили очередной элемент
let task_index = tasks.length - 1; // узнаем его индекс по длине массива, так как он в текущей ситуации последний
// несколько строк спустя
b1.addEventListener("click",
(function(inner_task_index) // функция-обертка для изоляции контекста, сюда передается значение task_index, я специально выделил его другим именем inner_task_index, чтобы видеть контекст функции-обертки
{
// обертка возвращает функцию-обработчик события для addEventListener
return function delFromLocalSt() {
task.removeChild(li);
let array = JSON.parse(localStorage.getItem('task'));
array.splice(inner_task_index, 1); // удаляем элемент по известному индексу используя механизм замыкания, используя контекст функции обертки
localStorage.setItem('task', JSON.stringify(array));
}
})(task_index) // вызываем хитрую обертку, чтобы обеспечить изоляцию переменной от контекста функции createEl
);
$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 функция и форматированный вывод сведений
Console.WriteLine("\nЭлементы нового массива: ");
for (int i = 0; i < n /* тут заменить на k */; i++)
{
Console.Write(n_numbers[i] + " ");
}
Console.WriteLine("\nЗначение среднего арифметического нового массива: " + SearchAverage(n_numbers, n /* тут заменить на k */));
<style>
div.container
{
display: flex;
flex-wrap: wrap;
width: 770px;
height: 90px;
background-color: green;
overflow: hidden;
}
div.container > div
{
width: 60px;
height: 25px;
background-color: #df1245;
text-align: center;
margin: 5px;
padding: 5px 0;
}
div.container > div:nth-child(n + 22) /*этим селекторам задаем свойство сортировки элементам, которые идут после кнопки "показать еще" если контейнер будет адаптивным, придется прописывать кучу вариантов nth-child */
{
order: 2;
}
div.container > label.more
{
display: block;
width: 130px;
height: 25px;
margin: 5px;
padding: 5px 0;
text-align: center;
order: 1; /* У кнопки стоит такой индекс сортировки чтобы оказаться между видимыми и невидимыми элементами */
background-color: #78d412;
}
div.container label.more span.less
{
display: none;
}
#show-more-state
{
display: none;
}
#show-more-state:checked ~ div.container
{
height: auto;
}
#show-more-state:checked ~ div.container label.more
{
order: 3;
margin-left: auto;
}
#show-more-state:checked ~ div.container label.more span.more
{
display: none;
}
#show-more-state:checked ~ div.container label.more span.less
{
display: initial;
}
</style>
<input id="show-more-state" type="checkbox"/> <!-- Этим чекбоксом запонимаем состояние кнопки, чтобы можно было оттолкнуться стилями от превдокласса :checked -->
<div class="container">
<label class="more" for="show-more-state"><span class="more">ПОКАЗАТЬ ЕЩЕ</span><span class="less">СВЕРНУТЬ</span></label>
<div>ITEM</div>
<div>ITEM</div>
<div>ITEM</div>
<div>ITEM</div>
<div>ITEM</div>
<div>ITEM</div>
<div>ITEM</div>
<div>ITEM</div>
<div>ITEM</div>
<div>ITEM</div>
<div>ITEM</div>
<div>ITEM</div>
<div>ITEM</div>
<div>ITEM</div>
<div>ITEM</div>
<div>ITEM</div>
<div>ITEM</div>
<div>ITEM</div>
<div>ITEM</div>
<div>ITEM</div>
<div>ITEM</div>
<div>ITEM</div>
<div>ITEM</div>
<div>ITEM</div>
<div>ITEM</div>
<div>ITEM</div>
<div>ITEM</div>
</div>
$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;