用CakePHP在索引处显示结果的搜索函数
如何在“索引”视图中显示搜索功能的查询结果?显然,从默认蛋糕底部区域显示的内容来看,搜索工作正常。用CakePHP在索引处显示结果的搜索函数,cakephp,cakephp-2.0,Cakephp,Cakephp 2.0,如何在“索引”视图中显示搜索功能的查询结果?显然,从默认蛋糕底部区域显示的内容来看,搜索工作正常。 从cTrader.movies中选择Movie.Movie\u id、Movie.title、Movie.date、Movie.description作为Movie WHERE Movie.date将表单更改为以下内容 <h1>Movies</h1> <?php echo $this->Form->create('Movie', array('type'
从cTrader.movies中选择Movie.Movie\u id、Movie.title、Movie.date、Movie.description作为Movie WHERE Movie.date将表单更改为以下内容
<h1>Movies</h1>
<?php echo $this->Form->create('Movie', array('type' => 'get', 'action' => 'index'));?>
<?php echo $this->Form->input('date', array(
'type' => 'date',
'label' => 'Date',
'empty' => false,
'dateFormat' => 'DMY',
'minYear'=>'1990',
'maxYear'=>date('Y'),
)); ?>
<?php echo $this->Form->end(__('Submit')); ?>
<table>
<tr>
<th>Title</th>
<th>Year</th>
<th>Description</th>
</tr>
<?php foreach ($movies as $movie): ?>
<tr>
<td><?php echo $movie['Movie']['title'];?></td>
<td><?php echo $movie['Movie']['date'];?></td>
<td><?php echo $movie['Movie']['description'];?></td>
</tr>
<?php endforeach; ?>
<?php unset($movie); ?>
</table>
<ul>
<li><?php echo $this->Html->link(__('Insert a new movie'), array('controller' => 'movies', 'action' => 'add')); ?> </li>
</ul>
和你的控制器到下面
<?php
class MoviesController extends AppController {
public $helpers = array('Html', 'Form');
public function index() {
if(isset($this->request->query['date']){
$result = $this->request->query['date']['year'] . $this->request->query['date']['month'] . $this->request->query['date']['day'];
$searchdate = array(
'Movie.date <=' => $result,
);
$this->set('movies', $this->Movie->find('all', array('conditions' => $searchdate )));
$this->render = 'search';
}
else{
$this->set('movies', $this->Movie->find('all'));
}
}
?>我不会重新发明轮子,而只是简单地使用它-它确实可以做到这一点,但要以干净干燥的方式。安德鲁,你能探索你面临的确切问题或你在哪里出错吗?谢谢你的回答@实际上,功能反应良好,并相应地进行处理。但是,我的问题发生在我第一次搜索之后。例如,我根据日期搜索我的第一部电影并显示,但当我再次搜索时,它会显示我的所有记录,我想这是因为需要清除某些内容。那会是什么?谢谢
<h1>Movies</h1>
<?php echo $this->Form->create('Movie', array('type' => 'get', 'action' => 'index'));?>
<?php echo $this->Form->input('date', array(
'type' => 'date',
'label' => 'Date',
'empty' => false,
'dateFormat' => 'DMY',
'minYear'=>'1990',
'maxYear'=>date('Y'),
)); ?>
<?php echo $this->Form->end(__('Submit')); ?>
<table>
<tr>
<th>Title</th>
<th>Year</th>
<th>Description</th>
</tr>
<?php foreach ($movies as $movie): ?>
<tr>
<td><?php echo $movie['Movie']['title'];?></td>
<td><?php echo $movie['Movie']['date'];?></td>
<td><?php echo $movie['Movie']['description'];?></td>
</tr>
<?php endforeach; ?>
<?php unset($movie); ?>
</table>
<ul>
<li><?php echo $this->Html->link(__('Insert a new movie'), array('controller' => 'movies', 'action' => 'add')); ?> </li>
</ul>
<?php
class MoviesController extends AppController {
public $helpers = array('Html', 'Form');
public function index() {
if(isset($this->request->query['date']){
$result = $this->request->query['date']['year'] . $this->request->query['date']['month'] . $this->request->query['date']['day'];
$searchdate = array(
'Movie.date <=' => $result,
);
$this->set('movies', $this->Movie->find('all', array('conditions' => $searchdate )));
$this->render = 'search';
}
else{
$this->set('movies', $this->Movie->find('all'));
}
}