お世話になっております。
もぅどうしようもなくてギブです。
御存じの方、お助けください。
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
No.2
- 回答日時:
こんにちは。
どういう状況になっているかわかりませんが、
ループ内で1回毎にクエリーを発行する必要があります。
またはエラーメッセージをしっかり確認してください。
>ループ内で1回毎にクエリーを発行する必要があります。
これかも知れません。
ちょっと考えてみます。
>またはエラーメッセージをしっかり確認してください。
エラーにはなっていないのです…。
と、いう事は配列されていないと言う事なのでしょうか…。
printしてみても【N】と出るので、そうなのかも知れません。
度々の回答、重ねて感謝いたします。
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が実行され、表示時にソート順で取得すれば任意の並びになると思います。
この回答への補足
お世話になっております。
foreachも理解でき、本当に勉強になりました。
しかし、まだ保存されません(^^;
sqlの文が違うのでしょうか…。
あんまり知らないのに調子に乗って質問してしまったのかも知れません。
もっと勉強すべき点が他にあるようです。
自分の知恵のなさを痛感しました。
そんな質問に温かい回答を頂けただけでも感謝です。
頑張ってみますm(_ _)m
お世話になっておりますm(_ _)m
今回も回答頂き本当にありがとうございます。
お礼が遅れてしまい申し訳ありません。
早速試してみます!!!
ありがとうございます!!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
字面がカッコいい英単語
あなたが思う「字面がカッコいい英単語」を教えてください。
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
sortableを使用したデータのUPDATE
PHP
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
チェックボックスでチェックし...
-
dbに登録したデータをphpのプル...
-
PHPのupdate文はこれでいいので...
-
PHPで[]の使い方について
-
データ関連付けした際
-
PHPでMySQLデータを呼び出し、w...
-
文字化けが解決できません。お...
-
CSVにエクスポートする保存...
-
実行時エラー3131 FROM 句の構...
-
MySQLでデータベースにデータin...
-
VBAをつかってクエリの情報を抽...
-
Accessへ日付をINSERT
-
ACCESSのテーブルをHTMLファイ...
-
PHP(PDO)でDBの情報を完全一...
-
PHP初心者です。syntax error, ...
-
phpで複数の検索語を検索対象に...
-
DB(MySQL)から複数行のデータを...
-
insert1つの処理でもトランザ...
-
JAVA SQLServerException 列名 ...
-
SQL文が実行できません
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PHPで[]の使い方について
-
dbに登録したデータをphpのプル...
-
アラートでyes noを作りたいです。
-
phpでmysqlを使ってデータベー...
-
ヒアドキュメントについて
-
MySQLに保存した画像を表示したい
-
PHP 10件表示 "前へ" "次へ"
-
mysqlから取得した配列をカンマ...
-
DBで検索結果に該当するデータ...
-
PEAR DBでの行取得について
-
検索結果にラジオボタンを付加...
-
SELECT結果から動的にコンボボ...
-
検索結果をgoogleのように数件...
-
PHPでMySQLデータを呼び出し、w...
-
PHPでMySQLのデータを2次元配...
-
checkboxクリック時、SQLを実行...
-
php5.2.9に変更後に不具合について
-
PDOでLIKE検索
-
PHP+MySQLでの配列のinsert文に...
-
PHP・MySQL使用で、年齢制限を...
おすすめ情報