• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:sortable ギブアップです…助けてください!)

【質問】JqueryのUI sortableでドラッグ&ドロップで並べ替えした順番をDBに保存したい

このQ&Aのポイント
  • JqueryのUI sortableを使用してドラッグ&ドロップで並べ替えた順番をDBに保存する方法がわかりません。現在、ドラッグで並べ替えはできていますが、DBに保存することができません。
  • MySQLのテーブル名はtablesortで、フィールドはid(INT, AUTO_INCREMENT), no(varchar), name(varchar), message(TEXT), file(varchar), date(datetime)です。
  • submitボタンが押された時に並べ替えた順番を取得し、DBに保存するPHPのコードが不明です。具体的には、UPDATE文のno=●●●●の部分がどのように書けば良いのかわかりません。

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

  • ベストアンサー
  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答No.1

こんにちは。 $result_array配列には各レコードのnoが順番に入ってきているはずですので $no = 1; foreach ( $result as $id ) { $sql = "UPDATE tablesort SET no=" . ($no++) ." WHERE id='$id'"; } こんな感じにすれば1から順番に振り直されると思います。 例えばsort-3,sort-1,sort-2で送信されてくれば update tablesort set no=1 where id='sort-3' update tablesort set no=2 where id='sort-1' update tablesort set no=3 where id='sort-2' というSQLが実行され、表示時にソート順で取得すれば任意の並びになると思います。

takayoshi-i
質問者

お礼

お世話になっておりますm(_ _)m 今回も回答頂き本当にありがとうございます。 お礼が遅れてしまい申し訳ありません。 早速試してみます!!! ありがとうございます!!

takayoshi-i
質問者

補足

お世話になっております。 foreachも理解でき、本当に勉強になりました。 しかし、まだ保存されません(^^; sqlの文が違うのでしょうか…。 あんまり知らないのに調子に乗って質問してしまったのかも知れません。 もっと勉強すべき点が他にあるようです。 自分の知恵のなさを痛感しました。 そんな質問に温かい回答を頂けただけでも感謝です。 頑張ってみますm(_ _)m

その他の回答 (1)

  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答No.2

こんにちは。 どういう状況になっているかわかりませんが、 ループ内で1回毎にクエリーを発行する必要があります。 またはエラーメッセージをしっかり確認してください。

takayoshi-i
質問者

お礼

>ループ内で1回毎にクエリーを発行する必要があります。    これかも知れません。    ちょっと考えてみます。 >またはエラーメッセージをしっかり確認してください。    エラーにはなっていないのです…。    と、いう事は配列されていないと言う事なのでしょうか…。    printしてみても【N】と出るので、そうなのかも知れません。 度々の回答、重ねて感謝いたします。