• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:DBから読み込んだ買い物リストを複数選択で送信)

DBから複数選択した買い物リストを送信 | php初心者の質問

tracerの回答

  • tracer
  • ベストアンサー率41% (255/621)
回答No.2

不確定要素が多すぎて、何を前提に書けばいいのか分かんないけど、1個ならできて、2個以上できない理由が、逆に謎。1個ならできたのであれば、そのアプローチを書けば回答側は、わかりやすいかもね。セッションとクッキーとか何も使っていない状況?

hayaken73
質問者

お礼

質問がうまくできず申し訳ございません。 (1個ならできた)というのは、商品を1つにつき、[注文]ボタンを1つを get送信でつくる作り込みはできたという事でした。(今回は<form>で商品を 複数選択できるつくり込みにチャレンジ中という事です。) セッションは使っている状況です。 ありがとうございました。

関連するQ&A

  • DBから取得したデーター+配列データーの受取り

    (過去に似たような質問をしたのですが、その続きの質問です。) よろしくお願いします。 ※セッションID(以下(3)のDBのカラム(ssid)で使用)を 発行した状態で以下を行いたいのですが、(3)がうまくいきません。 (1)商品リストのDBを以下のように作り -------------------------------------------- (テーブル:products) product_id | product_cd | name | price 1 | 10 | 本01   | 1300 2 | 11 | 本02     | 1200 3 | 20 | サプリ01    | 4800 4 | 30  | ストレッチボード | 9800 5 | 30 | 健康シューズ   | 6800 -------------------------------------------- (2)上記をmysql_fetch_arrayで取り出し<table>を作成。 その際に、商品選択をする(checkbox)と(数量)を入力する<input> を加え<form>でkaimonoKago.phpへ送信します。 (products.php) <?php (途中省略) mysql_query("set names utf8"); $sql = "select * from products "; $result = mysql_query($sql) ; ?> <form method="post" action="kaimonoKago.php"> <table> <tr> <th></th> <th>商品コード</th> <th>商品名</th> <th>価格(税込</th> <th>数量</th> </tr> <?php while($row = mysql_fetch_array($result)){ print "<tr>\n"; print "<th><input type=\"checkbox\" name=\"check[]\" value=\"".$row["product_id"]."\"></th>\n"; print "<td>".htmlspecialchars($row["product_cd"])."</td>\n"; print "<td>".htmlspecialchars($row["product_name"])."</td>\n"; print "<td>&yen;".number_format($row["price_intax"])."</td>\n"; print "<td><input type=\"text\" name=\"kazu[".$row["product_id"]."]\" size=\"3\"></td>\n"; print "<input type=\"hidden\" name=\"ssid\" value=\"".$_SESSION['ssid']."\" />\n"; print "</tr>\n"; } ?> <input type="submit" name="order" value="注文" /> </form> (3)<form>で送られてきた情報を、買い物カゴDB ----------------------------------------------- (テーブル名:kaimonoKago) (カラム: ssid, product_cd, product_name, price_intax, kazu, shoukei) ----------------------------------------------- にインサートしたいのですが、うまくいきません。正しい記述を教えて下さい。 mysql_fetch_arrayやらwhile文やら配列が2つあったりして、どのように組み立てたら いいのか、基本的な考え方も教えていただければ幸いです。 (自分がつくった、うまくいかないコード)    ↓ (kaimonoKago.php) $check=(isset($_REQUEST["check"]) and is_array($_REQUEST["check"]))?$_REQUEST["check"]:array(); $kazu=(isset($_REQUEST["kazu"]) and is_array($_REQUEST["kazu"]))?$_REQUEST["kazu"]:array(); foreach($check as $val){ if($kazu[$val]>0){ $sql = "select * from products where product_id ='" . mysql_real_escape_string($val) . "'"; $result = mysql_query($sql); while($products = mysql_fetch_array($result)){ $product_cd = $products['product_cd']; $product_name = $products['product_name']; $price_intax = $products['price_intax']; $kazu = $kazu[$val]; $shoukei = $price_intax * $kazu; $sql = "insert into kaimonoKago ( ssid, product_cd, product_name, price_intax, kazu, shoukei ) values ( '" . mysql_real_escape_string ( $_SESSION['ssid'] ) . "', '" . mysql_real_escape_string ( $product_cd ) . "', '" . mysql_real_escape_string ( $product_name ) . "', '" . mysql_real_escape_string ( $price_intax ) . "', '" . mysql_real_escape_string ( $kazu ) . "', '" . mysql_real_escape_string ( $shoukei ) . "' )"; mysql_query($sql); } } } } よろしくお願いします。

    • ベストアンサー
    • PHP
  • EXCELでリストを作成して、そのリストを選択した値を複数の入力するよ

    EXCELでリストを作成して、そのリストを選択した値を複数の入力するようにしたいが、どうしたらいいでしょうか? 例えばA1にリストを作成、リスト中”A,B,C,D"が選択できるようにする。 ”A"を選択した場合B1のセルに”あ”が表示、同時にC1のセルに”ア”が表示。 ”B"を選択した場合B2のセルに”い”が表示、同時にC2のセルに”イ”が表示....

  • リストボックスの複数選択について

    ACCESS2003を使っています。 入力用フォームにリストボックスを作って 複数選択するようプロパティで変更しました。 この情報をテーブル上に反映させることができません。 どうしたらいいのかお教えください。 具体的には 入力用フォームに りんご(*) みかん かき(*) スイカ   (*)印は黒反転 この状態で入力するとテーブル上に りんご かき というように表示するようにしたいのです。

  • phpのリストボックスについて

    よろしくお願いします。 phpを利用し、条件にあった内容を表示させる画面を作っています。 リストボックスで選択した内容を次のリストボックスの選択キーとして 別テーブルの検索条件に利用できるものでしょうか?? 以下のソースなんですが、 //------------------------------------------------------------- ソースA: print "<select name='brand' id='brand' style='width:190'>"; $sql ="select * from brand ORDER by no"; $res = mysql_query($sql); if ($res and mysql_num_rows($res)) { while($rec=mysql_fetch_array($res)){ echo "<option value='{$rec['name']}' >{$rec['name']}</option>"; } } print "</select>"; //-------------------------------------------------------------- とbrandテーブルからnameをリストボックス表示させます。 この表示し、選択した内容(仮にダイヤ)を同画面にあるもう一つの リストボックスで同じようなソースで別テーブルをselect文の検索キーに したいのです。以下のような感じ・・ //------------------------------------------------------------- ソースB: $sql ="select * from item where = 'ダイヤ'"; $res = mysql_query($sql); if ($res and mysql_num_rows($res)) { while($rec=mysql_fetch_array($res)){ echo "<option value='{$rec['itemname']}' >{$rec['itemname']}</option>"; } } print "</select>"; //-------------------------------------------------------------- の$sql ="select * from item where = 'ダイヤ'";←このダイヤを ソースAからもってきたいのですが、何かよい方法はありますか? 変数作ってやってみましたが、うまくいかずです。phpだけでは無理でしょうか?よろしくお願いします。

    • 締切済み
    • PHP
  • エクセル2007で条件によってプルダウンリストを

    エクセル2007でリストを3項目って可能ですか? リスト用シートとして 得意先 あ い う 3社を"得意先"と名前定義付け 得意先「あ」の商品 a b c "あ商品名"と名前定義付け 得意先「い」の商品 f g h "い商品名" 同上 得意先「う」の商品 アイウ "う商品名" 同上 商品名「a」の数量 50 商品名「b」の数量 1000 商品名「c」の数量 10 ・・・ と数量が決まっている。-----ここまでリスト用シートに作成 で、 データ用シート(別シート)として、A列を得意先「あいう」から選択し、「あ」を選択したらB列は「abc」のプルダウンから選択し、「a」を選択したらC列には50が自動で入るということがしたいのです。 またこの場合、リスト用シートの入力方はどんな形でもよいのでしょうか?数式も含めてお助け下さい。

  • エクセル 2003 リストボックス複数選択後の処理

    いつもありがとうございます。 先日もご質問させていただきました。 エクセル VBA 初心者で困っております。 誠に申し訳ありませんが、ご教授をよろしくお願いします。 (sheet2)のデータをリストボックス(sheet1)で複数の値を選択し、 オートフィルタ-に反映させて抽出し、 その後、セルB1以下(sheet1)に入力した値と貼り付けた別のシート(sheet3)で数値1×数値2を掛け算し、数値3にそれぞれ出すのが目的です。 sheet1 リストボックスで複数選択された値を、A1より下に貼り付けていく それぞれB列に数値を入れる 例.(リストボックス選択後)     A     B 1  製品A  5(入力) 2  製品B  3(入力) 3  製品C 2(入力) ・ ・ ・ コマンドボタン1を押すと実行 sheet2(今後増える可能性あり)      製品名      数値1    数値2   数値3 1 製品C       2           2 製品A       2 3 製品E       1 4 製品B       4 5 製品F       3 6 製品D       5 ・ ・ ・ sheet3(貼付先) 実行結果   製品名      数値1    数値2   数値3         1 製品A        2        5      10 2 製品B        4        3      12 3 製品C   2 2 4 以前の質問では、1つずつでの入力で思ったとおりの結果になりました。 今回は複数です。 初心者で、まだ手を出す部分ではないとは思いますが、よろしくお願い致します。

  • アクセスのリストボックスの複数選択

    リストボックスの設定方法を教えてください。 1画面目にテーブルと連結したリストボックスがあります。 複数選択した情報をSelectedプロパティで取得しています。 次画面にて同じテーブルに連結されているリストボックスを 1画面目と同じ様に選択されている状態にしたいのですが、 方法がわかりません。 選択されている内容だけをリストボックスに表示する方法は 見つけたのですが、同じ状態で選択される方法がわかりません。 ご回答、宜しくお願いします。

  • 2つのテーブルのデータをそれぞれリストに表示して選択したい

    VB6で以下のようなプログラムを作っています。 Aテーブルのデータを一覧表示するリスト1とBテーブルのデータを表示する リスト2があって、リスト1で選んだデータとリスト2で選んだデータの 組み合わせによって、エクセルにデータを出力します。 ・MS-ACCESSのmdbのテーブルからデータを表示(DAOを使っているようです。) ・リストは表示のみ、入力はなし ・複数行選択あり ・初期表示時に、あらかじめあるデータを選択状態にして表示 ヘルプをあちこち見た結果、LISTVIEWが近いかなと思って、やってみている のですが、リスト1で選択しても、リスト2を選択すると、リスト1の反転 が消えてしまうんです。両方選択状態にしておきたいんですけど、LISTVIEW じゃできないんでしょうか?ただ、業務で作成されているコントロールなども 使っているので、その影響がないとも言えません。なので「できるはずだ!」 という回答でも構いません。 あと、リストに入力できてしまいます。選択はできるけど、入力は不可という 状態にできるのでしょうか? ヘルプをあちこち見てみたんですけど、ヘルプ自体がよくわからなくて。。。 アドバイスよろしくお願いします。

  • Excelでアンケート集計(項目の複数選択)

    Excel2010です。 ピボットテーブルを使い、 アンケート回答者の属性(業種)と回答結果(選択肢1~3まで複数選択可、選択項目にはセルに“1”(フラグ)を付与)を以下の様な構成で、 (行) 業種A 業種B 業種C (列) 選択肢1 選択肢2 選択肢3 数量を集計しました。 ピボットテーブルのテーブルリストでは、 行ラベル:業種 列ラベル:∑値 ∑値:選択肢1、選択肢2、選択肢3 となっています。業種毎、選択肢毎の組み合わせで数量が表中に出てきましたが、全体の割合を出したいと思います。 例えば、業種Aの各選択肢が選ばれた数の、全体に占める割合。 現在は、下記のように数量のみですが、 業種A=選択肢1(5個)、選択肢2(60個)、選択肢(35個)  割合(%) 業種A=選択肢1(5%)、選択肢2(60%)、選択肢(35%)、全体(100%) ということを簡単に表示したいのですが、どのようにしたらよろしいでしょうか。 (この例では、単純に個数と%が同じになるようにしています)

  • DBからの値をリストアップするとき目印別にテーブルを組みたい

    ■ 環境 PHP 5.0.4 Win、MySQL mysql 4.0.14b Win ■知識レベル HTMLタグ打ち、初歩SQLは理解可、PHP他プログラミング知識なし 文末のソースで以下のようなリストを作ることはできたのですが: n冊みつかりました。 ―――――― 価格 書名 ―――――― 1000 ○○○ 2000 △△△   : ―――――― テーブルに含まれるpublisherというフィールドを目印に出版社別にテーブルを 組んで表示したいのですが、どのように書き換えたらよいでしょうか。 n冊みつかりました。出版社が n社 ありますので出版社別に分けて表示します。 ×社 ―――――― 価格 書名 ―――――― 1000 ○○   : ―――――― □出版 ―――――― 価格 書名 ―――――― 2000 △△   : ―――――― : <?php $con = mysql_connect(SERVER, USER, PASS); $selectdb = mysql_select_db(MYDB, $con); $sql = "select * from book"; $rst = mysql_query($sql, $con); $recmax = mysql_num_rows($rst); $body = "<B>$recmax 冊みつかりました。</B>"; $body .= "<TABLE> <TR> <TD>価格</TD> <TD>書名</TD> <TR>\n"; while($col = mysql_fetch_array($rst)) { $body .= "<TR>\n"; $body .= "<TD>" . $col["price"] . "</TD>\n"; $body .= "<TD>" . $col["title"] . "</TD>\n"; $body .= "</TR>\n"; } $body .= "</TABLE>\n"; mysql_free_result($rst); $con = mysql_close($con); ?> <HTML><BODY> <?= $body ?> </BODY></HTML>

    • ベストアンサー
    • PHP