Привет, ребята, я пытаюсь написать простой поиск в базе данных с помощью Nette Framework, мой презентатор (контроллер) выглядит так:
<?php
public function searchsucceeded($searchword)
{
$selection = $this->database->findAll->select('*')->where("name LIKE ?", "%$searchword%");
return $selection;
}
protected function createComponentsearchForm()
{
$form = new Form;
$form->addText('name', 'Vyhladať ban, vložte nick zabanovaného hráča')
->setRequired('Vyhladať ban, vložte nick zabanovaného hráča');
$form->addSubmit('search', 'Hľadať')
->setAttribute('class', 'default')
->onSuccess[] = $this->searchsucceeded;
}
?>
Чтобы сказать правду, я даже не уверен на 100%, что если это правильно, но должно быть, мне нужно добавить его, чтобы форма использовала эту функцию, когда я нажимаю кнопку SEARCH, а не перенаправляю старый скрипт поиска.
Моя сывороточная форма:
<form action="index.php" method="POST">
<input type="text" style="margin-top:10px;" placeholder="Vyhľadať ban... (Zadajte nick hráča)" name="nickS" class="span10" required="required">
<input type="submit" value="Hľadať" name="sSubmit" class="btn btn-primary span2">
</form>
Я абсолютно новый в ООП и Nette, так что этот вопрос довольно тотальный noobish, я знаю, как просто сделать это без ООП, но я предпочитаю этот вариант!
Так кто-то здесь может мне помочь?
Я бы рекомендовал вам использовать перенаправление в методе searchsucceeded
. Это больше похоже на деловой взгляд, чем на рекомендации по программированию.
Вероятно, вы используете форму поиска на многих страницах на веб-сайте, и вы будете показывать результаты только на одном типе страницы. Для SEO также хорошо показывать результаты на уникальной странице, например test.com/s/.