• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:任意のレコード値を別レコードに挿入)

任意のレコード値を別レコードに挿入

このQ&Aのポイント
  • 顧客テーブルから絞り込まれたレコードを売上テーブルに挿入する方法について教えてください。
  • 現在、検索結果をループで表示しており、ボタンをクリックするとすべての検索結果が挿入されます。
  • どのようにすれば絞り込まれたレコードのみを挿入できるのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

検索結果を表示するときに <form action="reg.php" method="post"> <input type="hidden" name="kokyaku_id" value="<?=$row['kokyaku_id'] ?>"> <input type="submit" value="売上登録"> </form> っていう形で1レコード毎に作ればいいんじゃない? そうすれば出力されるHTMLは <form action="reg.php" method="post"> <input type="hidden" name="kokyaku_id" value="1"> <input type="submit" value="売上登録"> </form> <form action="reg.php" method="post"> <input type="hidden" name="kokyaku_id" value="2"> <input type="submit" value="売上登録"> </form> とかなるでしょ。そうすればそれぞれのボタンをクリックすればkokyaku_idはそれぞれの値が飛ぶ。 reg.phpではそのkokyaku_idを取得してその値でselect insertすればいいんじゃない?

wapparice2
質問者

お礼

ありがとうございます。 教えて頂いた内容でうまくいきました。 お手数おかけしました。

その他の回答 (1)

回答No.1

ごめん、ここの仕様の問題だから仕方ないんだけど、画像の中に小さい字があっても読めないんだ。 INSERTを実行するところが問題だろうにそこのロジックを端折っちゃアドバイスのしようがないよ。 普通はキーとなる項目を登録用のスクリプトに送信してそのキーで顧客テーブルから対象のレコードを取得して売り上げテーブルにインサートかけると思うけど。 再取得しないなら全項目をhiddenに持つとかしないとだよ。 まあカンマ区切りで持ったりしてもいいけど。 そんなことするなら、INSERT時にもう一度取得したほうがいいと思うよ。 面倒ってのもあるし、画面開いたまま他の人が顧客テーブル書き換えたら古いデータで上書きされることになるし。 そうなってくるとデータのロックしたりとか考えないといけない。 (どっちにしてもWebだとデータのロックを考慮しないといけない場合が多い。絶対一人しか実行しません。ってなら別だけど)

wapparice2
質問者

補足

ご回答ありがとうございます。 おっしゃる通りにhiddenで全項目を隠して行う予定でしたが、面倒ですね。 スクリプトファイルにkokyaku_idを飛ばしたいと思っていますが、$kekka['kokyaku_id']だと全ての値がPOSTされてしまうので、どうすればいいのでしょうか?

関連するQ&A