Help us understand the problem. What is going on with this article?

PHPで簡単なページ内検索の作り方

More than 1 year has passed since last update.

小さな掲示板を作成し、そこでスレッドの検索機能が必要と感じたため、実際に検索機能を実装して見ました。

検索機能の実装

必要知識
- MySQL
- PHP
MySQLに登録したデータをLIKE句を使用して検索していきます。
事前にいくつか登録したデータを出力しておきます。
スクリーンショット 2018-03-29 22.54.39.png

index.php
<?php
 ini_set('display_errors',1);
 require_once('db_info.php');

if (isset($_GET['search'])) {
  $search = htmlspecialchars($_GET['search']);
  $search_value = $search;
}else {
  $search = '';
  $search_value = '';
}
 $sql = "SELECT * FROM 画像 where nam LIKE '%$search%' order by ban";
 $stmt = array();
 foreach ($db->query($sql) as $row) {
   array_push($stmt,$row);
 }
 ?>
 <!DOCTYPE html>
 <html>
   <head>
     <meta charset="utf-8">
     <title>記事の検索</title>
   </head>
   <body>
     <form action="" method="get">
       <p>記事の検索</p>
       <input type="text" name="search" value="<?php echo $search_value ?>"><br>
       <input type="submit" name="" value="検索">
     </form>
     <?php foreach ($stmt as $key): ?>
       <p><strong>記事の名前</strong><br>
         <?php echo $key['nam'] ?><br>
         <?php echo $key['dat']; ?></p>
     <?php endforeach; ?>
   </body>
 </html>

中はこのようなコードになっております。
LIKE句を使用して文字列の一致を検索してきます。
input type="text" name="search" value=""
の部分にもじが入っていれば$_GET['search']で文字を取得し$searchに格納します。

そしてLIKE %$search%の部分で部分一致検索をします。
入力した文字と一致すればtrue 一致しなければfalseを返してくれます。

実行例
スクリーンショット 2018-03-29 23.23.55.png

harutya
こんにちは。 社会人になりました。 開発言語はPHPを主としています。 どうぞよろしくお願いします。
joyworks
Webアプリケーション開発・制作やBtoCのWebサイト開発をはじめ、幅広い開発プロジェクトを手がけている当社。近年は帰社しやすい環境づくりのために渋谷にオフィスを移転したり、当社専属のIT講師を採用し、AI研修などに力を入れています。
https://www.joyworks.jp
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away