npm build
public function index(Request $request, int $page) {
$data = $dataService->getPage($page);
return $this->render('builders/index.html.twig', [
'data' => $data,
]);
}
public function getPage(int $page) {
$pageSize = 10;
$offset = $page > 0 $pageSize * ($page - 1) : 0;
// SELECT * FROM table OFFSET $offset LIMIT $pageSize
return $query->getResult();
}
<?php
$text = <<<TEXT
<span class="abcd_1">
<a href="items.php?id=1">Item 1</a>
<a href="items.php?id=2">Item 2</a>
<a href="items.php?id=3">Item 3</a>
</span>
TEXT;
$countItems = preg_match('|<span class="abcd_1">.+<a href="(items.php\?id=\d+)"|sU', $text, $matches);
if ($countItems > 0){
echo 'link: ' . $matches[1];
} else {
echo 'Count 0';
}
$rurl = $_SERVER["REQUEST_URI"];
switch($rurl){
case "/":
case "/index.php":
$pageName = "Главная страница.";
break;
case "/register.php":
case "/reg":
$pageName = "Страница регистрации.";
break;
/* Others cases */
default:
// Если не нашлось никакого соответствия, то это будет страница ошибки: 404
$pageName = "Ошибка 404. Страница не найдена.";
}
//Выводим текст на странице
echo 'Название страницы: ' . $pageName;
sort
, кидаете на нее автоинкремент. В данном случае это только вспомогательная колонка, которая разрулит конфликты, когда по дате "ну чет не очень то и отсортировалось".GROUB BY date DESC, sort DESC
, в такой интерпретации date
не у дел, поэтому можно простоGROUB BY sort DESC
.mb_strtoupper()
. Почему не работает? Видимо на это настройки не распространяются и многобайтовая кодировка не стыкуется с однобайтовой. <?php
function getBorderTimes($times){
return explode('-', $times);
}
function getDateTime($time){
return DateTime::createFromFormat('H:i', $time);
}
$enrollTime = '13:00-14:00';
$busyTimes = ['9:00-11:30', '11:30-13:00', '14:00-15:00'];
$enrollBorderTimes = getBorderTimes($enrollTime);
$enrollStartTime = getDateTime($enrollBorderTimes[0]);
$enrollStopTime = getDateTime($enrollBorderTimes[1]);
$canEnroll = true;
foreach ($busyTimes as $busyTime) {
$borderTimes = getBorderTimes($busyTime);
/**
* $borderTimes[0] - время начала записи
* $borderTimes[1] - время окончания записи
*/
$startTime = getDateTime($borderTimes[0]);
$stopTime = getDateTime($borderTimes[1]);
/**
* Если время начала записи в промежутке других записей, то считаем время записи невалидной
*/
if($startTime < $enrollStartTime && $stopTime > $enrollStartTime){
$canEnroll = false;
break;
}
/**
* Если время конца записи в промежутке других записей, то считаем время записи невалидной
*/
if($startTime < $enrollStopTime && $stopTime > $enrollStopTime){
$canEnroll = false;
break;
}
}
if($canEnroll){
echo 'Можете записаться';
}else{
echo 'Записаться нельзя';
}
echo PHP_EOL;