У меня есть такой алгоритм пагинации для inline_keyboard, который строит 2 колонки по 6 элементов, и если элементов больше 12, но меньше 24 (раньше больше 24 у меня не было), я вручную это проверяла и дублировала код:
while ($row = mysqli_fetch_assoc($result)) {
$one_row[$cnt] = [
"text" => $row["test"],
"callback_data" => "test"
];
$cnt++;
if ($cnt == 2) {
$buttons[] = $one_row;
$one_row = [];
$cnt = 0;
}
}
Но он оказался очень не досконален, потому что если есть, например, не 14, а 15 элементов, то 15 сьедается. В общем, принимает только парное к-во элементов и если есть только 1 элемент — не показывается. В общем, прошу у вас помощи, пожалуйста. Не приходит в голову как его нормально переписать.
Если нужно, опишу ситуацию: у меня погодный бот и я дошла до этапа заполнения городов, так что к-во элементов будет сталым, но всё равно этот алгоритм нужно сделать универсальним и удобным. Помогите, пожалуйста