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

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

More than 1 year has passed since last update.

こんばんは!

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

まずは画像です。

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と言ったものを

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

以上です。

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

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

yukitobe
学習障害(LD)3級もち 2018年8月24日に精神障害者保健福祉手帳申請。 2018年9月28日に交付。 ■学習していること Excelマクロでプログラミング PHP HTML5 当ブログをご覧いただければ幸いです。 何卒宜しくお願い致します。
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
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  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
ユーザーは見つかりませんでした