※ ChatGPTを利用し、要約された質問です(原文:sortable ギブアップです…助けてください!)
【質問】JqueryのUI sortableでドラッグ&ドロップで並べ替えした順番をDBに保存したい
2012/09/04 00:27
この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=●●●●の部分がどのように書けば良いのかわかりません。
sortable ギブアップです…助けてください!
お世話になっております。
もぅどうしようもなくてギブです。
御存じの方、お助けください。
Jqueryの【UI sortable】でドラッグ&ドロップで並べ替え。
その並び順をDBに保存したいと考えています。
●ドラッグで並べ替えは出来ました!
●DBに保存が出来ません…( T T )
呼んでいるモノ-------------------------------------------
<link rel="stylesheet" href="themes/base/jquery.ui.all.css">
<script type="text/javascript" src="jquery-1.8.0.min.js"></script>
<script type="text/javascript" src="jquery-ui-1.8.23.custom.min.js"></script>
javascriptの記述-----------------------------------------
<script>
$(function() {
$(".sortable").sortable();
$(".sortable").disableSelection();
$("#submit").click(function() {
var result = $(".sortable").sortable("toArray");
$("#result").val(result);
$("form").submit();
});
});
</script>
<script>
<!--
$(function() {
$( '#jquery-ui-sortable' ) . sortable({
cursor: 'move',
opacity: 0.7,
placeholder: 'ui-state-highlight',
});
$( '#jquery-ui-sortable' ) . disableSelection();
});
// -->
</script>
------------------------------------------------------
MySQL…5.0.8
PHP…5
MySQL------------------------------------
テーブル名 tablesort
フィールド
【id】…INT ・ AUTO_INCREMENT
【no】…varchar(11)
【name】…varchar(20)
【message】…TEXT
【file】…varchar(255)
【date】…datetime
-------------------------------------
【表示しているコード】
下記でDBの画像を呼び出して並べ替えれるようになりました。
echo '<form action ="tablesort.php" method="POST" ><ul class="sortable">';//<li class="ui-state-default">';
//--------------------------------------------------------
// ↑ ソートテーブルスタート
//--------------------------------------------------------
$my_Row = mysql_query("SELECT * FROM tablesort",$my_Con);
if (!$my_Row){
die(mysql_error());
}
while($row = mysql_fetch_array($my_Row)){
$so_no = $row["no"];
$so_file = $row["file"];
$so_id = $row["id"];
echo <<<EOT
<li class="stb" id="$so_no">
<img src="../img/$so_file" width="75px" height="100px" >
</li>
EOT;
}
//---------------------------------------------------
// ↓ ソートテーブルの終了
//---------------------------------------------------
echo <<< EOP
</ul><input type="hidden" id="result" name="result" /><button id="submit">submit</button></form>
EOP;
ここからが不明点です。
submit を押された時にDBに保存するPHPが不明なのです。
色んな事をしたので、どう書けばいいかご享受願いたいですm(_ _)m
↓↓↓
//--------------------------------------------------------
//並べ替えを保存
//--------------------------------------------------------
if (isset($_POST["submit"])){
$result = $_POST['result'];
echo $result;
$result_array = explode(',',$result);
print_r($result_array);
print_r(serialize($result_array));
mysql_query("UPDATE tablesort SET no=●●●● WHERE id=●●●●",$my_Con);
header('Location: http://hp-sys.com/menu-5/tablesort.php' );
}
この●●●●の部分ってどうすれば良いのでしょうか??
それとも、もっと根本的な間違いでしょうか??
すみませんが宜しくお願いいたしますm(_ _)m
質問の原文を閉じる
質問の原文を表示する
お礼
お世話になっておりますm(_ _)m 今回も回答頂き本当にありがとうございます。 お礼が遅れてしまい申し訳ありません。 早速試してみます!!! ありがとうございます!!
補足
お世話になっております。 foreachも理解でき、本当に勉強になりました。 しかし、まだ保存されません(^^; sqlの文が違うのでしょうか…。 あんまり知らないのに調子に乗って質問してしまったのかも知れません。 もっと勉強すべき点が他にあるようです。 自分の知恵のなさを痛感しました。 そんな質問に温かい回答を頂けただけでも感謝です。 頑張ってみますm(_ _)m