Я понимаю, что эта нить старая, но я новичок в CodeIgniter и работаю с подобной проблемой. Моя задача - создать форму поиска, которая находит производителей в определенном почтовом индексе. Вот мое решение. Это проще, чем я ожидал, и может помочь кому-то другому.
Этот код подразумевает, что вы подключены к базе данных и имеют стандартное приложение MVC CI и т.д.
Я обрабатывать большую часть этой задачи в модели и представления, но у меня есть этот метод в моем контроллере:
public function result()
{
$zipcode = $this->input->post('zip_code');
$query = $this->db->get_where('growers', array('zip LIKE' => $zipcode));
return $query->result_array();
}
в моей модели я использовал следующий метод:
public function result()
{
$zipcode = $this->input->post('zip_code');
$query = $this->db->get_where('growers', array('zip LIKE' => $zipcode));
return $query->result_array();
}
у меня есть три вида - одна страница (находится в Views/страниц/search.php), и два виджета --Один для форма поиска и одна для результатов поиска (находится в представлениях/виджетах/результате).
У меня есть форма поиска на той же странице, что и результаты. Однако каждый раздел содержится в собственном файле представления, который я разместил в представлениях/виджетах.Код этого раздела в представлении страницы: форма
<div class="search" style="margin-top:0px;">
<?php
$this->load->view('widgets/search');
?>
</div>
</div>
<div id="results">
<div id="grower-info">
<?php
$this->load->view('widgets/result');
?>
</div>
</div>
поиск виджет:
<form action="search-results" method="post">
<input type="text" maxlength="10" name="zip_code" value="zip code" size="10">
<input type="submit" name="submit" value="SEARCH">
</form>
Результат поиска виджет:
<?php
$results = $this->pages_model->result();
foreach ($results as $result)
{
echo '<h4>'.$result['company'].'</h4>';
echo $result['address_1'] . ' ' . $result['address_2'].'<br>';
echo $result['city'].', ' . $result['state'] . ' ' . $result['zip'].'<br>';
echo 'Phone: ' . $result['office_phone'].'<br>';
echo 'Fax: ' . $result['office_fax'].'<br>';
echo 'Website: <a href="'.$result['website'].'" target="_blank">' . $result['website'].'</a><br>';
echo '<br>';
echo '<hr>';
}
if (count($results) < 1) {
echo 'No results found. Please try your search again, or try <a href="another-search">another search</a>.';
}
?>
Я надеюсь, что кто-то помогает!
Есть ли формы на той же странице? Если так - я могу думать только об AJAX. Если вы хотите показать 1 форму на 1 странице, а затем нажмите кнопку мыши, и результаты будут отображаться на другой странице - вы можете использовать только PHP. плз. укажите, как вы хотите, чтобы он работал. – Stann 2010-12-16 13:56:05
форма и результат будут на отдельных страницах; он должен использовать CodeIgniter – Adrian 2010-12-16 13:57:39