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>
「入力フォーム」と「検索された一覧表」のソースの書き方がわかりません。
どのようにけば実現するでしょうか。
まだ初心者なので、本やサイトを調べながら見よう見まねでやっています。
具体的に、どの部分を書き換えればよいか教えていただければ有難いです。
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
一番手っ取り早いのは
$st = $pdo->query("SELECT * FROM shohin WHERE bunrui='?' ");
を
$st = $pdo->query("SELECT * FROM shohin WHERE bunrui='" . $_POST["bunrui"] . "' ");
にすれば動きませんか?
(入力フォームに何かしら文字を入れないと、何も出力されないでしょうけど…)
あとは
・SQL実行前に入力値(POST値)のチェックを行う
・SQL実行時はプレースホルダを使う
・DB接続時、SQL実行時のエラーチェックを行う
を実装すれば、とりあえず大丈夫かと。
※全然的外れなことを言ってましたらスミマセン。
hyter様
ありがとうございました!
ご回答の通りにソースを書き換えたら解決しました!
はじめて投稿して勝手がよくわからず、お礼が遅くなってしまい申し訳ありませんでした。
今後もがんばって勉強しますので、また機会がありましたら教えてください。
本当にありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP htmlで複数の個数入力欄を表示させるには 1 2022/09/20 03:11
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- MySQL SQL任意に並び替えをしたい 2 2023/08/28 10:47
- Visual Basic(VBA) Selenium.ChromeDriverの使い方について 7 2022/09/22 06:43
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- HTML・CSS テーブルタグのセルの幅の一部だけを指定 1 2023/03/12 12:02
- MySQL php テーブルを作れない 2 2022/11/17 18:22
- JavaScript EasyUIのSubGrid(jquery)におけるObjectに入れた連想配列について 1 2022/05/02 11:21
- PHP php テーブルが作成できない 1 2022/11/17 23:41
- PHP PHP MySql ページング 2 2022/09/20 06:38
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHPとMySQL 検索フォームを作り...
-
PHPで画像の渡しが上手く行きま...
-
ファイルアップローダーで送信...
-
phpのカウンタのリセット方法
-
HTMLで前の画面に戻る時、入力...
-
phpでチェックボックスでの値の...
-
テキストボックスに初期値を入れる
-
laravelを利用してコントロール...
-
phpでの複数選択チェックボック...
-
プルダウンとCSVの連動
-
PHPの初心者です。現在チェック...
-
<input type="hidden" >で配列...
-
formの外にあるチェックボック...
-
複数行のデータ一括更新に関して
-
PHP ボタンが押されたら処理を...
-
Flaskでサーバー立ち上げに関して
-
チェックボックスのvalueを連結...
-
入力フォーム→確認画面→送信画...
-
PHP セレクトボックスの値 GET...
-
sqlite文字列を格納、出力
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
form id、nameの番号振りなおし
-
フォームの状態やGETのURLは保...
-
PHPとMySQL 検索フォームを作り...
-
<input type="hidden" >で配列...
-
重複を防ぐ記述について教えて...
-
HTMLで前の画面に戻る時、入力...
-
laravelを利用してコントロール...
-
PHPでユーザー情報を入力して簡...
-
PHP ボタンが押されたら処理を...
-
PHPとHTML+Xamppの掲示板で画像...
-
syntax error, unexpected '}' ...
-
PHPでURLにジャンプするには?
-
VBA で、スペースを含むファイ...
-
PHPで入力フォームでデータを確...
-
フォーム送信後の更新ボタンで...
-
Flaskでサーバー立ち上げに関して
-
検索時の選択内容を保持する方法
-
PHPでCookieを使った訪問回数に...
-
チェックボックスによる検索
-
アマゾンのような評価の星を選...
おすすめ情報