※ ChatGPTを利用し、要約された質問です(原文:PHPとMySQL 検索フォームを作りたい。)
PHPとMySQLで検索フォームを作成する方法
このQ&Aのポイント
PHPとMySQLを使用して商品一覧を作成し、検索フォームを作りたい場合の具体的な手順を教えてください。
入力フォームと検索された一覧表のソースコードの書き方がわからないので、具体的な書き換え箇所を教えていただきたいです。
まだ初心者で、本やサイトを参考にしながら実装しています。お手本を教えていただければ助かります。
PHPとMySQLを使って商品一覧を作りました。
◆商品一覧表 http://pips.chu.jp/0/07/index.php
<?php
function connect() {
return new PDO("mysql:dbname=★.★","★","★",
array(
PDO::MYSQL_ATTR_INIT_COMMAND => "SET CHARACTER SET `utf8`"));
}
$pdo = connect();
$st = $pdo->query("SELECT * FROM shohin");
$shohin = $st->fetchAll();
?>
<TABLE border="1">
<tr>
<th>商品番号</th>
<th>商品名</th>
<th>分類</th>
<th>販売単価</th>
<th>仕入単価</th>
<th>登録日</th>
</tr>
<?php foreach ($shohin as $g) { ?>
<tr>
<td><?php echo $g['id'] ?></td>
<td><?php echo $g['name'] ?></td>
<td><?php echo $g['bunrui'] ?></td>
<td class="td-price"><?php echo number_format ($g['htanka']) ?></td>
<td class="td-price"><?php echo number_format ($g['stanka'])?></td>
<td><?php echo $g['day'] ?></td>
</tr>
<?php } ?>
</TABLE>
◆特定の商品一覧表 http://pips.chu.jp/0/07/irui.php
↓
$st = $pdo->query("SELECT * FROM shohin");の部分を
$st = $pdo->query("SELECT * FROM shohin WHERE bunrui='衣類' ");に変更すると
分類が衣類だけの表になります。
◆入力フォーム http://pips.chu.jp/0/07/form.php
↓
<form action = "kensaku.php" method="post">
分類:<input type="text" name="bunrui">
<input type="submit" name="submit" value="検索">
</form>
こんな感じの入力フォームを作り、分類名を入力すると、その分類名の一覧表に反映されるようにしたいです。
◆検索された一覧表 http://pips.chu.jp/0/07/kensaku.php
↓
<?php
function connect() {
return new PDO("mysql:dbname=★.★","★","★",
array(
PDO::MYSQL_ATTR_INIT_COMMAND => "SET CHARACTER SET `utf8`"));
}
$pdo = connect();
$st = $pdo->query("SELECT * FROM shohin WHERE bunrui='?' ");
$shohin = $st->fetchAll();
?>
<TABLE border="1">
<tr>
<th>商品番号</th>
<th>商品名</th>
<th>分類</th>
<th>販売単価</th>
<th>仕入単価</th>
<th>登録日</th>
</tr>
<?php foreach ($shohin as $g) { ?>
<tr>
<td><?php echo $g['id'] ?></td>
<td><?php echo $g['name'] ?></td>
<td><?php echo $g['bunrui'] ?></td>
<td class="td-price"><?php echo number_format ($g['htanka']) ?></td>
<td class="td-price"><?php echo number_format ($g['stanka'])?></td>
<td><?php echo $g['day'] ?></td>
</tr>
<?php } ?>
</TABLE>
「入力フォーム」と「検索された一覧表」のソースの書き方がわかりません。
どのようにけば実現するでしょうか。
まだ初心者なので、本やサイトを調べながら見よう見まねでやっています。
具体的に、どの部分を書き換えればよいか教えていただければ有難いです。
よろしくお願いします。
お礼
hyter様 ありがとうございました! ご回答の通りにソースを書き換えたら解決しました! はじめて投稿して勝手がよくわからず、お礼が遅くなってしまい申し訳ありませんでした。 今後もがんばって勉強しますので、また機会がありましたら教えてください。 本当にありがとうございました。