「INSERT INTO」文はどこに書かれている構

このQ&Aのポイント
  • 「INSERT INTO」文の構文がどこで書かれているのか知りたいです。
  • addxmas.phpファイル中の(3)の箇所で「INSERT INTO」文が記述されています。
  • この「INSERT INTO」文の構文は以下のようになります:INSERT INTO tbl_name (col_namel, col_name2, ...) VALUES (value1, value2, ...);
回答を見る
  • ベストアンサー

「INSERT INTO」文はどこに書かれている構

私のパソコンにはXAMPPを構築して、MySQLが出来る環境か 定かではございません!?  ある教本でPHPを勉強中です。  教本の項目で  「クリスマスパーティ予約登録」あります。  それを実行するための、教本に書かれていたプログラム、2件のファイル名  1)addxmas.html  2)addxmas.php  ですが、プログラムを以下に示しました。  2)addxmas.phpファイルの教本に書かれていた説明に   ◎ データベースへのアクセス:登録処理   データベースへの接続処理が成功して、始めてデータベースにアクセスできるようになります。  ここでのデータベースアクセスはレコードの登録処理で、(3)の「INSERT INTO」文によって行われます。  「INSERT INTO」文は次のような構文になります。  INSERT INTO tbl_name (col_namel, col_name2, ...)VALUES (value1, value2, ...);  以上ですが、     そこで質問ですが、  「INSERT INTO」文の構文がどこの書かれているのか、知りたくて、   たぶん  xamppのフォルダ中のどこかにあると思って、100以上ファイルがあると思われる"xampp"を”INSERT INTO tbl_name”で文字列検索したところ ヒットしませんでした!?    「INSERT INTO」文はどこに書かれている構文なのでしょうか!?    よろしくお願いします。     ---------------------------------------------------- 1)addxmas.html -----------------------------------------------------   <!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <title>Xmasパーティ予約</title> <script type="text/javascript" src="../jquery-1.8.3"></script> <script type="text/javascript"> var query = {}; $(function(){ $("#exe").clck(booking); $("#clr").click(clearui); }); function booking(){ query["name"] = $("#name").val(); query["org"] = $("#org").val(); query["addr"] = $("#addr").val(); query["tel"] = $("#tel").val(); query["mail"] = $("#mail").val(); query["course"] = $("input[name="course"]:checked").val(); query["nume"] = $("#nums").val(); $.post("addxmas.php",query, function(ress){$("#status").text(res);}); } function clearui(){ $.each(["name","org",addr","tel","mail"],function(){ $("#" + this).val(""); }); $("#number").val(0); $("#status").text(""); $("#name").focus(); } </script> </head> <body bgcolor="#cadbdb"> <h3 style="color: #aa0022">Xamasパーティ予約情報登録<h/3> <table border="4" width ="480" bgcolor="#d8d8ff"> <tr> <th colspan="2"> Xmasパーティ予約情報登録画面&nbsp;&nbsp; <input type="button" id="exe" value=" 登録  "/> <input type="button" id="clr" value=" クリア "/> </th> </tr> <tr><th>代表者名:</th><td><input type="text" id="name" size="16"/></td></tr> <tr><th>所属組織:</th><td><input type="text" id="org" size="24"/></td></tr> <tr><th>連絡住所:</th><td><input type="text" id="addr" size="50"/></td></tr> <tr><th>電話番号:</th><td><input type="text" id="tel" size="16"/></td></tr> <tr><th>メルアド:</th><td><input type="text" id="mail" size="40"/></td></tr> <tr> <th>コース選択</th> <td id="selc"> <input type="radio" name="course" value="Aコースドリンク" />Aコース+ドリンク &nbsp;&nbsp;<input type="radio" name="coures" value"Aコースワイン" />Aコース+ ワイン<br/> <input type="radio" name="course" valus="Bコースリンク" />Bコース+ドリンク &nbsp;&nbsp;<input type="radio" name="course" value="Cコースワイン"/>Cコース+ワイン </td> </tr> <tr><th>参加人数:</th> <td> <select id="nums"> <option value="NA">選択</option> <option value="01">01人</option> <option value="02">02人</option> <option value="03">03人</option> <option value="04">04人</option> <option value="05">05人</option> <option value="06">06人</option> <option value="07">07人</option> <option value="08">08人</option> <option value="09">09人</option> <option value="10">10人</option> </select> <tr><th>処理結果:</th><td id="status">&nbsp;</td></tr> </table> </body> </html> ----------------------------------------------------- 2)addxmas.php ---------------------------------------------------- <?php //(A)開始 postメソッドでの送信データ送信 $name = $_POST["name"]; $org = $_POST["prg"]; $addr = $_POST["addr"]; $tel = $_POST["tel"]; $mail = $_POST["mail"]; $course = $_POST["course"]; $number = $_POST["number"]; //(A)終了 postメソッドでの送信データ受信 //(B) 開始 データベースの受信データ登録 $server = "localhost"; $dbname = "xmas"; $user = "root"; $passwd = "dPZ3Y8vXrP9NNb6"; $sv = mysq1_connect($server, $user, $passwd) or die("Connection err1"); $db = mysq1_select_db($dbname) or die("Connection error2"); $sq1 = "insert into xmastran valuse('$book_id','$name','$org','$addr','$tel', '$mall','$course','$number')";------------(3) if( mysql_query($spl,$sv)){ echo"登録成功:代表者 = ".$name; }else{ echo"登録不成功:代表者 =".$name; } mysql_close($sv); //(B)終了 データベースの受信データ ?> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  • PHP
  • 回答数5
  • ありがとう数8

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

  • ベストアンサー
  • mitoneko
  • ベストアンサー率58% (469/798)
回答No.5

 問題視した   項目(3):データベースのアクセス:登録処理 $sql = "insert into xmastran values('$book_id','$name','$org','$addr','$tel', '$mail','$course','$number')";    の説明中の「INSERT INTO」文のINSERT INTO tbl_name (col_namel, col_name2, ...)VALUES (value1, value2, ...);構文 ------------------------------------------------------------------------  えっと、質問文によれば、$sql=から始まる行って、addxmas.phpに書かれている行ですよね。ちゃんと、ここだよと、(3)の注釈まで打ってありますし・・・  で、説明文が、ここの説明であることは解っているんですよね。  なのに、INSERT INTO文がどこにあるか解らない??????  とすれば、多分、php以前というか・・・説明文の読み方が間違っていますとしか言いようがないのですが・・・  えっとですね。  INSERT INTO文は、次のように書きます。  INSERT INTO tbl_name (col_name1, col_name2, ...)VALUES (value1, value2, ...);    という書き方をした時、大文字で書いてある部分は、そのまま書く部分です。でもね、小文字で書いてあるところは、全部、その時々の状況に応じて変わる部分です。  tbl_nameと書いてあるところには、その時、insert into文で登録する宛先のテーブル名を書きます。  col_name?と書いてあるところには、insert into文で登録したいフィールドの名前を書きます。  value?と書いてあるところには、insert into文で登録する値を書きます。  今の文で、まかり間違っても、「「col_name?」なんて、どこに書いてあった?」と聞かないでくださいね。「?」の部分には1・2の数字が入ります。「馬鹿にしているのか?」と思われましたか?いえ。あなたの質問が、これと同じ勘違いをしているのが、そもそものスタートなんです。    プログラムで書く、命令文は、一般的に、3つの要素からなります。  ひとつは、キーワードです。この場合でしたら、INSERT INTOとか、VALUESがそれに当たります。これは、このまんま書くものです。  ひとつは、変数や関数などの名前です。これは、そのプログラムで定義したもので、名前そのものはある程度自由につけることが出来ますが、一度命名したら、その名前の通り書かないといけません。  もう一つは、リテラルといわれるものです。これは、数字や文字列を書く時に使います。3と書いて数字の3そのものを表現したいとか、"登録成功"と書いて、登録成功という文字そのものをプログラムに指定する時に使います。  変数や関数の名前・リテラルと言ったものは、プログラムによって必ず変わります。ある命令の構文の説明をする時に、ころころ変わる物をどうやって表示するかのひとつの手段が、先の文なんです。table_nameとか、col_nameのところには、名前が入りますが、一般的には、何が入るかは解りません。解らないから、table_nameという仮の名前をつけて、これはテーブル名を書くところだよと言っているわけです。    例えば、日本語で自分の名前を相手に伝える文の「構文」を説明しようとしたとしましょう。  「私は、●●と言います。」  この●●には、自分の名前が入るんだと言うことは解りますよね?そして、この構文を学んだ人は、「私は、●●と言います。」とは決して言いませんよね?  それと全く同じ事です。●●だの○○だのやっていたら、ちょっと複雑な構文になると何を言っているのか解らなくなるので、英単語で名前をつけて、●●の代わりに使ってみて・・・  「私は、nameと言います。」  と書いてみた。それだけのことなんです。●●だと何でも入りそうですが、nameなら、あぁ、名前が入るんだなと、解るので理解しやすいですよね。  これが、全て英単語で構成されるプログラムの文の説明の時には、それがキーワードなのか名前なのかが解らなくなるので、普通は、名前の部分が斜体で書かれています。またはキーワードの部分が太字になっているとか。  これで、  INSERT INTO tbl_name (col_namel, col_name2, ...)VALUES (value1, value2, ...);  という説明が何を意味しているかわかりますか?少なくとも、プログラムにこのまま書いている「はずが無い」と言うことが解っていただけると先に進めます。

javascriptphp
質問者

お礼

有難うございます。  私は無知で以下の質問したことが、恥ずかしいですが、質問した ことで、以上御回答をいただいたことで、  「INSERT INTO」文のINSERT INTO tbl_name (col_namel, col_name2, ...)VALUES (value1, value2, ...);ことがaddxmas.phpの(3)のことを言っていることが分かりました。教本に、分かりづらい約30行の説明が”づらづら”書かれていて、意味ががやっと分かりつつあります。 addxmas.phpのプログラムの流れの説明です。  以下”よくぞ質問"した内容です。 説明中の「INSERT INTO」文のINSERT INTO tbl_name (col_namel, col_name2, ...)VALUES (value1, value2, ...);構文  のプログラムが  addxmas.php  addxmas.html  のプログラムを探しても無くて、  xampp内も文字列検索でヒットしなくて!?  何処のことを言っているのかよくわかりませんでした。

その他の回答 (4)

  • mitoneko
  • ベストアンサー率58% (469/798)
回答No.4

 No.3です。  「まさか」より、もっと根源的でしたか?  あなたは、なにがしたいのですか?  「INSERT INTO文の書き方・使い方が知りたい。」。ならば、前の回答に書いたホームページを参照してください。ちなみに、このマニュアルのトップページは、http://dev.mysql.com/doc/refman/5.1/ja/index.htmlです。ただ、実は、この回答は不親切の極みです。このマニュアルはある程度リレーショナルデータベースの知識があることを前提に書かれているからです。この前提知識は、データベース入門なんて書籍を読んで勉強してください。    「INSERT INTO」文の使い方が、ヘルプで出てこないかが知りたい?というのであれば、そのような物はありません。  「MySQLのテキスト版マニュアルくらい、ちゃんとxamppに同梱してあるべきだ」と訴えたい?入手先に、問い合わせ先のリンクがあるでしょうから、メールしてください。多分、黙殺されます。このマニュアル結構大きいんです。単なる容量の無駄遣いですから。でも、ちゃんとマニュアルは別ダウンロードできるんですよ。web版のマニュアルもちゃんとありますしね。普通は、同梱していなくても不自由しないのですが・・・  MySQLのシステムプログラムが人に読める形式で書かれていると思っている?いえ。普通の人には読めません。時代がまだ8bitのマイコンだった頃には、バイナリを直接読める強者もいました。でも、今時のプログラム、それもDBMSのプログラムのバイナリを直接読める人間は多分いないでしょう。既に人を超えているような気がします。ついでに、バイナリが直接読める超人と仮定しても、すくなくとも、INSERT INTO・・・・・・と言う形でテキストが書いてあることは決してありません。なぜならそんな書き方をしてもコンピュータには何の役にも立たないからです。システムプログラムは構文を書いてあるものではありません。構文をいかに解析して、その解析した結果を、どのような手順で実現すれば良いかの手順が、コンピュータの世界で書いてあるものです。  そのいずれだと仮定しても、元の質問文に、書いてあるソースコードの存在価値が解らないのですが・・・

javascriptphp
質問者

お礼

御回答有難うございました。  addxmas.php の教本の説明の項目を紹介します。  項目(1):◎ mysql_connect  項目のプログラム:$sv = mysql_connect($server, $user, $passwd) or die("Connection err1");  項目(2):◎ mysql_selct_db  項目のプログラム:$db = mysql_select_db($dbname) or die("Connection error2");  問題視した   項目(3):データベースのアクセス:登録処理 $sql = "insert into xmastran values('$book_id','$name','$org','$addr','$tel', '$mail','$course','$number')";    の説明中の「INSERT INTO」文のINSERT INTO tbl_name (col_namel, col_name2, ...)VALUES (value1, value2, ...);構文  のプログラムが  addxmas.php  addxmas.html  のプログラムを探しても無くて、  xampp内も文字列検索でヒットしなくて!?  何処のことを言っているのかよくわかりませんでした。  なので、質問しました。  MySQLプログラムのどこかに書かれていると分かればそれでいいです。  ?素人+私は頭が悪いので”直ぐにピンと来ない”です。  なので、分からないことだらけです。  ここで言うプログラムの流れ、構造的面が素直に言ってわかりませんでした。   深く考えないでください^^   ただそれだけのことです。        

  • mitoneko
  • ベストアンサー率58% (469/798)
回答No.3

 質問文を読みながら・・・まさか、insert into文の使い方が書いてある構文の説明書を探してますか?  それでしたら、mysqlのマニュアルを見るべきです。  パソコンにも入っているような気がするのですが、手っ取り早くは、   http://dev.mysql.com/doc/refman/5.1/ja/insert.html  これ見てください。  多分、最近入れたのであれば、バージョンは5だと思うのですが・・・もし違うなら、同じページの右側に、4以前のマニュアルへのリンクもありますから、そちらからどうぞ。  でも、そもそも参考書に、insert intoの構文説明も書いてないなんて・・・それが、ほんとなら、その書籍への評価は、No2さんに激しく同意です。(セキュリティーとエラー処理に配慮したプログラムをちゃんと書くと肝心のやっていることが見えなくなるため、参考書の例題は、エラー処理無し・セキュリティーへの配慮無しという事は多いです。その場合でも、ちゃんとした本であれば、エラー処理・セキュリティーに対するお題が別にあるし、どこかに、例題をそのまま使っちゃダメよと書いてあるものですけどね。)  

javascriptphp
質問者

補足

 ご回答ありがとうございます。  素人で、私にとりまして、未知である、  PHP&MySQLは初めての分野であり、よくわかりません!?   INSERT INTO tbl_name (col_namel, col_name2, ...)VALUES (value1, value2, ...); 以上の構文は、MySQLのどこかに書かれているとの認識で間違いないでしょう?    xamppのフォルダの文字列検索で、出てこなかった理由も疑問視 する思いですが!それはさておき、  考え方としては間違いないでしょうか! よろしくお願いします。

noname#244856
noname#244856
回答No.2

いくらなんでもミスちょっと多すぎないですか・・・ これだとバグ潰しに多大な時間を取られることになります。 もうちょっと入力を丁寧に。 関数名の意味も考えながら。 $("#exe").clck(booking); ↓ $("#exe").click(booking); query["nume"] = $("#nums").val(); ↓ query["number"] = $("#nums").val(); <h3 style="color: #aa0022">Xamasパーティ予約情報登録<h/3> ↓ <h3 style="color: #aa0022">Xamasパーティ予約情報登録</h3> <input type="radio" name="course" valus="Bコースリンク" />Bコース+ドリンク ↓ <input type="radio" name="course" valus="Bコースドリンク" />Bコース+ドリンク $sv = mysq1_connect($server, $user, $passwd) or die("Connection err1"); ↓ $sv = mysql_connect($server, $user, $passwd) or die("Connection err1"); $db = mysq1_select_db($dbname) or die("Connection error2"); ↓ $db = mysql_select_db($dbname) or die("Connection error2"); $sq1 = "insert into xmastran valuse('$book_id','$name','$org','$addr','$tel','$mall','$course','$number')"; ↓ $sql = "insert into xmastran values('$book_id','$name','$org','$addr','$tel', '$mall','$course','$number')"; $book_idという未定義の変数がいきなり登場していますがどこから出てきたのでしょうか?AUTO_INCREMENTされるプライマリキーならせめて $sql = "insert into xmastran(name, org, addr, tel, mail, course, number) values('$name','$org','$addr','$tel', '$mall','$course','$number')"; とすべきでは・・・? なお、このコードには「SQLインジェクション攻撃」に対する深刻な脆弱性があります。ローカルのテスト環境だけならば問題ないですが、実際にサービスをWeb上で公開するのは非常に危険なので、下記リンクを参考に書き直しを検討してください。 PHPでデータベースに接続するときのまとめ http://qiita.com/mpyw/items/b00b72c5c95aac573b71 PHP Manual - PDO http://php.net/manual/ja/book.pdo.php 参考書に書かれていることが全て正しいと思えば大間違いです。古い参考書ほど信頼できないものはないし、このコードだと出版当時であってもセキュリティ的に脆いです。要は「ダメな参考書」です。 私なりに書くならこんな感じですかね。 http://pastebin.com/mcmL8Qri

javascriptphp
質問者

お礼

せっかく良い御回答をいただいていたのに、レスが遅れてすみませんでした。 ご指摘ありがとうございました。 再度見直したら、他にも、入力ミスがありました。  プログラミングは入力ミスをしないことは基本であり、 今度からちゃんと見直す癖をつけます。    この教本は以前質問した時も、教本の内容 自体に、問題視する回答を得ています。  私としましても、教本をかえたい気持ちもあるのですが、 せっかく、なんと1年8カ月かけて60%ぐらいまで進んでので、全部やってから 次のステップ行こうと思っています。  プログラムも日進月歩であり、パソコンほどじゃないと思いますが、  古くなると思います。  私の教本は一人で書かれているみたいですが、”三人寄れは何とか”ですので、  数人で書いた合作に比べると、一人で書いた教本は、ミスを指摘できなくて  完成度にかけるのではないでしょうか!    プログラムは 行き詰まって脱落する人が多いそうです。  実際、私は頭が悪くて、息詰まる気味ですが、やっぱり目標が あるので、めげずに頑張っています。  To_aru_User様みたいになれたなら本望ですが^^

  • Gotthold
  • ベストアンサー率47% (396/832)
回答No.1

> $sq1 = "insert into xmastran valuse('$book_id','$name','$org','$addr','$tel', '$mall','$course','$number')";------------(3) ここじゃないの?ちゃんと(3)とかいてあるし。 (valuseはtypoっぽいかな?)

javascriptphp
質問者

お礼

有難うございました。  今後ともよろしくお願いします。

関連するQ&A

  • フォントをまとめて<h5>にできないでしょうか!?

     JabaScriptプログラム抜粋です。  表の中の文字が大きすぎてはみ出してしまいます。  そこで、<h5>にすればちょうど枠内に収まりました。 個々の構文に<h5>タグを入れてもいいのですが、まとめて、できる方法は、  ございませんか!?以下よろしくお願いします。 <tr> <tr><th><h5>代表者名</5>:</th><td><input type="text" id="name" size="16"/></td></tr> <tr><th>所属組織:</th><td><input type="text" id="org" size="24"/></td></tr> <tr><th>連絡住所:</th><td><input type="text" id="addr" size="50"/></td></tr> <tr><th>電話番号:</th><td><input type="text" id="tel" size="16"/></td></tr> <tr><th>メルアド:</th><td><input type="text" id="mail" size="40"/></td></tr> <tr> <th>コース選択</th> <td id="selc"> <input type="radio" name="course" value="Aコースドリンク" />Aコース+ドリンク &nbsp;&nbsp;<input type="radio" name="coures" value"Aコースワイン" />Aコース+ ワイン<br/> <input type="radio" name="course" valus="Bコースリンク" />Bコース+ドリンク &nbsp;&nbsp;<input type="radio" name="course" value="Cコースワイン"/>Cコース+ワイン </td> </tr> <tr><th>参加人数:</th> <td> <select id="nums"> <option value="NA">選択</option> <option value="01">01人</option> <option value="02">02人</option> <option value="03">03人</option> <option value="04">04人</option> <option value="05">05人</option> <option value="06">06人</option> <option value="07">07人</option> <option value="08">08人</option> <option value="09">09人</option> <option value="10">10人</option> </select> <tr><th>処理結果:</th><td id="status">&nbsp;</td></tr> </table> </body> </html>

  • 最後あたりに「/>」はなん役割がありのですか!?

    http://okwave.jp/qa/q8312880.html 以上のURLをクリックすると、全プログラムがみれます。以下のプログラムは  以上プログラムを抜粋しました。   その、個々の構文の最後あたりに「/>」は、なんの役割があるのですか!?  たぶんHTMLだと思うのですが、教本が現在手元にないのでよく分かりません!? よろしくお願いします。 <input type="button" id="exe" value=" 登録  "/> <input type="button" id="clr" value=" クリア "/> </th> </tr> <tr><th>代表者名:</th><td><input type="text" id="name" size="16"/></td></tr> <tr><th>所属組織:</th><td><input type="text" id="org" size="24"/></td></tr> <tr><th>連絡住所:</th><td><input type="text" id="addr" size="50"/></td></tr> <tr><th>電話番号:</th><td><input type="text" id="tel" size="16"/></td></tr> <tr><th>メルアド:</th><td><input type="text" id="mail" size="40"/></td></tr> <tr> <th>コース選択</th> <td id="selc"> <input type="radio" name="course" value="Aコースドリンク" />Aコース+ドリンク &nbsp;&nbsp;<input type="radio" name="coures" value"Aコースワイン" />Aコース+ ワイン<br/> <input type="radio" name="course" valus="Bコースリンク" />Bコース+ドリンク &nbsp;&nbsp;<input type="radio" name="course" value="Cコースワイン"/>Cコース+ワイン

    • ベストアンサー
    • HTML
  • VBAでWebページに入力&ボタンクリック

    URLがhttp://xxx.com/のページで次のようなフォームのときExcelで自動入力クリックするマクロを作りたいです。 <input type="hidden" name="room" value="aaaaa"/> <a name="regist" id="regist">総登録数</a> <table width="402" border="1"> <tr> <th align="center" colspan="2"><div align="left"><big>登録ページ</big></div></th> </tr> <tr> <td colspan="2">&nbsp;&nbsp;&nbsp;name <input type="text" size="20" name="name" value="" maxlength="20"> &nbsp;&nbsp;&nbsp;Email <input type="text" size="20" name="email" value=""> &nbsp;&nbsp;</td> </tr> <tr> <td align="center">pass</td> <td><input type="text" size="20" name="pw" maxlength="12" value=""></td> </tr> <tr> <td align="center">category</td> <td><select size="1" name="junle"> <option value="pp" selected="selected">カテゴリ選択</option> <option value="0">その1</option> <option value="1">その2</option> </select></td> </tr> <tr> <td align="center">title</td> <td><input type="text" size="55" name="title" maxlength="25" value=""></td> </tr> <tr> <td align="center">URL</td> <td><input type="text" size="55" name="url"></td> </tr> <tr> <td align="center">intro</td> <td><input type="text" name="comment" size="55" maxlength="50" value=""></td> </tr> <tr align="center"> <td><br></td> <td><input type="submit" name="mode" value="登録"> <input type="reset" value="クリア"></td> </tr> </table> 入力する内容は1行目のA,B,C・・にname,email,pass・・・が順番にそれぞれ入っています。

  • form id、nameの番号振りなおし

    jqueryとphpにてフォームを作成しています。 フォームの追加、削除できるシステムを作っており、 フォームの追加はできたので、削除した際のinputのnameやidの番号を振り直しができず困っています。 商品1<br> <a href="javascript:void(0);" class="del" id="del_1">削除</a> <table> <tr> <th>商品番号</th> <td><input type="text" name="item[data][1][sir]" value="<?php echo $item[data][1][sir]; ?>"></td> </tr> <tr> <th>商品名</th> <td><input type="text" name="item[data][1][name]" value="<?php echo $item[data][1][name]; ?>"></td> </tr> <tr> <th>商品個数</th> <td> <select name="item[data][1][num]"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> </select> </td> </tr> </table> <a href="javascript:void(0);" id="add">フォームの追加</a> としており、 「フォームの追加」をクリックすると 商品2<br> <a href="javascript:void(0);" class="del" id="del_2">削除</a> <table> <tr> <th>商品番号</th> <td><input type="text" name="item[data][2][sir]" value="<?php echo $item[data][2][sir]; ?>"></td> </tr> <tr> <th>商品名</th> <td><input type="text" name="item[data][2][name]" value="<?php echo $item[data][2][name]; ?>"></td> </tr> <tr> <th>商品個数</th> <td> <select name="item[data][2][num]"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> </select> </td> </tr> </table> 商品3<br> <a href="javascript:void(0);" class="del" id="del_3">削除</a> <table> <tr> <th>商品番号</th> <td><input type="text" name="item[data][3][sir]" value="<?php echo $item[data][3][sir]; ?>"></td> </tr> <tr> <th>商品名</th> <td><input type="text" name="item[data][3][name]" value="<?php echo $item[data][3][name]; ?>"></td> </tr> <tr> <th>商品個数</th> <td> <select name="item[data][2][num]"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> </select> </td> </tr> </table> ができるようにPHPにてSESSION管理をおこなっています。 追加はできたのですが、 上記のフォーム4つほど出した後に商品2を削除した場合の商品1、商品3、商品4の各nameの番号(item[data][*][sir]、item[data][*][name]、item[data][*][num]の*部分) 振りなおしができず困っています。 いくらやってもできないため、どなたかソースを教えていただけないでしょうか。 宜しくお願いいたします。

  • PHPでMySQLにデーターを追加するところで壁に当たってしまいました

    PHPでMySQLにデーターを追加するところで壁に当たってしまいました。 PHP5.3&MYSQL5.1 1.フォームへ入力 2.確認画面 3.MySQLへデーター追加 1.form <html> <head><title></title></head> <body> <form method="post" action="conf.php"> <table> <tr><th>番号</th><td><input type="text" name="id" /></td></tr> <tr><th>タイトル</th><td><input type="text" name="title" /></td></tr> <tr><th>テキスト</th><td><textarea name="cont" cols="40" rows="5" /></textarea></tr> <tr><th>日付け</th><td><input type="text" name="update" size="10" /></td></tr> </table> <input type="submit" value="送信" /><input type="reset" value="リセット" /> </form> </body> </html> 2.確認画面 <html> <head><title></title></head> <body> <table> <tr><th>番号</th><td><?php echo htmlspecialchars($_POST["id"]) ?></td></tr> <tr><th>タイトル</th><td><?php echo htmlspecialchars($_POST["title"]) ?></td></tr> <tr><th>テキスト</th><td><?php echo htmlspecialchars($_POST["cont"]) ?></td></tr> <tr><th>日付け</th><td><?php echo htmlspecialchars($_POST["update"]) ?></td></tr> </table> <form method="post" action="upld.php"> <input type="hidden" name="did" value="<?php echo htmlspecialchars($_POST["id"]) ?>" /> <input type="hidden" name="title" value="<?php echo htmlspecialchars($_POST["title"]) ?>" /> <input type="hidden" name="cont" value="<?php echo htmlspecialchars($_POST["cont"]) ?>" /> <input type="hidden" name="update" value="<?php echo htmlspecialchars($_POST["update"]) ?>" /> <input type="submit" value="登録" /> </form> </body> </html> 3.MySQLへデーター追加 <?php $Con = mysql_connect("localhost","root",""); if ($Con == false) {dir ("MySQLの接続に失敗。");} if (!mysql_select_db("phpdata",$Con)) {dir ("データーベース接続に失敗。");} $sql = "insert into daimoku(id,title,cont,update) values('".$_POST["id"]."','".$_POST["title"]."','".$_POST["cont"]."','".$_POST["update"]."')";//SQL文の作成 $res = mysql_query($sql) or die(mysql_error());//クエリの実行 mysql_close($Con);//切断 ?> <html> <head> <title></title> </head> <body> <p>ご登録ありがとうございました。</p> <a href="01.php">戻る</a> </body> 以上のコードでデーターの追加が出来ません。 どなたか教えていただけないでしょうか?

    • ベストアンサー
    • PHP
  • セレクトエリアの地名を確認画面で表示したい

    地域別に変化する送料をvalueの値でJavaScriptで求めています。 そのため確認ページおよびメール送信で数値が表示されてしまいます。 そこで、value はJavaScript用としてPHP用にtitle を考えましたが読み込まないようです。 読み込む方法はありますでしょうか --------------- <form name="fom_1" method="post" action="order.php"> <table summary="ご注文"> <tr> <th>住所</th> <td><select name="ken" language=javascript onChange="return ken_onclick()"> <option value="" selected>都道府県名</option> <option value="0" title="北海道">北海道</option> <option value="1" title="青森県">青森県</option></select><br> <input type="text" name="address2" size="40" /></td> </tr> </table> </form> <?php $fileNameBase="order"; 〈省略〉 function genAdminMailBody(){ ■県名: $_POST[ken] ■住所: $_POST[address2] ---- 送信日時: $mdate; 送信者情報: $_SERVER[REMOTE_ADDR] "; return $message; } ?> 確認用 html <tr> <th>住所</th> <td colspan="2"><?=$_POST[ken]?><input name="ken" type="hidden" value="<?=$_POST[ken]?>" /><br> <?=$_POST[address2]?><input name="address3" type="hidden" value="<?=$_POST[address2]?>" /></td> </tr> --------------- ■県名: $_POST[ken.title] <td colspan="2"><?=$_POST[ken.title]?><input name="ken.title" type="hidden" value="<?=$_POST[ken.title]?>" /><br>

    • ベストアンサー
    • PHP
  • 教えてください

    <form action="chackbox.php" method="post"> <table> <tr> <th>1</th><th>2</th><th>3</th><th>4</th> </tr> <tr> <td><input type="radio" name="R1" value="1"></td> <td><input type="radio" name="R1" value="2"></td> <td><input type="radio" name="R1" value="3"></td> <td><input type="radio" name="R1" value="4"></td> </tr> <tr> <td><input type="radio" name="R2" value="1"></td> <td><input type="radio" name="R2" value="2"></td> <td><input type="radio" name="R2" value="3"></td> <td><input type="radio" name="R2" value="4"></td> </tr> <tr> <td><input type="radio" name="R3" value="1"></td> <td><input type="radio" name="R3" value="2"></td> <td><input type="radio" name="R3" value="3"></td> <td><input type="radio" name="R3" value="4"></td> </tr> <tr> <td><input type="radio" name="R4" value="1"></td> <td><input type="radio" name="R4" value="2"></td> <td><input type="radio" name="R4" value="3"></td> <td><input type="radio" name="R4" value="4"></td> </tr> <tr> <td><input type="radio" name="R5" value="1"></td> <td><input type="radio" name="R5" value="2"></td> <td><input type="radio" name="R5" value="3"></td> <td><input type="radio" name="R5" value="4"></td> </tr> <tr> <td><input type="radio" name="R6" value="1"></td> <td><input type="radio" name="R6" value="2"></td> <td><input type="radio" name="R6" value="3"></td> <td><input type="radio" name="R6" value="4"></td> </tr> <tr> <td><input type="radio" name="R7" value="1"></td> <td><input type="radio" name="R7" value="2"></td> <td><input type="radio" name="R7" value="3"></td> <td><input type="radio" name="R7" value="4"></td> </tr> <tr> <td><input type="radio" name="R8" value="1"></td> <td><input type="radio" name="R8" value="2"></td> <td><input type="radio" name="R8" value="3"></td> <td><input type="radio" name="R8" value="4"></td> </tr> <tr> <td><input type="radio" name="R9" value="1"></td> <td><input type="radio" name="R9" value="2"></td> <td><input type="radio" name="R9" value="3"></td> <td><input type="radio" name="R9" value="4"></td> </tr> <tr> <td><input type="radio" name="R10" value="1"></td> <td><input type="radio" name="R10" value="2"></td> <td><input type="radio" name="R10" value="3"></td> <td><input type="radio" name="R10" value="4"></td> </tr> </table> <input type="submit" value="点数の計算、タイプを決定します"> ここのsubmitボタンを押したときに、nameのR1+R5+R10のvalue1から4の合計の足し算をした後に11を引く処理をしたいです。ここが間違っていたら、JavaScriptやPHP、どちらでもいいんで、処理のコードを教えてくださいお願いします ▼ 点数 =11-(設問R1+R5+R10であなたが丸をつけた数字の合計点) (  点)

  • HTMLでテーブルの並び替え

    HTMLでテーブルの並び替えで質問です。 以下テーブルの1行目各項目名をクリックすると対象列の昇順、さらにクリックで降順、再度クリックで昇順が行いたいと思っております。 <form name="nForm"> <table> <thead> <tr><th>項目A</th><th>項目B</th><th>項目C</th></tr> </thead> <tbody> <tr><td>20</td><td>い</td><td><input type="text" id="TX[0]" name="TX[0]" value="20"></td></tr> <tr><td>30</td><td>あ</td><td><input type="text" id="TX[1]" name="TX[1]" value="50"></td></tr> <tr><td>10</td><td>お</td><td><input type="text" id="TX[2]" name="TX[2]" value="30"></td></tr> <tr><td>55</td><td>え</td><td><input type="text" id="TX[3]" name="TX[3]" value="10"></td></tr> <tr><td>90</td><td>う</td><td><input type="text" id="TX[4]" name="TX[4]" value="15"></td></tr> </tbody> </table> </form> いくつかの方法を試してみたのですが思った結果が出ない為お知恵をお借りできないでしょうか? http://jsajax.com/Articles/jQueryTableSorter/1120 の方法は試行してみましたがテキストフィールドの並び替えがnameの値で並び替えが掛ります。 value(変動値)での並び替えを行うことが必要です。

    • ベストアンサー
    • HTML
  • phpでのselect値の取得・表記について

    php初心者です。 自動計算する見積ページを独学で作っているのですが、どうしてもわからなかったので、質問させてください。 htmlページでセレクトタグから選択してもらった結果(値)を、phpページに送信し、phpページでvalueとname両方を別々の場所に表記するには、どのようなコードを書けば良いでしょうか? valueの値をphpページで表記させたり計算させる事はなんとか独学でもできたんですが、nameを表記させる事がどうしてもできませんでした。 お詳しい方、何卒ご教授ください。 途中までなんとかできたタグを下記に記載します。 <例>input.html → output.php (1)input.html (細かいタグは端折ります) <html> <body> <form action="output.php" method="post"> <tr> <th>生菓子</th> <td> <select name="goods1" onChange="keisan()" style="padding:5px; border:1px solid #dcdcdc;" /> <option value="0" name="未選択">お選びください</option> <option value="500" name="フルーツケーキ">フルーツケーキ</option> <option value="3000" name="チーズケーキ">チーズケーキ</option> <option value="5000" name="チョコレートケーキ">チョコレートケーキ</option> <option value="※別途見積" name="おまかせ">おまかせ</option> </td> </tr> <tr> <tr>焼き菓子</th> <td> <select name="goods2" onChange="keisan()" style="padding:5px; border:1px solid #dcdcdc;" /> <option value="0" name="未選択">お選びください</option> <option value="500" name="クッキー">クッキー</option> <option value="3000" name="パウンドケーキ">パウンドケーキ</option> <option value="5000" name="パイ">パイ</option> <option value="※別途見積" name="おまかせ">おまかせ</option> </td> </tr> <tr> <th><input type="submit" value="submit" /></th> </tr> </form> </body> </html> ↓上記で選択してもらった値を下記のoutput.phpにsubmit。 (2)output.php (細かいタグは端折ります) <html> <body> <tr> <th>生菓子</th> <td>ここに選択されたnameの値を表記したい!</td> <td><?php echo htmlspecialchars($_POST["goods1"]); ?></td> </tr> <tr> <th>焼き菓子</th> <td>ここに選択されたnameの値を表記したい!</td> <td><?php echo htmlspecialchars($_POST["goods2"]); ?></td> </tr> <tr> <td colspan="2">Total </td> <td><?php echo htmlspecialchars( $_POST["goods1"] + $_POST["goods2"]); ?><td> </tr> </body> </html> 以上。 ぜひ、ぜひぜひご教授よろしくお願いいたします。

    • 締切済み
    • PHP
  • ラジオボタンで入力し、その結果をCGIで表示するプログラム

    htmlで <html> <head> </head> <body> <form method="get" action="question.cgi"> <table width="50" height="" border="1" bordercolor="black" bgcolor="white" cellSpacing="0" cellpadding="5"> <tr><th>/</th><th>yes</th><th>no</th></tr> <tr><th>1</th><td><input type="radio" name="char1"></td> <td><input type="radio" name="char1"></td></tr><br> <tr><th>2</th><td><input type="radio" name="char2"></td> <td><input type="radio" name="char2"></td></tr><br> <tr><th>3</th><td><input type="radio" name="char3"></td> <td><input type="radio" name="char3"></td></tr><br> <tr><th>4</th><td><input type="radio" name="char4"></td> <td><input type="radio" name="char4"></td></tr><br> </table> <input type="button" value="送信" ><input type="reset" value="リセット"><br> </form> </body> </html> と書き、C言語でCGIを書き、ラジオボタンを押して送信ボタンを押すと 1:yes,2:no,3:no,4:yesなどと文字列で出力したいのです。 getメソッドがいいのかpostメソッドいいのかも教えていただければうれしく思います。 (この質問ではgetメソッドを使っていますが、あまり気にしないでください)

    • ベストアンサー
    • CGI

専門家に質問してみよう