Форум программистов, компьютерный форум, киберфорум
PHP
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
21 / 10 / 4
Регистрация: 02.04.2015
Сообщений: 779

Добавить к пагинации данные из параметров в ссылке

06.11.2025, 22:02. Показов 1714. Ответов 21
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени, есть такой скрипт пагинации, почти все работает так как мне нужно
но только вот траблы у меня с пагинацией, данные города и раздела берутся из ссылки
вида - https://domen.com/poisk.php?gorod=New York, NY&razdel=Household appliances

и передаются в последствии в бд , на выходе получаю данные из бд, но только отображает первую страницу
А пагинация на следующие страницы идет без параметров
такого вида - https://domen.com/poisk.php?search.php?page=2

Помогите дополнить скрипт, чтобы в пагинации добавлялись параметры и ссылки в пагинации имели вид
НЕ ТАКОЙ....
poisk.php?page=2
poisk.php?page=3
poisk.php?page=4
poisk.php?page=5

А ТАКОЙ...
poisk.php?gorod=New%20York,%20NY&razdel= Household%20appliances&page=2
poisk.php?gorod=New%20York,%20NY&razdel= Household%20appliances&page=3
poisk.php?gorod=New%20York,%20NY&razdel= Household%20appliances&page=4
poisk.php?gorod=New%20York,%20NY&razdel= Household%20appliances&page=5

Чтобы передавало параметры в ссылке!

Там вся проблема в том что это функция и внутри у нее ограниченна видимость переменных


вот я добавил код
в функцию

// добавляет к пагинации (город и категорию)
$gorod = $_GET['gorod'];
$razdel = $_GET['razdel'];
$loccat = "&gorod=$gorod&razdel=$razdel";
// print_r($loccat);


как теперь мне связать вместе чтобы получить линки в пагинации вида?
poisk.php?gorod=New%20York,%20NY&razdel= Household%20appliances&page=2
poisk.php?gorod=New%20York,%20NY&razdel= Household%20appliances&page=3
poisk.php?gorod=New%20York,%20NY&razdel= Household%20appliances&page=4
poisk.php?gorod=New%20York,%20NY&razdel= Household%20appliances&page=5



PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
<?php
$gorod1 = isset($_GET['gorod']) ? $_GET['gorod'] : 'New York, NY';
$gorod = addslashes($gorod1); // экранирует (\, ', ", NULL). 
 
 
$razdel1 = isset($_GET['razdel']) ? $_GET['razdel'] : 'Household appliances';
$razdel = addslashes($razdel1); // экранирует (\, ', ", NULL).
 
// вид ссылки с параметрами https://domen.com/poisk.php?gorod=New York, NY&razdel=Household appliances
?>
 
<!DOCTYPE html>
<html lang="en-us">
<head>
<meta charset="utf-8">
 
</head>
<body>
 
 
 
 
 
 
<?php
$servername = "localhost";
$database = "bdmames1";
$username = "bdmames1";
$password = "12121212";
// Устанавливаем соединение
$db = mysqli_connect($servername, $username, $password, $database);
 
 
 
// Проверяем соединение
if (!$db) {
die("Connection failed: " . mysqli_connect_error());
}
 
// выводим из бд
$db = new mysqli($servername, $username, $password, $database);
mysqli_set_charset($db, "utf8");
if($db->connect_error){
    die("Ошибка: " . $db->connect_error);
}
 
 
$pageformat = 'search.php?page={pagenum}'; //Формат ссылки вместо {pagenum} будет номер страницы
 
 
$address_sql = "%$gorod%";
$category_sql = "$razdel";
 
 
$page = $_GET['page']; //Номер страницы
$num = 10; //Количество записей
$sql = "FROM `bdmames1` WHERE category='$category_sql' AND address LIKE '$address_sql' ORDER BY id DESC"; //sql запрос без SELECT
 
$result = Pagination ($db, $sql, $num, $pageformat, $page, $loccat);
 
 
function Pagination ($db, $sql, $num, $pageformat, $page){
$result = $db->query("SELECT COUNT(*) ". $sql)->fetch_row();
$total = intval(($result[0] - 1) / $num) + 1;
$page = intval($page);
 
 
// добавляет к пагинации (город и категорию)
$gorod = $_GET['gorod'];
$razdel = $_GET['razdel'];
$loccat = "&gorod=$gorod&razdel=$razdel";
// print_r($loccat);
 
 
if(empty($page) or $page < 0) $page = 1;
if($page > $total) $page = $total;
$start = $page * $num - $num;
$getinfo = $db->query("SELECT * " .$sql. " LIMIT $start, $num");
$info = $getinfo->fetch_all(MYSQLI_ASSOC);
preg_match('/(?<a>.*?){pagenum}(?<b>.*?)/', $pageformat, $pg);
if ($page != 1) $pervpage = "<a href={$pg['a']}1{$pg['b']}><<</a><a href={$pg['a']}".($page - 1)." {$pg['b']}><</a>";
if ($page != $total) $nextpage = ' <a href='.$pg['a']. ($page + 1) .$pg['b'].'>></a><a href='.$pg['a'] .$total. $pg['b'].'>>></a>';
if($page - 2 > 0) $page2left = ' <a href='.$pg['a']. ($page - 2).$pg['b'].'>'. ($page - 2) .'</a> ';
if($page - 1 > 0) $page1left = '<a href='.$pg['a']. ($page - 1).$pg['b'].'>'. ($page - 1) .'</a> ';
if($page + 2 <= $total) $page2right = '  <a href='.$pg['a']. ($page + 2).$pg['b'] .'>'. ($page + 2).'</a>';
if($page + 1 <= $total) $page1right = '  <a href='.$pg['a']. ($page + 1).$pg['b'].'>'. ($page + 1).'</a>';
$pagination =  $pervpage.$page2left.$page1left.'<a class="active" href="#">'.$page.'</a>'.$page1right.$page2right.$nextpage;
$result = array('result' => $info);
 
 
 
 
 
foreach ($result['result'] as $row) {
 
 
 
echo "тут вывод данных из бд"; 
}
 
 
echo "<span>$pagination</span>";
 
 
 
}
$db->close(); 
?>
 
 
 
 
 
</body>
</html>
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
06.11.2025, 22:02
Ответы с готовыми решениями:

Принятие параметров в ссылке и их отправка далее по ссылке без action
Доброго времени суток. У меня есть данный кусок кода &lt;?php if (isset($_GET)) { $_SESSION...

Пагинация. Вывод не соответствующих данных
Доброго времени суток, жители форума. Пытаюсь освоить принцип пагинации, и мне почти удалось. Но...

Сохранение данных фильтра при пагинации
Добрый день. Подскажите пожалуйста, проблема в общем стандартная, но ответа не нашел. Есть каталог,...

21
 Аватар для sad67man
2604 / 1508 / 689
Регистрация: 23.08.2015
Сообщений: 3,839
06.11.2025, 23:52
serauto79,
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
function currentUri($params = []): string
{
    $data = parse_url($_SERVER['REQUEST_URI']);
    parse_str($data['query'] ?? '', $queryParams);
    $queryParams = array_filter(array_merge($queryParams, $params));
    return $data['path'] . (!empty($queryParams) ? '?' . http_build_query($queryParams) : '');
}
 
echo currentUri(['page' => null]); . '<br>';
echo currentUri(['page' => 2]); . '<br>';
echo currentUri(['page' => 3]); . '<br>';
echo currentUri(['page' => 4]); . '<br>';
echo currentUri(['page' => 5]); . '<br>';
функция генерирует ссылку на основе текущей, добавляя дополнительные параметры, если передать значение null, то параметр удалится. Таким образом все остальные параметры остаются.
0
21 / 10 / 4
Регистрация: 02.04.2015
Сообщений: 779
07.11.2025, 00:02  [ТС]
Цитата Сообщение от sad67man Посмотреть сообщение
function currentUri($params)

и что мне с этой функцией делать?

Мне нужна правка в моем коде!
0
 Аватар для sad67man
2604 / 1508 / 689
Регистрация: 23.08.2015
Сообщений: 3,839
07.11.2025, 00:07
Цитата Сообщение от serauto79 Посмотреть сообщение
и что мне с этой функцией делать?
Генерировать при помощи нее ссылки для пагинации.
0
21 / 10 / 4
Регистрация: 02.04.2015
Сообщений: 779
07.11.2025, 00:17  [ТС]
но у меня уже есть функция


PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
function Pagination ($db, $sql, $num, $pageformat, $page){
$result = $db->query("SELECT COUNT(*) ". $sql)->fetch_row();
$total = intval(($result[0] - 1) / $num) + 1;
$page = intval($page);
 
 
// добавляет к пагинации (город и категорию)
$gorod = $_GET['gorod'];
$razdel = $_GET['razdel'];
$loccat = "&gorod=$gorod&razdel=$razdel";
// print_r($loccat);
 
 
if(empty($page) or $page < 0) $page = 1;
if($page > $total) $page = $total;
$start = $page * $num - $num;
$getinfo = $db->query("SELECT * " .$sql. " LIMIT $start, $num");
$info = $getinfo->fetch_all(MYSQLI_ASSOC);
preg_match('/(?<a>.*?){pagenum}(?<b>.*?)/', $pageformat, $pg);
if ($page != 1) $pervpage = "<a href={$pg['a']}1{$pg['b']}><<</a><a href={$pg['a']}".($page - 1)." {$pg['b']}><</a>";
if ($page != $total) $nextpage = ' <a href='.$pg['a']. ($page + 1) .$pg['b'].'>></a><a href='.$pg['a'] .$total. $pg['b'].'>>></a>';
if($page - 2 > 0) $page2left = ' <a href='.$pg['a']. ($page - 2).$pg['b'].'>'. ($page - 2) .'</a> ';
if($page - 1 > 0) $page1left = '<a href='.$pg['a']. ($page - 1).$pg['b'].'>'. ($page - 1) .'</a> ';
if($page + 2 <= $total) $page2right = '  <a href='.$pg['a']. ($page + 2).$pg['b'] .'>'. ($page + 2).'</a>';
if($page + 1 <= $total) $page1right = '  <a href='.$pg['a']. ($page + 1).$pg['b'].'>'. ($page + 1).'</a>';
$pagination =  $pervpage.$page2left.$page1left.'<a class="active" href="#">'.$page.'</a>'.$page1right.$page2right.$nextpage;
$result = array('result' => $info);
 
 
 
 
 
foreach ($result['result'] as $row) {
 
 
 
echo "тут вывод данных из бд"; 
}
 
 
echo "<span>$pagination</span>";
 
 
 
}
как мне интегрировать, нихренась не пойму
у меня в функции есть код

$gorod = $_GET['gorod'];
$razdel = $_GET['razdel'];

он из ссылки джетом берем данные из параметров, на как теперь эти данные добавить в уже существующей пагинации?

Добавлено через 4 минуты
или мне все подобные строки из моей функции
if($page - 2 > 0) $page2left = ' <a href='.$pg['a']. ($page - 2).$pg['b'].'>'. ($page - 2) .'</a> ';

обернуть в вашу функцию?

currentUri(if($page - 2 > 0) $page2left = ' <a href='.$pg['a']. ($page - 2).$pg['b'].'>'. ($page - 2) .'</a> ');

не пойму как
0
 Аватар для sad67man
2604 / 1508 / 689
Регистрация: 23.08.2015
Сообщений: 3,839
07.11.2025, 00:29
Цитата Сообщение от serauto79 Посмотреть сообщение
или мне все подобные строки из моей функции
if($page - 2 > 0) $page2left = ' <a href='.$pg['a']. ($page - 2).$pg['b'].'>'. ($page - 2) .'</a> ';
обернуть в вашу функцию?
currentUri(if($page - 2 > 0) $page2left = ' <a href='.$pg['a']. ($page - 2).$pg['b'].'>'. ($page - 2) .'</a> ');
не пойму как
PHP
1
if ($page != 1) $pervpage = '<a href="' . htmlspecialchars(currentUri(['page' => 1])) . '"><<</a><a href="' . htmlspecialchars(currentUri(['page' => $page - 1])) . '"><</a>';
Добавлено через 1 минуту
Не забывайте, что у атрибута href - кавычки обязательны. вы как-то их опустили.

Добавлено через 20 секунд
Но я бы немного по другому делал..
0
21 / 10 / 4
Регистрация: 02.04.2015
Сообщений: 779
07.11.2025, 00:50  [ТС]
Я делал раньше так

PHP
1
2
3
4
5
6
7
8
9
preg_match('/(?<a>.*?){pagenum}(?<b>.*?)/', $pageformat, $pg);
if ($page != 1) $pervpage = "<a href={$pg['a']}1{$pg['b']}$loccat><<</a><a href={$pg['a']}".($page - 1).$loccat." {$pg['b']}><</a>";
if ($page != $total) $nextpage = ' <a href='.$pg['a']. ($page + 1) .$pg['b'].$loccat.'>></a><a href='.$pg['a'] .$total. $pg['b'].$loccat.'>>></a>';
if($page - 2 > 0) $page2left = ' <a href='.$pg['a']. ($page - 2).$pg['b'].$loccat.'>'. ($page - 2) .'</a> ';
if($page - 1 > 0) $page1left = '<a href='.$pg['a']. ($page - 1).$pg['b'].$loccat.'>'. ($page - 1) .'</a> ';
if($page + 2 <= $total) $page2right = '  <a href='.$pg['a']. ($page + 2).$pg['b'].$loccat.'>'. ($page + 2).'</a>';
if($page + 1 <= $total) $page1right = '  <a href='.$pg['a']. ($page + 1).$pg['b'].$loccat.'>'. ($page + 1).'</a>';
$pagination =  $pervpage.$page2left.$page1left.'<a class="active" href="#">'.$page.'</a>'.$page1right.$page2right.$nextpage;
$result = array('result' => $info);
просто добавляя переменную $loccat., но такой вариант работал в пагинации только если в параметре было целое слово, если в одном параметре было два слова например New York, то передавало в пагинации только до пробела, то-есть только New

если ссылка в браузере с параметрами такого вида была

Code
1
https://domen.com/poisk.php?gorod=london&razdel=home
то пагинация была такая

Code
1
https://domen.com/poisk.php?search.php?page=2&gorod=london&razdel=home
а если ссылка с параметрами была вида

Code
1
https://domen.com/poisk.php?gorod=New York, NY&razdel=Household appliances

то пагинация была не корректна, передавало только первое слово из параметра до пробела

Code
1
https://domen.com/poisk.php?search.php?page=2&gorod=New&razdel=Household
я так и не понял, что именно в коде обрезает до пробела
0
 Аватар для sad67man
2604 / 1508 / 689
Регистрация: 23.08.2015
Сообщений: 3,839
07.11.2025, 01:37
Цитата Сообщение от sad67man Посмотреть сообщение
Но я бы немного по другому делал..
Я бы это разделил на 2 этапа.. отдельно функцию, которая бы генерировала данные для пагинации.. к примеру

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
function paginationData($currentPage, $perPage, $totalCount, $pageParam = 'page'): array
{
    $currentPage = max(1, intval($currentPage));
    $maxPages = ceil($totalCount / $perPage);
 
    $currentPage = min($currentPage, $maxPages);
    $from = max(1, $currentPage - 2);
 
    $to = min($from + 4, $maxPages);
    $from = max(1, min($to - 4, $from));
 
    $data = [
        'links' => [],
        'currentPage' => $currentPage,
        'maxPages' => $maxPages,
        'totalCount' => $totalCount,
        'prev' => null,
        'next' => null,
        'first' => null,
        'last' => null,
        'prevDots' => $from > 2,
        'nextDots' => $to + 1 < $maxPages,
    ];
 
    for ($i = $from; $i <= $to; $i++) {
        $data['links'][] = [
            'label' => $i,
            'is_active' => $i == $currentPage,
            'href' => currentUri([$pageParam => $i == 1 ? null : $i])
        ];
    }
 
    if ($currentPage > 1) {
        $prevPage = $currentPage - 1;
        $data['prev'] = [
            'label' => $prevPage,
            'href' => currentUri([$pageParam => $prevPage == 1 ? null : $prevPage])
        ];
    }
 
    if ($from > 1) {
        $data['first'] = [
            'label' => 1,
            'href' => currentUri([$pageParam => null])
        ];
    }
 
    if ($currentPage < $maxPages) {
        $data['next'] = [
            'label' => $currentPage + 1,
            'href' => currentUri([$pageParam => $currentPage + 1])
        ];
        $data['last'] = [
            'label' => $maxPages,
            'href' => currentUri([$pageParam => $maxPages])
        ];
    }
 
    return $data;
}
И отдельно шаблон

PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?php 
 
$pagination = paginationData($_GET['page'] ?? 1, 5, 100);
 
?>
 
<?php if ($pagination['maxPages'] > 1): ?>
    <ul class="pagination">
        <?php if ($pagination['prev']): ?>
            <li><a href="<?= e($pagination['prev']['href']) ?>"><</a></li>
        <?php endif ?>
        <?php if ($pagination['first']): ?>
            <li><a href="<?= e($pagination['first']['href']) ?>">1</a></li>
        <?php endif ?>
        <?php if ($pagination['prevDots']): ?>
            <li>...</li>
        <?php endif ?>
        <?php foreach ($pagination['links'] as $link): ?>
            <?php if ($link['is_active']): ?>
                <li><span><?= $link['label'] ?></span></li>
            <?php else: ?>
                <li><a href="<?= e($link['href']) ?>"><?= $link['label'] ?></a></li>
            <?php endif ?>
        <?php endforeach; ?>
        <?php if ($pagination['nextDots']): ?>
            <li>...</li>
        <?php endif ?>
        <?php if ($pagination['last']): ?>
            <li><a href="<?= e($pagination['first']['last']) ?>"><?= $pagination['last']['label'] ?></a></li>
        <?php endif ?>
        <?php if ($pagination['next']): ?>
            <li><a href="<?= e($pagination['next']['href']) ?>">></a></li>
        <?php endif ?>
    </ul>
<?php endif ?>
Тут я чтоб не писать везде htmlspecialchars - написал отдельную функцию-хэлпер

PHP
1
2
3
4
function e($string): string
{
    return htmlspecialchars($string, ENT_QUOTES | ENT_SUBSTITUTE );
}
Добавлено через 12 минут
Цитата Сообщение от serauto79 Посмотреть сообщение
я так и не понял, что именно в коде обрезает до пробела
У аттрибута href кавычки нужно ставить, вот у вас и получалось

HTML5
1
<a href=search.php?page=1&gorod=new York&razdel=test>
А браузер это воспринял как

HTML5
1
<a href="search.php?page=1&amp;gorod=new" york&razdel="test">&lt;&lt;</a>
Добавлено через 2 минуты
Цитата Сообщение от serauto79 Посмотреть сообщение
PHP
1
2
3
4
5
6
7
8
9
10
11
12
// Устанавливаем соединение
$db = mysqli_connect($servername, $username, $password, $database);
// Проверяем соединение
if (!$db) {
die("Connection failed: " . mysqli_connect_error());
}
// выводим из бд
$db = new mysqli($servername, $username, $password, $database);
mysqli_set_charset($db, "utf8");
if($db->connect_error){
    die("Ошибка: " . $db->connect_error);
}
Вы тут дважды подключаетесь к БД

Добавлено через 4 минуты
Можно и дальше пойти, вынести шаблон пагинации для повторного использования. Чтоб получилось

PHP/HTML
1
2
3
<?php if ($pagination['maxPages'] > 1): ?>
    <?= renderPagination($pagination) ?>
<?php endif ?>
Или чтоб не писать кучу подобных функций, написать одну общую, где передается имя шаблона

PHP/HTML
1
2
3
<?php if ($pagination['maxPages'] > 1): ?>
    <?= render('pagination', ['pagination' => $pagination]) ?>
<?php endif ?>
или
PHP/HTML
1
2
3
<?php if ($pagination['maxPages'] > 1): ?>
    <?= render('pagination', compact('pagination')]) ?>
<?php endif ?>
1
21 / 10 / 4
Регистрация: 02.04.2015
Сообщений: 779
07.11.2025, 12:34  [ТС]
Цитата Сообщение от sad67man Посмотреть сообщение
Или чтоб не писать кучу подобных функций, написать одну общую, где передается имя шаблона
то все хорошо, но для моих познаний это ничего не говорит, вы можете на в моем шаблоне правку эту сделать или нет?

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
<?php
$gorod1 = isset($_GET['gorod']) ? $_GET['gorod'] : 'New York, NY';
$gorod = addslashes($gorod1); // экранирует (\, ', ", NULL). 
 
 
$razdel1 = isset($_GET['razdel']) ? $_GET['razdel'] : 'Household appliances';
$razdel = addslashes($razdel1); // экранирует (\, ', ", NULL).
 
// вид ссылки с параметрами https://domen.com/poisk.php?gorod=New York, NY&razdel=Household appliances
?>
 
<!DOCTYPE html>
<html lang="en-us">
<head>
<meta charset="utf-8">
 
</head>
<body>
 
 
 
 
 
 
<?php
$servername = "localhost";
$database = "bdmames1";
$username = "bdmames1";
$password = "12121212";
 
// Устанавливаем соединение
$db = new mysqli($servername, $username, $password, $database);
mysqli_set_charset($db, "utf8");
if($db->connect_error){
    die("Ошибка: " . $db->connect_error);
}
 
 
$pageformat = 'search.php?page={pagenum}'; //Формат ссылки вместо {pagenum} будет номер страницы
 
 
$address_sql = "%$gorod%";
$category_sql = "$razdel";
 
 
$page = $_GET['page']; //Номер страницы
$num = 10; //Количество записей
$sql = "FROM `bdmames1` WHERE category='$category_sql' AND address LIKE '$address_sql' ORDER BY id DESC"; //sql запрос без SELECT
 
$result = Pagination ($db, $sql, $num, $pageformat, $page);
 
 
function Pagination ($db, $sql, $num, $pageformat, $page){
$result = $db->query("SELECT COUNT(*) ". $sql)->fetch_row();
$total = intval(($result[0] - 1) / $num) + 1;
$page = intval($page);
 
 
if(empty($page) or $page < 0) $page = 1;
if($page > $total) $page = $total;
$start = $page * $num - $num;
$getinfo = $db->query("SELECT * " .$sql. " LIMIT $start, $num");
$info = $getinfo->fetch_all(MYSQLI_ASSOC);
preg_match('/(?<a>.*?){pagenum}(?<b>.*?)/', $pageformat, $pg);
if ($page != 1) $pervpage = "<a href={$pg['a']}1{$pg['b']}><<</a><a href={$pg['a']}".($page - 1)." {$pg['b']}><</a>";
if ($page != $total) $nextpage = ' <a href='.$pg['a']. ($page + 1) .$pg['b'].'>></a><a href='.$pg['a'] .$total. $pg['b'].'>>></a>';
if($page - 2 > 0) $page2left = ' <a href='.$pg['a']. ($page - 2).$pg['b'].'>'. ($page - 2) .'</a> ';
if($page - 1 > 0) $page1left = '<a href='.$pg['a']. ($page - 1).$pg['b'].'>'. ($page - 1) .'</a> ';
if($page + 2 <= $total) $page2right = '  <a href='.$pg['a']. ($page + 2).$pg['b'] .'>'. ($page + 2).'</a>';
if($page + 1 <= $total) $page1right = '  <a href='.$pg['a']. ($page + 1).$pg['b'].'>'. ($page + 1).'</a>';
$pagination =  $pervpage.$page2left.$page1left.'<a class="active" href="#">'.$page.'</a>'.$page1right.$page2right.$nextpage;
$result = array('result' => $info);
 
 
 
 
 
foreach ($result['result'] as $row) {
 
 
 
echo "тут вывод данных 10-ти статей из бд на одной странице из бд"; 
}
 
 
echo "<span>$pagination</span>";
 
 
 
}
$db->close(); 
?>
 
 
 
 
 
</body>
</html>


просто те примеры что вы поделали, я там хз знает куда что из них подставлять в свой код чтобы работало, там переменные другие и тд.

Добавлено через 1 час 0 минут
Цитата Сообщение от sad67man Посмотреть сообщение
У аттрибута href кавычки нужно ставить, вот у вас и получалось
Не понял вас совсем, так везде в коде пагинации стоят одинарные кавычки, вот видно <a href='

if ($page != $total) $nextpage = ' <a href='.$pg['a']. ($page + 1) .$pg['b'].$loccat.'>></a><a href='.$pg['a'] .$total. $pg['b'].$loccat.'>>></a>';

или где не пойму вас, и каким образом это может влиять на обрезание ссылки если есть пробел или запятая в слове то которое получено из параметров ссылки.


PHP
1
2
3
4
5
6
7
8
9
preg_match('/(?<a>.*?){pagenum}(?<b>.*?)/', $pageformat, $pg);
if ($page != 1) $pervpage = "<a href={$pg['a']}1{$pg['b']}$loccat><<</a><a href={$pg['a']}".($page - 1).$loccat." {$pg['b']}><</a>";
if ($page != $total) $nextpage = ' <a href='.$pg['a']. ($page + 1) .$pg['b'].$loccat.'>></a><a href='.$pg['a'] .$total. $pg['b'].$loccat.'>>></a>';
if($page - 2 > 0) $page2left = ' <a href='.$pg['a']. ($page - 2).$pg['b'].$loccat.'>'. ($page - 2) .'</a> ';
if($page - 1 > 0) $page1left = '<a href='.$pg['a']. ($page - 1).$pg['b'].$loccat.'>'. ($page - 1) .'</a> ';
if($page + 2 <= $total) $page2right = '  <a href='.$pg['a']. ($page + 2).$pg['b'].$loccat.'>'. ($page + 2).'</a>';
if($page + 1 <= $total) $page1right = '  <a href='.$pg['a']. ($page + 1).$pg['b'].$loccat.'>'. ($page + 1).'</a>';
$pagination =  $pervpage.$page2left.$page1left.'<a class="active" href="#">'.$page.'</a>'.$page1right.$page2right.$nextpage;
$result = array('result' => $info);
0
 Аватар для sad67man
2604 / 1508 / 689
Регистрация: 23.08.2015
Сообщений: 3,839
07.11.2025, 13:02
Цитата Сообщение от serauto79 Посмотреть сообщение
Не понял вас совсем, так везде в коде пагинации стоят одинарные кавычки, вот видно <a href='
Эта кавычка относится к строке '<a href=' а сам атрибут остается без кавычек.
Просто посмотрите исходный код страницы (ctrl + U) - что у вас получается.
1
21 / 10 / 4
Регистрация: 02.04.2015
Сообщений: 779
07.11.2025, 16:28  [ТС]
Цитата Сообщение от sad67man Посмотреть сообщение
Эта кавычка относится к строке '<a href=' а сам атрибут остается без кавычек.
Просто посмотрите исходный код страницы (ctrl + U) - что у вас получается.
PHP
1
if($page + 2 <= $total) $page2right = '  <a href='.$pg['a']. ($page + 2).$pg['b'].$loccat.'>'. ($page + 2).'</a>';
приведите пример в моем коде чтобы я понял в чем различие, а то вы загадками отвечаете, просто тратите времмя в пустоту, если можно ответить на примере нужно вот так

Добавлено через 11 минут
я пробовал и две кавычки ставить
if ($page != $total) $nextpage = ' <a href=''.$pg['a']. ($page + 1) .$pg['b'].$loccat.''>></a><a href=''.$pg['a'] .$total. $pg['b'].$loccat.''>>></a>';
и двойную кавычку, ничего не меняет

Добавлено через 10 минут
в этой строке
if ($page != 1) $pervpage = "<a href={$pg['a']}1{$pg['b']}$loccat><<</a><a href={$pg['a']}".($page - 1).$loccat." {$pg['b']}><</a>";

тоже добавлял одинарные кавычки

так

if ($page != 1) $pervpage = "<a href='{$pg['a']}1{$pg['b']}$loccat'><<</a><a href='{$pg['a']}".($page - 1).$loccat." {$pg['b']}'><</a>";


ниче не меняет!
0
 Аватар для artoodetoo
10 / 13 / 2
Регистрация: 02.02.2015
Сообщений: 46
07.11.2025, 16:59
Цитата Сообщение от serauto79 Посмотреть сообщение
все хорошо, но для моих познаний это ничего не говорит
Цитата Сообщение от serauto79 Посмотреть сообщение
не пойму вас, и каким образом это может влиять на обрезание ссылки если есть пробел или запятая в слове то которое получено из параметров ссылки.
serauto79, это не вина sad67man, просто твой уровень настолько низок, что вы говорите на разных языках.

Цитата Сообщение от serauto79 Посмотреть сообщение
вы загадками отвечаете, просто тратите времмя в пустоту, если можно ответить на примере нужно вот так
Если ты получишь просто готовый текст для copy-n-paste, ты на этом уровне и останешься. И залипнешь на следующей проблеме, точно такой же. Поэтому лучше напрягись и постарайся понять. Кусочек за кусочком.

Вот сюда посмотри и подумай где с точки зрения браузера заканчивается ссылка.

HTML5
1
<a href=search.php?page=1&gorod=new York&razdel=test>
Добавлено через 3 минуты
И еще, я очень советую почитать про строковые литералы PHP в документации. Чем различаются одинарные и двойные кавычки, как в строке с одинарными кавычками использовать символ одинарной кавычки и то же самое с двойными.
https://www.php.net/manual/ru/... string.php
0
21 / 10 / 4
Регистрация: 02.04.2015
Сообщений: 779
07.11.2025, 17:18  [ТС]
сделал добавляя \'

Добавлено через 8 минут
спасибо за подсказку про кавычку, я не додумался открыть код страницы чтобы посмотреть что там, посчитат что что-то обрезает до первого пробела в строке.

Добавлено через 5 минут
а теперь вопрос такой если в базе данных ничего не найдено, то на странице я все ровно вижу

цифру 1 в том месте где идет нумерация пагинации, как мне вывести (по запросу ничего не найдено)

как мне правильно написать условие иф елсе?

PHP
1
2
3
4
5
6
7
8
9
preg_match('/(?<a>.*?){pagenum}(?<b>.*?)/', $pageformat, $pg);
if ($page != 1) $pervpage = "<a href=\"{$pg['a']}1{$pg['b']}$loccat\"><<</a><a href=\"{$pg['a']}".($page - 1).$loccat." {$pg['b']}\"><</a>";
if ($page != $total) $nextpage = ' <a href=\''.$pg['a']. ($page + 1) .$pg['b'].$loccat.'\'>></a><a href=\''.$pg['a'] .$total. $pg['b'].$loccat.'\'>>></a>';
if($page - 2 > 0) $page2left = ' <a href=\''.$pg['a']. ($page - 2).$pg['b'].$loccat.'\'>'. ($page - 2) .'</a> ';
if($page - 1 > 0) $page1left = '<a href=\''.$pg['a']. ($page - 1).$pg['b'].$loccat.'\'>'. ($page - 1) .'</a> ';
if($page + 2 <= $total) $page2right = '  <a href=\''.$pg['a']. ($page + 2).$pg['b'].$loccat.'\'>'. ($page + 2).'</a>';
if($page + 1 <= $total) $page1right = '  <a href=\''.$pg['a']. ($page + 1).$pg['b'].$loccat.'\'>'. ($page + 1).'</a>';
$pagination =  $pervpage.$page2left.$page1left.'<a class="active" href="#">'.$page.'</a>'.$page1right.$page2right.$nextpage;
$result = array('result' => $info);
0
 Аватар для sad67man
2604 / 1508 / 689
Регистрация: 23.08.2015
Сообщений: 3,839
07.11.2025, 21:08
Лучший ответ Сообщение было отмечено serauto79 как решение

Решение

Цитата Сообщение от serauto79 Посмотреть сообщение
цифру 1 в том месте где идет нумерация пагинации, как мне вывести (по запросу ничего не найдено)
$total - это же у вас общее количество страниц.. и пагинацию нужно выводить, если страниц больше 1.. т.е.

PHP
1
2
3
if ($total > 1) {
  echo "<span>$pagination</span>";
}

Цитата Сообщение от serauto79 Посмотреть сообщение
а теперь вопрос такой если в базе данных ничего не найдено
Если в базе ничего не найдено, обычно выводят вообще другой блок, к примеру

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
if (empty($info)) {
    echo 'Ничего не найдено'; // или раздел пуст
} else {
 
    foreach ($result['result'] as $row) {
 
 
 
        echo "тут вывод данных 10-ти статей из бд на одной странице из бд";
    }
 
 
    if ($total > 1) {
        echo "<span>$pagination</span>";
    }
}
Добавлено через 30 минут
Цитата Сообщение от serauto79 Посмотреть сообщение
просто те примеры что вы поделали, я там хз знает куда что из них подставлять в свой код чтобы работало, там переменные другие и тд.
У вас логика генерации ссылки сильно размазана по всему коду, часть находится снаружи функции, часть внутри.. плодится куча дополнительных переменных, которые загрязняют основную логику..

Я бы попытался сконцентрировать всю логику в одном месте.. можно допустим вынести в функцию

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
function pageLink($page) {
 
    $pageformat = 'search.php?page={pagenum}';
 
    // добавляет к пагинации (город и категорию)
    $gorod = $_GET['gorod'];
    $razdel = $_GET['razdel'];
    $loccat = "&gorod=$gorod&razdel=$razdel";
 
    preg_match('/(?<a>.*?){pagenum}(?<b>.*?)/', $pageformat, $pg);
 
    return $pg['a']. $page .$pg['b'] . $loccat;
}
 
function Pagination ($db, $sql, $num, $page){
    $result = $db->query("SELECT COUNT(*) ". $sql)->fetch_row();
    $total = intval(($result[0] - 1) / $num) + 1;
    $page = intval($page);
 
    if(empty($page) or $page < 0) $page = 1;
    if($page > $total) $page = $total;
    $start = $page * $num - $num;
    $getinfo = $db->query("SELECT * " .$sql. " LIMIT $start, $num");
    $info = $getinfo->fetch_all(MYSQLI_ASSOC);
 
    if ($page != 1) $pervpage = '<a href="' . pageLink(1) .   '"><<</a><a href="' . pageLink($page - 1) . '"><</a>';
    if ($page != $total) $nextpage = ' <a href=\''.pageLink($page + 1).'\'>></a><a href=\''.pageLink($total).'\'>>></a>';
    if($page - 2 > 0) $page2left = ' <a href=\''.pageLink($page - 2).'\'>'. ($page - 2) .'</a> ';
    if($page - 1 > 0) $page1left = '<a href=\''.pageLink($page - 1).'\'>'. ($page - 1) .'</a> ';
    if($page + 2 <= $total) $page2right = '  <a href=\''.pageLink($page + 2).'\'>'. ($page + 2).'</a>';
    if($page + 1 <= $total) $page1right = '  <a href=\''.pageLink($page + 1).'\'>'. ($page + 1).'</a>';
    $pagination =  $pervpage.$page2left.$page1left.'<a class="active" href="#">'.$page.'</a>'.$page1right.$page2right.$nextpage;
    $result = array('result' => $info);
 
    //...
}
Добавлено через 14 минут
Сразу видно, что можно было сделать проще..

PHP
1
2
3
4
5
6
7
function pageLink($page) {
    // добавляет к пагинации (город и категорию)
    $gorod = $_GET['gorod'];
    $razdel = $_GET['razdel'];
 
    return 'search.php?page='. $page . "&gorod=$gorod&razdel=$razdel";
}
Так же есть функция http_build_query - которая умеет генерировать строку запроса из маcсива данных. ЕЕ более предпочтительно использовать так как она еще кодирует спецсимволы для верной генерации ссылки.

PHP
1
2
3
4
5
6
7
function pageLink($page) {
    return 'search.php?' . http_build_query([
        'page' => $page,
        'gorod' => $_GET['gorod'],
        'razdel' => $_GET['razdel'],
    ]);
}
Добавлено через 52 минуты
serauto79, Отсюда и возникает вопрос - зачем вообще шаблоны ссылок в виде переменной $pageFormat? Для повторного использования функции Pagination? Тут возникает много вопросов..

Тут все проблемы связаны с функцией Pagination.. она перегружена обязанностями, при этом нарушена ее целостность.. принимает какие-то куски SQL и т.д.. Т.е. часть логики вытекает наружу. Причем она генерирует HTML, а верстка может многократно усложняться и меняться по разным причинам.. Т.е. повторно ее использовать то и не особо получится. На самом деле эта функция просто лишена смысла.

Но даже в этом случае если хотите ей передать разные виды ссылок - то проще и гибче передавать не некий шаблон ссылки, а саму функцию для ее генерации. К примеру

К примеру
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function Pagination ($db, $sql, $num, $page, callable $generateLink) {
 
    //...
    if ($page != 1) $pervpage = '<a href="'. $generateLink(1). '"><<</a><a href="' . $generateLink($page - 1) . '"><</a>';
    if ($page != $total) $nextpage = ' <a href=\''.$generateLink($page + 1).'\'>></a><a href=\''.$generateLink($total).'\'>>></a>';
    if($page - 2 > 0) $page2left = ' <a href=\''.$generateLink($page - 2).'\'>'. ($page - 2) .'</a> ';
    if($page - 1 > 0) $page1left = '<a href=\''.$generateLink($page - 1).'\'>'. ($page - 1) .'</a> ';
    if($page + 2 <= $total) $page2right = '  <a href=\''.$generateLink($page + 2).'\'>'. ($page + 2).'</a>';
    if($page + 1 <= $total) $page1right = '  <a href=\''.$generateLink($page + 1).'\'>'. ($page + 1).'</a>';
    $pagination =  $pervpage.$page2left.$page1left.'<a class="active" href="#">'.$page.'</a>'.$page1right.$page2right.$nextpage;
    $result = array('result' => $info);
 
    //...
 
    return '';
}
PHP
1
2
3
4
5
6
7
8
9
$generateLink = function($page) {
    return 'search.php?' . http_build_query([
        'page' => $page,
        'gorod' => $_GET['gorod'],
        'razdel' => $_GET['razdel'],
    ]);
};
 
$result = Pagination ($db, $sql, $num, $page, $generateLink);

В большинстве случаев вам важно будет сохранять все Get - параметры.. Там могут находиться параметры, отвечающие за фильтрацию, сортировку и т.д.. И нет таких ситуаций, когда какие-то параметры нам нужно удалять.. Т.е. если тут еще раз посмотреть на функцию.. то мы можем даже просто взять весь массив $GET

PHP
1
2
3
4
5
function pageLink($page) {
    $queryParams = $_GET;
    $queryParams['page'] = $page;
    return 'search.php?' . http_build_query($queryParams);
}
Да и search?php - можно автоматом подставлять текущую ссылку, если распарсить $_SERVER["REQUEST_URI"]
2
21 / 10 / 4
Регистрация: 02.04.2015
Сообщений: 779
08.11.2025, 16:55  [ТС]
Цитата Сообщение от sad67man Посмотреть сообщение
Отсюда и возникает вопрос - зачем вообще шаблоны ссылок в виде переменной $pageFormat?
Это не мой скрипт, я его допиливаю под свои нужды, спасибо за помощь

Добавлено через 31 минуту
Сейчас сделал по вашему как вы описали, но при выполнении скрипта пустая страница, где-то ошибка


PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
<?php
$gorod1 = isset($_GET['gorod']) ? $_GET['gorod'] : 'New York, NY';
$gorod = addslashes($gorod1); // экранирует (\, ', ", NULL). 
 
 
$razdel1 = isset($_GET['razdel']) ? $_GET['razdel'] : 'Household appliances';
$razdel = addslashes($razdel1); // экранирует (\, ', ", NULL).
 
// вид ссылки с параметрами https://domen.com/poisk.php?gorod=New York, NY&razdel=Household appliances
?>
 
 
 
 
 
 
 
<?php
$servername = "localhost";
$database = "bdmames1";
$username = "bdmames1";
$password = "12121212";
 
// Устанавливаем соединение
$db = new mysqli($servername, $username, $password, $database);
mysqli_set_charset($db, "utf8");
if($db->connect_error){
    die("Ошибка: " . $db->connect_error);
}
 
 
 
 
 
 
 
function pageLink($page) {
 
    $pageformat = 'poisk.php?page={pagenum}';
 
    // добавляет к пагинации (город и категорию)
    $gorod = isset($_GET['gorod']) ? $_GET['gorod'] : 'New York, NY';
    $razdel = isset($_GET['razdel']) ? $_GET['razdel'] : 'Household appliances';
    $loccat = "&gorod=$gorod&razdel=$razdel";
 
    preg_match('/(?<a>.*?){pagenum}(?<b>.*?)/', $pageformat, $pg);
 
    return $pg['a']. $page .$pg['b'] . $loccat;
}
 
 
 
 
$address_sql = "%$gorod%";
$category_sql = "$razdel";
 
$page = $_GET['page']; //Номер страницы
$num = 10; //Количество записей
$sql = "FROM `admin_usareview` WHERE category='$category_sql' AND address LIKE '$address_sql' ORDER BY id DESC"; //sql запрос без SELECT
 
 
 
 
function Pagination ($db, $sql, $num, $page){
    $result = $db->query("SELECT COUNT(*) ". $sql)->fetch_row();
    $total = intval(($result[0] - 1) / $num) + 1;
    $page = intval($page);
 
    if(empty($page) or $page < 0) $page = 1;
    if($page > $total) $page = $total;
    $start = $page * $num - $num;
    $getinfo = $db->query("SELECT * " .$sql. " LIMIT $start, $num");
    $info = $getinfo->fetch_all(MYSQLI_ASSOC);
 
    if ($page != 1) $pervpage = '<a href="' . pageLink(1) .   '"><<</a><a href="' . pageLink($page - 1) . '"><</a>';
    if ($page != $total) $nextpage = ' <a href=\''.pageLink($page + 1).'\'>></a><a href=\''.pageLink($total).'\'>>></a>';
    if($page - 2 > 0) $page2left = ' <a href=\''.pageLink($page - 2).'\'>'. ($page - 2) .'</a> ';
    if($page - 1 > 0) $page1left = '<a href=\''.pageLink($page - 1).'\'>'. ($page - 1) .'</a> ';
    if($page + 2 <= $total) $page2right = '  <a href=\''.pageLink($page + 2).'\'>'. ($page + 2).'</a>';
    if($page + 1 <= $total) $page1right = '  <a href=\''.pageLink($page + 1).'\'>'. ($page + 1).'</a>';
    $pagination =  $pervpage.$page2left.$page1left.'<a class="active" href="#">'.$page.'</a>'.$page1right.$page2right.$nextpage;
    $result = array('result' => $info);
 
 
 
if (empty($info)) {
    echo 'Ничего не найдено по вашему запросу!'; // или раздел пуст
} else {
 
    foreach ($result['result'] as $row) {
    //echo $row['foto'] . "<br>";
 
 
    echo "тут вывод данных из бд"; 
    
    }
 
 //выводит ссылки пагинации если будет статей более одной странице
    if ($total > 1) {
        echo "<span>$pagination</span>";
    }
}
 
 
}
 
 
 
 
$db->close(); 
?>
0
 Аватар для sad67man
2604 / 1508 / 689
Регистрация: 23.08.2015
Сообщений: 3,839
08.11.2025, 19:17
Цитата Сообщение от serauto79 Посмотреть сообщение
Сейчас сделал по вашему как вы описали, но при выполнении скрипта пустая страница, где-то ошибка
Не вижу, где вы вызываете функцию Pagination. Может быть пустая страница, что ничего не выводите.
0
21 / 10 / 4
Регистрация: 02.04.2015
Сообщений: 779
08.11.2025, 23:27  [ТС]
Цитата Сообщение от serauto79 Посмотреть сообщение
echo "<span>$pagination</span>";

строка 100

и так пробовал все ровно пустой вывод

PHP
1
2
3
4
5
 Pagination();
 //выводит ссылки пагинации если будет статей более одной странице
    if ($total > 1) {
        echo "<span>$pagination</span>";
    }
0
 Аватар для sad67man
2604 / 1508 / 689
Регистрация: 23.08.2015
Сообщений: 3,839
09.11.2025, 01:44
Цитата Сообщение от serauto79 Посмотреть сообщение
и так пробовал все ровно пустой вывод
У вас функция Pagination нигде не вызывается.
0
21 / 10 / 4
Регистрация: 02.04.2015
Сообщений: 779
09.11.2025, 12:12  [ТС]
Цитата Сообщение от sad67man Посмотреть сообщение
У вас функция Pagination нигде не вызывается.

if ($total > 1) {
echo Pagination($pagination);

}

делал так, толку ноль

а как ее вызывать еще?
0
 Аватар для sad67man
2604 / 1508 / 689
Регистрация: 23.08.2015
Сообщений: 3,839
09.11.2025, 17:58
Цитата Сообщение от serauto79 Посмотреть сообщение
PHP
1
$result = Pagination ($db, $sql, $num, $pageformat, $page);
Вот так у вас было.. Куда делась эта строчка?
Цитата Сообщение от serauto79 Посмотреть сообщение
а как ее вызывать еще?
PHP
1
Pagination ($db, $sql, $num, $page);
Цитата Сообщение от serauto79 Посмотреть сообщение
Это не мой скрипт, я его допиливаю под свои нужды, спасибо за помощь
Если бы сами писали - могли бы пояснить почему сделано именно так, и в случае чего, при появлении новый требований - все переиначить. А так вы себя загнали в рамки и получается не пойми что.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.11.2025, 17:58
Помогаю со студенческими работами здесь

Пагинация, страницы
$CountListPage=5; if(empty($_GET))$Page=1;else $Page=$_GET; $start=($Page-1)*$CountListPage; ...

Дерево комментариев с пагинацией
Что то я гуглю гуглю, но что то не нагуглю... Я делал раньше просто: id, parent_id, text... И всё...

Постраничная пагинация
Добрый вечер. Начинаю сходить с ума. Ребят. Как сделать нумерацию кнопок снизу? С выводом...

Пагинация страниц без добавления разрыв страниц
Здравствуйте! Подскажите как сделать нумерацию страниц не используя разрыв страниц, так как если...

Пагинация на php
ребятки помогите с пагинацией есть количество страниц всего, это число и оно хранится в переменной...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru