• 締切済み

複数行に対しての更新処理方法

失礼いたします。 現在、ランキングの表示順序を変更する画面を作成しようとしています。 Table:RANK ID  NAME  NO ----------------- 1   AAAA 5 2 BBBB 2 3 CCCC 1 4 DDDD 6 5 EEEE 6 FFFF TableにはIDをキーにして、名称(NAME)と表示順番(NO)があり、 表示画面上では表示順番(NO)が入力フォームになっています。 mysql_fetch_rowでSQLでとって来た値を配列$rkにとり、 上記のTable内容のNAMEとNOをリスト表示するまではでき たのですが、次に表示順番(NO)を更新して保存する方法が わからず困っています。 1レコードに対してなら UPDATE RANK SET NO=*** WHERE ID=** なんかでできるのではと思うのですが、 一度保存ボタンを押したら各IDに対しそのNOの値が保存するように したいので、各IDに対しての保存する複数行のUPDATEはどうしたら いいでしょうか。 わかりづらい点あると思いますがコメントお願いします。

みんなの回答

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

今の情報からだと単純にform飛ばしたデータをうけとって UPDATEのSQLを複数回発行するのがよいと思いますが。 表示順番が入力フォームになっているというのは 表示順番というフィールドに手で入力できて、それを SQLに登録するということ? HTMLで簡単に例を挙げてもらったほうが指摘しやすい と思いますよ。

getamato
質問者

お礼

ありがとうございます。 今やっている所がおわったらもう一度この問題にかかりたいと思います。 その際はよろしくお願いします。

getamato
質問者

補足

ありがとうございます。 やりたい事はご指摘いただいたとおりです。 <FORM method="post" name="RANK" action="num.php"OnSubmit=" return ent()"> <TABLE width=800 border=1> <TR> <TH width=20%>NAME</TH> <TH width=20%>No</TH> </TR> <TR> <TDwidth=20%>AAAAA</TD> <TDwidth=20%> <INPUT type=text name=Ln size=10 value=''> </TD> </TR> <TR> <TD width=20%>BBBBB</TD> <TD width=20%> <INPUT type=text name=Ln size=10 value=''> </TD> </TR> </TABLE> </FORM> プログラム初めてでPHPなんで繰り返しとかも わからず理解不足あると思いますが、 ご助力お願いいします。

関連するQ&A