Как получить данные из формы для подстановки в запрос? Здравствуйте.
Есть форма:
<form action="/search" method="get">
<input type="search" name="q" placeholder="<?= $_GET['q'] ?? 'Запрос' ?>" >
<input type="submit" value="">
</div>
</form>
В модели, которая наследуется от абстрактного класса:
public static function search(array $searchData){
if (empty($searchData['q'])) {
throw new InvalidArgumentException('Запрос');
}
}
Т.е. здесь мы получаем значение так: $searchData['q']
Контроллер:
public function search(){
try{
$user = Article::search($_GET);
}catch (InvalidArgumentException $e) {
$this->view->renderHtml('search/search.php', ['error' => $e->getMessage()]);
return;
}
$articles = Article::searchArticles('q', $searchData['q']);
$this->view->renderHtml('search/search.php', ['articles' => $articles]
);
}
И теперь абстрактный класс, который наследует модель:
public static function searchArticles(string $value): array{
$db = Db::getInstance();
return $db->query('SELECT * FROM `' . static::getTableName() . '` WHERE `name` LIKE :value', [':value' => $value], static::class);
}
Я не понимаю, как мне подставить значение поля
<input type="search" name="q" placeholder="<?= $_GET['q'] ?? 'Запрос' ?>" >
Т.е. если я сделаю например
return $db->query('SELECT * FROM `' . static::getTableName() . '` WHERE `name` LIKE \'%test%\' ', [':value' => $value], static::class);
все будет прекрасно, но как мне сделать так, чтобы это значение подставлялось автоматически из get запроса?
Подскажите пожалуйста.
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости