検索用のフォームを作りました。
データベースはすでにあるものとして行っていきます。
はじめにシステムのsearch.phpです。
search.php
<?php
$dsn="mysql:dbname=dbname;host=localhost;charset=utf8";
$user="root";
$pass="root";
try{
$pdo=new PDO($dsn,$user,$pass);
}catch(Exception $e){
echo 'error' .$e->getMesseage;
die();
}
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
//検索フォームから受け取った文字列を$formに格納しています。
$form=strip_tags($_GET['search']);
//実際にデータベースに検索をかけています。
//今回はフォームに入力された値があるものを表示させたいので%$form%を使っています。
//titleやcontentは自分のデータベースのフィールド名にしてください。
$sql="SELECT * FROM post WHERE title OR content LIKE '%$form%'";
$stmt=$pdo->query($sql);
$search=$stmt->fetchAll();
require 'search_view.php';
?>
次に表示させるviewの部分です。
search_view.php
//foreach文であるだけ繰り返します。
//$searchをここでは$postに置き換えています。
<?php foreach ($search as $post) :?>
<div class="post">
//実際にデータベースからちtitleとcontentとcategoryとtimeを表示指定ます。
<h2><?php echo $post['title'] ?></h2>
<p><?php echo $post['content'] ?></p>
<p>カテゴリー:<?php echo $post['category'] ?></p>
<p>投稿日:<?php echo $post['time'] ?></p>
<p class="commment_link">
<a href="comment.php?no=<?php echo $post['no'] ?>">コメント</a>
</p>
</div>
<?php endforeach; ?>
これは僕の自作のブログの検索フォームのviewの部分です。
いずれ自作のブログの方も載せたいと思います。
やっぱり検索フォームは必要だよね。