【问题标题】:Simple search in database数据库中的简单搜索
【发布时间】:2013-11-19 17:40:12
【问题描述】:

大家好,我正在尝试使用 Nette 框架在数据库中编写简单的搜索,我的 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 的情况下简单地做到这一点,但我更喜欢这个选项!

那么有人可以帮助我吗?

【问题讨论】:

  • 欢迎来到 StackOverflow!虽然试验框架可能会深入了解如何将 OOP 应用于不同的概念(如果做得好的话),但我还建议学习专注于 OOP 的教程。

标签: php html oop search nette


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-09-19
    • 1970-01-01
    • 1970-01-01
    • 2014-11-16
    • 1970-01-01
    • 2014-05-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多