Подскажите пожалуйста как получить данные из бд и вывести их в бота?
Скриншот: https://ibb.co/1XSj03s
Есть таблица mytable а в ней Столбцы name и surname (имя и фамилия).
По запросу в боте Имени он бы выдавал Фамилию.
Пишем боту к примеру: Вадим а он в ответ: Петров. Пишем Иван в ответ Кротков.
Если можно пример.
Спасибо большое за помощь,вы супер.
Не тестировал.
ссылка: https://t.me/fullfilmsnavecher/222
Замените на
sendMessage замените на sendDocument
тихо
Выводит так: https://ibb.co/c3HzBm5
К примеру есть несколько фильмов в базе с одинаковым названием.
И так один: SELECT * FROM mytable WHERE name LIKE :name
if ($data->message->text == "/start") {
$this->sendMessage($data->message->chat->id, "Приветствую!nПришлите мне название фильма.(Без ошибок)");
} else {
$select = $this->pdo->prepare("SELECT * FROM mytable WHERE name = :name");
$select->execute(['name' => $data->message->text]);
if ($select->rowCount() === 0) {
$this->sendMessage($data->message->chat->id, "По запросу =<b>" . $data->message->text . "</b>= данных нет,возможно написано с ошибкой.");
} else {
$item = $select->fetch();
$this->botApiQuery("sendDocument", ['chat_id' => $data->message->chat->id, 'document' => $item['link'] ,'caption' => "<b>".$data->message->text." - (".$item['year'].")</b> rnИщите ваши любимые фильмы",'parse_mode' => 'html']);
}
}
} else {
$this->sendMessage($data->message->chat->id, "Wrong data");
}
return true;
}
Если конечно у вас есть время,интересует ещё один вопрос.
Как добавить ещё вывод похожих названий?
К примеру есть название: Полёт на луну или просто Полёт.
Или: Крепкий орешек 1,Крепкий орешек 2,Крепкий орешек 3
Если можно ещё спрошу?
Можно вывести данные в кнопки,с кнопкой далее и назад.(Это не критично).
Пример:
https://ibb.co/bN2QDgb
https://ibb.co/jfnhhG7
И вообще как в скрипте добавить кнопки ReplyKeyboardMarkup что-то пытался на ваших примерах,не выходит.
Спасибо.
LIMIT 0, 10 - значит вывести первые 10 шт записей попадающие под условия запроса - 0 - 9 записи,
LIMIT 10, 10 - это типа 2 страница то есть следующие 10 записей начиная c 10-й записи, 10 - 19 записи
Примеры кнопок, которые вы привели это InlineKeyboardMarkup.
уже всё перепробовал.
по моему из-за этой строки
$this->sendMessageWithButtons($data->message->chat->id, "Пришлите имя пользователя еще выводим кнопки");
$buttons появились
В обоих статьях про кнопки есть примеры обработки callback_data.
Для теста поднимите бота из последней статьи про кнопки - "поиграйте" с методами и параметрами - поймете как все работает, потом смело и уверенно прикрутите к своему боту любой набор кнопок клавиатуры или инлайн.
$select = $this->pdo->prepare("SELECT * FROM mytable WHERE name = :name LIMIT 1");
ищет в колонке name можно ещё колонку ID добавить?
Как сделать на ID лимит 1 а на name лимит 30
Добавить еще одно условие к WHERE можно например через AND
Спасибо.