Last active
October 19, 2019 15:05
-
-
Save mochi5o/1f8936686efc8a5a59a70d13474b80a0 to your computer and use it in GitHub Desktop.
PHPだけでDBからの検索を実行する
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
include('functions.php'); | |
$pdo = connectToDb(); | |
$keyword = $_POST["keyword"]; | |
if (isset($keyword)) { | |
// echo 'キーワード入力OK'; | |
// 実際にはPOSTデータを直接SQLに入れるこういうやり方はしない(脆弱性の問題。詳しくは課題のコメント参照ください) | |
$sql = "SELECT * FROM gs_bm_table WHERE name LIKE '%" . $keyword . "%'"; | |
$stmt = $pdo->prepare($sql); | |
$status = $stmt->execute(); | |
var_dump($status); // $statusがtrueじゃなかったら値が取れてないかどこかでエラー | |
$array = array(); | |
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { | |
array_push($array, $row); | |
} | |
// var_dump($array); | |
} | |
?> | |
<html> | |
<head> | |
<title>本の検索</title> | |
</head> | |
<div class="collapse navbar-collapse" id="navbarNav"> | |
<ul class="navbar-nav"> | |
<li class="nav-item"> | |
<a class="nav-link" href="index.php">一覧</a> | |
</li> | |
</ul> | |
<body> | |
<form action="" method="post"> | |
キーワード:<input type="text" name="keyword" value="<?php echo $_POST['keyword'] ?>"><br> | |
<input type="submit"> | |
</form> | |
<table> | |
<tr> | |
<th>本の名前</th> | |
</tr> | |
<?php foreach ($array as $key) : ?> | |
<tr> | |
<td><?php echo $key['name'] ?></td> | |
</tr> | |
<?php endforeach; ?> | |
</table> | |
</body> | |
</html> |
Author
mochi5o
commented
Oct 19, 2019
- 通常は同一ページ内での再レンダリングの実装ならajaxで実装するところだと思います
- 今回は課題チェックのためにとりあえず書いてみました
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment