0

嘿伙计们,我正在尝试使用 Nette Framework 在数据库中编写简单的搜索,我的 Presenter(控制器)看起来像这样:

<?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% 确定它是否正确,但它应该是,我需要添加它以在我按下搜索按钮时让表单使用此功能,而不是重定向到旧的搜索脚本。

我的搜索表格:

<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>

我在 OOP 和 Nette 中也完全是新手,所以这个问题完全是愚蠢的,我知道如何在没有 OOP 的情况下简单地做到这一点,但我更喜欢这个选项!

那么这里有人可以帮助我吗?

4

1 回答 1

0

我建议您在searchsucceeded方法中使用重定向。这更多是从商业角度来看,而不是编程推荐。

您可能会在网站上的许多页面上使用搜索表单,而您只会在一种类型的页面上显示结果。对于 SEO 来说,在独特的页面上展示结果也很好,例如 test.com/s/。

于 2013-12-22T18:13:07.697 回答