0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

PHP7で複数検索サイトの作り方

Posted at

こんばんは!

複数検索サイトを作りました。

まずは画像です。

OCT17-3.JPG

名前と出身地を入れたら表示するような形式にしました。

単一検索サイトではforeachとifを使いました。

今回は、foreachを2回使います。

さて、コードを貼ります。

<!doctype html>
<head>
<title>
Sample
</title>
</head>
<body>

<form action="Sample01.php" method="POST">
	<p class="sample1">名前:<input type="text" name="handle" placeholder="名前入力"></p>
	<p class="sample2">出身地:<input type="text" name="live" placeholder="出身地"></p>
	<input type="submit" value="検索">
</form>

</body>

htmlではこのように記述しました。

では、サーバーサイド側です。

<?php

$data1 = htmlspecialchars($_POST['handle'],ENT_QUOTES,"UTF-8");

$data2 = htmlspecialchars($_POST['live'],ENT_QUOTES,"UTF-8");


$arr1 = array(
			"山田太郎",
			"山田花子",
			"山田次郎",
			"山田三郎",
			"東郷平八郎",
			"新渡戸稲造"

);

$arr2 = array(
			"北海道",
			"青森県",
			"岩手県",
			"福島県",
			"山形県",
			"茨城県",
			"東京都",
			"千葉県",
			"神奈川県",
			"埼玉県"

);
	foreach($arr1 as $key => $val){
		foreach($arr2 as $key =>$val){
			if($data1 == $val || $data2 == $val){
				echo "名前は".$data1."です。"."<br>"."出身地は".$data2."です。"."<br>";
				break 2;
	 }
	}
}

?>

最後に break 2と入れていなかったら

複数階出てしまうことになります。

その点、注意をしてください。

また、配列に該当したものを入力したら

出力するというだけのものですので

前回の記事と同じくあまりいい作り方をしているわけではありません。

本来ならPDO(PHP PHP Data Object)を使って

mysql上のテーブルから複数の物を抜き出してくる

と言った形のものにするのが本来のやり方であり

さらにclassやfunctionと言ったものを

使えばさらにいいコードを書けることでしょう。

以上です。

いつも私のブログを見ていただきまして

誠にありがとうございます。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?