こんばんは!
複数検索サイトを作りました。
まずは画像です。
名前と出身地を入れたら表示するような形式にしました。
単一検索サイトでは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と言ったものを
使えばさらにいいコードを書けることでしょう。
以上です。
いつも私のブログを見ていただきまして
誠にありがとうございます。