$('body').on('keyup', '.select-city', function(e){
console.log(e.target.value)
});
// Предотвращение закрытия подменю
$('.navbar-main-menu > li, .sub-menu').on('mouseover', function() {
clearTimeout(menuItemOpenedTimeout);
});
// Закрытие всех подменю через 300 миллисекунд в случае покидания мышкой зоны родительского пункта меню
$('.navbar-main-menu > li').on('mouseleave', function() {
menuItemOpenedTimeout = setTimeout(function() {
$('.sub-menu').hide();
}, 300);
});
// Открытие подменю
$('.navbar-main-menu > li').on('mouseover', function() {
// Закрытие всех открытых подменю
$('.sub-menu').hide();
// Открытие текущего подменю
$(this).find('.sub-menu').show();
});
надо будет использовать Left Join, что достаточно тяжело для БД (на сколько я понимаю)
Стоит ли делать, например, отдельную таблицу с сообщениями и отдельную таблицу для связывания сообщения с пользователем (в итоге 3 таблицы)?
<?php $filteredArticles= array_filter($articles, function($a) use ($b['nomer']) { return $a['nnomer'] === $b['nomer']; }) ?>
function isLastNameEqual($someLastName, $otherLastName) {
// Пара "ий/ая"
if (
(mb_substr($someLastName, -2, 2) === "ий" && mb_substr($otherLastName, -2, 2) === "ая") ||
(mb_substr($someLastName, -2, 2) === "ая" && mb_substr($otherLastName, -2, 2) === "ий")
) {
return (mb_substr($someLastName, 0, -2) === mb_substr($otherLastName, 0, -2));
}
// Последня буква "а"
if (mb_substr($someLastName, -1, 1) !== "а" && mb_substr($otherLastName, -1, 1) === "а") {
return ($someLastName === mb_substr($otherLastName, 0, -1));
}
if (mb_substr($someLastName, -1, 1) === "а" && mb_substr($otherLastName, -1, 1) !== "а") {
return (mb_substr($someLastName, 0, -1) === $otherLastName);
}
return ($someLastName === $otherLastName);
}
// Проверка
var_dump(isLastNameEqual("Петров", "Петрова")); // true
var_dump(isLastNameEqual("Слуцкий", "Слуцкая")); // true
var_dump(isLastNameEqual("Сидорчук", "Сидорчук")); // true
var_dump(isLastNameEqual("Нколаев", "Грызлов")); // false
Можно ли как то их сравнить посимвольно и при совпадении Начальных 5-7 символов к примеру, пару такую не делать?
$row = json_encode(array_pop($stmt->fetchAll(PDO::FETCH_OBJ)));
/* or */
$row = json_encode($stmt->fetch());
SELECT
`users`.`id`,
CASE WHEN (`user_roles_details`.`id` IS NOT NULL AND `usergroup_roles_details`.`id` IS NOT NULL)
THEN CONCAT(GROUP_CONCAT(DISTINCT `user_roles_details`.`name`), ',', GROUP_CONCAT(DISTINCT `usergroup_roles_details`.`name`))
WHEN (`user_roles_details`.`id` IS NOT NULL AND `usergroup_roles_details`.`id` IS NULL)
THEN GROUP_CONCAT(DISTINCT `user_roles_details`.`name`)
WHEN (`user_roles_details`.`id` IS NULL AND `usergroup_roles_details`.`id` IS NOT NULL)
THEN GROUP_CONCAT(DISTINCT `usergroup_roles_details`.`name`)
ELSE
NULL
END AS 'roles'
FROM
`users`
LEFT JOIN `roles_users` ON (`roles_users`.`user`=`users`.`id`)
LEFT JOIN `roles` AS `user_roles_details` ON (`user_roles_details`.`id`=`roles_users`.`role`)
LEFT JOIN `roles_groups` ON (`roles_groups`.`gid`=`users`.`gid`)
LEFT JOIN `roles` AS `usergroup_roles_details` ON (`usergroup_roles_details`.`id`=`roles_groups`.`role`)
GROUP BY `users`.`id`
function splitByFirstLetter(array $arr, $key="name")
{
$splitted = [];
foreach ($arr as $element) {
$firstLetter = mb_substr($element[$key], 0, 1);
$splitted[$firstLetter][] = $element;
}
return $splitted;
}
$data = [
['id' => '1', 'name' => 'яблоко'],
['id' => '2', 'name' => 'банан'],
['id' => '3', 'name' => 'баклажан'],
['id' => '4', 'name' => 'арбуз'],
['id' => '5', 'name' => 'апельсин'],
];
$data = splitByFirstLetter($data);
ksort($data); // сортировка свежеполученного массива по алфавиту.
/*
Output:
array(3) {
["а"]=>
array(2) {
[0]=>
array(2) {
["id"]=>
string(1) "4"
["name"]=>
string(10) "арбуз"
}
[1]=>
array(2) {
["id"]=>
string(1) "5"
["name"]=>
string(16) "апельсин"
}
}
["б"]=>
array(2) {
[0]=>
array(2) {
["id"]=>
string(1) "2"
["name"]=>
string(10) "банан"
}
[1]=>
array(2) {
["id"]=>
string(1) "3"
["name"]=>
string(16) "баклажан"
}
}
["я"]=>
array(1) {
[0]=>
array(2) {
["id"]=>
string(1) "1"
["name"]=>
string(12) "яблоко"
}
}
}
*/
UPDATE `main` SET `dateend`=DATE_FORMAT(`dateend`, '%d.%m.%Y');
POST - An HTTP POST to a URL of your choosing with transaction details (in either an XML or CSV format)
GET - An HTTP GET to a URL of your choosing with transaction detail you define in the query string.
<?php foreach ($ant->authors as $author) { ?>
<?= $author->author_name ?>
<?php } ?>
SELECT `COLUMN_TYPE`
FROM `information_schema`.`COLUMNS`
WHERE 1
AND `TABLE_SCHEMA`='schema.name' -- не знаю вашей, не забудьте поменять
AND `TABLE_NAME`='orders'
AND `COLUMN_NAME`='order_id'
SELECT
`orders`.`order_id`,
`information_column_order_id`.`COLUMN_TYPE` AS 'order_id_column_type'
FROM
`orders`
JOIN `information_schema`.`COLUMNS` AS `information_column_order_id` ON (
`TABLE_SCHEMA`='schema.name' -- не знаю вашей, не забудьте поменять
AND `TABLE_NAME`='orders'
AND `COLUMN_NAME`='order_id'
)