Как сделать так, чтобы кнопки были в столбце, а не в строке. Пример изображения, как мне нужно: [Нажмите Imgur] [1].
function sendInlineKeyboard($id_chat, $text, $array)
{
$keyboard = array("inline_keyboard" => array($array));
$toSend = array('method' => 'sendMessage', 'chat_id' => $id_chat, 'text' => $text, 'resize_keyboard' => true, 'reply_markup' => $keyboard);
isset($mark) ? $toSend['parse_mode'] = $mark : '';
isset($id_message) ? $toSend['reply_to_message_id'] = $id_message : '';
$ch = curl_init(API_URL);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($toSend));
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: application/json"));
$a = curl_exec($ch);
return json_decode($a, true);
}
$result = $mysqli->query("SELECT * FROM `test`");
while ($row = $result->fetch_assoc()) {
$array[] = array('text' => $row['city'], 'callback_data' => $id);
sendInlineKeyboard($user_id, 'String', $array);
}
Не работает. Для ответа от 0stone0
:
$keyboard = [
'inline_keyboard' => [
[
['text' => 'Button 1', 'callback_data' => 'someString'],
['text' => 'Button 2', 'callback_data' => 'someString', 'text' => 'Button 3', 'callback_data' => 'someString', 'text' => 'Button 4', 'callback_data' => 'someString'],
['text' => 'Button 5', 'callback_data' => 'someString']
]
]
];
$toSend = array('method' => 'sendMessage', 'chat_id' => $id_chat, 'text' => "Test", 'resize_keyboard' => true, 'reply_markup' => $keyboard);