前提・実現したいこと
検索するまでDBのデータを表示させたくない
エラーはでませんが、ページを開いた段階でデータがすべて表示されてしまいます。
該当のソースコード
index.php <?php include('search.php'); $userData = getUserData($_GET); ?> <!DOCTYPE HTML> <html lang="ja"> <head> <meta charset="utf-8" > <meta name="viewport" content="width=device-width, initial-scale=1"> <title>トップページ</title> </head> <body> <h1 class="col-xs-6 col-xs-offset-3">検索フォーム</h1> <div class="col-xs-6 col-xs-offset-3 well"> <?php //②検索フォーム ?> <form method="get"> <div class="form-group"> <label for="InputName"名前</label> <input name="name" class="form-control" id="InputName" value="<?php echo isset($_GET['name'])? htmlspecialchars($_GET['name']) : '' ?>"> </div> <button type="submit" class="btn btn-default" name="search">検索</button> </form> </div> <div class="col-xs-6 col-xs-offset-3"> <?php if(isset($userData) && count($userData)): ?> <p class="alert alert-success"><?php echo count($userData) ?>件見つかりました。</p> <table class="table"> <thead> <tr> <th>名前</th> </tr> </thead> <tbody> <?php foreach($userData as $row): ?> <tr> <<td><?php echo htmlspecialchars($row['name']) ?></td> </tr> <?php endforeach; ?> </tbody> </table> <?php else: ?> <p class="alert alert-danger">検索対象は見つかりませんでした。</p> <?php endif; ?> </div> </body> </html>
search.php <?php function getUserData($params){ //DBの接続情報 $dbname = "siteDB"; $host = "localhost"; $username = "root"; $password = ""; //DBコネクタを生成 $Mysqli = new mysqli($host, $username, $password, $dbname); $Mysqli->query('SET NAMES utf8'); if ($Mysqli->connect_error) { error_log($mysqli->connect_error); exit; } //入力された検索条件からSQl文を生成 $where = []; if(!empty($params['name'])){ $where[] = "name like '%{$params['name']}%'"; } if($where){ $whereSql = implode(' AND ', $where); $sql = 'select * from users where ' . $whereSql ; }else{ $sql = 'select * from users'; } //SQL文を実行する $UserDataSet = $Mysqli->query($sql); $result = []; while($row = $UserDataSet->fetch_assoc()){ $result[] = $row; } return $result; }
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答5件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/01/12 09:33 編集
退会済みユーザー
2019/01/12 09:37
2019/01/12 09:41
退会済みユーザー
2019/01/12 09:44
2019/01/12 09:56
退会済みユーザー
2019/01/12 09:59
2019/01/12 10:00
2019/01/12 10:07