正如標題所示,我需要使用輸入表單從數據庫中搜索數據並將查詢返回到同一頁面。CakePHP輸入表單搜索產品ID並在同一頁上顯示結果
我已經嘗試了許多不同類型的解決方案,來自Google和這裏。到目前爲止,他們中沒有人與我合作過。另外我對CakePHP很新,所以它很明顯我缺少一些東西。
我的數據的表名是「posts」。
所以,我想這個搜索結果是觀點是(search.ctp),我有形式有這樣的:
<?php
echo $this->Form->create('Search');
echo $this->Form->input('search', array('label' => 'Search with ID'));
echo $this->Form->end('Search');
?>
從我發現我很困惑,如果我應該使用我的PostsController.php作爲搜索功能,或者爲此創建新的控制器作爲SearchController.php,這同樣適用於模型。
在這一點上我與SearchController.php和代碼試圖就如下:
class SearchController extends AppController {
public function search(){
$keyword=$this->params->query['keyword'];
$cond=array('OR'=>array("Post.id LIKE '%$keyword%'","Post.title LIKE %$keyword%'") );
$list = $this->Post->find('all',array('conditions')=>$cond);
}
}
而且部分地方我嘗試顯示在頁面search.ctp代碼我查詢結果如下:
<?php
foreach($list as $post): ?>
<tr>
<td> <?php echo $post ["Search"]["id"]; ?> </td>
<td>
<?php echo $this->Html->link($post["Search"]["title"], array("controller" => "posts", "action" => "search", $post["Search"]["id"])); ?>
</td>
<td><?php echo $post["Search"]["created"]; ?></td>
</tr>
<?php endforeach; ?>
<?php unset ($post); ?>
我敢打賭,代碼是有點弱智,我一直這麼用,現在的代碼是完全搞砸了我quess試圖爲這個這麼多不同的解決方案..
反正感謝喲如果有人善意幫助有需要的人,
cakephp版本? – yossi