2013-11-19 3 views
0

Эй, ребята, я пытаюсь написать простой поиск в базе данных с помощью 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, а не перенаправлять старый скрипт поиска.

Моя SERACH форма:

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

Я Absolutly новый в ООП и Nette, а поэтому этот вопрос Prolly суммарно noobish, я знаю, как просто сделать это без ООП, но я предпочитаю этот вариант!

Так кто-то здесь, кто может мне помочь?

+0

Добро пожаловать в StackOverflow! Хотя эксперименты с рамками могут дать представление о том, как ООП применяется к различным концепциям (если это делается правильно), я также рекомендовал бы изучить учебник, посвященный ООП. – ComFreek

ответ

0

Я бы порекомендовал вас использовать redirect в searchsucceeded методе. Это больше похоже на деловой взгляд, чем на рекомендации по программированию.

Возможно, вы будете использовать форму поиска на многих страницах на веб-сайте, и вы представите результаты только на одном типе страницы. Для SEO также хорошо показывать результаты на уникальной странице, например test.com/s/.

Смежные вопросы