Как подставить значение?

191
11 декабря 2021, 05:50

Как получить данные из формы для подстановки в запрос? Здравствуйте.

Есть форма:

<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 запроса?

Подскажите пожалуйста.

READ ALSO
Блокирует и не отправляются заявки

Блокирует и не отправляются заявки

По отправке форм, обращается программа через ajax к php файлу:

116
Как подключить файл стилей к определенной странице на WordPress?

Как подключить файл стилей к определенной странице на WordPress?

Например, у меня есть главная страница, на которой должен быть подключен только maincss, а на странице товара product-page

226
Как сделать пагинацию в рубриках WordPress?

Как сделать пагинацию в рубриках WordPress?

Есть файл который выводит посты относятсящиеся к определённым рубрикамСодержимое фала: https://pastebin

236
Проблема с audio player JS

Проблема с audio player JS

Я сделал небольшой плеер на js (5-6 треков)Для воспроизведения музыки использовал не музыку из локального компьютера а прямую ссылку на неё,...

114