mysql - 拖拽重排序后怎么插入數(shù)據(jù)庫(kù)?
問(wèn)題描述
是一個(gè)文章分頁(yè),比如十頁(yè),按序號(hào)就是1-10;1頁(yè)存一條數(shù)據(jù),但是任意拖拽后我怎么在數(shù)據(jù)庫(kù)排序??每個(gè)分頁(yè)的拖拽修改內(nèi)容都是實(shí)時(shí)保存數(shù)據(jù)庫(kù)的,
我現(xiàn)在想法就是兩種,一種是全部存本地,等它提交了全部分頁(yè)post過(guò)去,省事,但是每個(gè)分頁(yè)不能實(shí)時(shí)存到數(shù)據(jù)庫(kù)
另一種就是把重排序后的文章序號(hào)拿去數(shù)據(jù)庫(kù)修改對(duì)應(yīng)的序號(hào),12345;那么3移到12之間就是13245;但是每次拖拽排序豈不是用對(duì)應(yīng)修改很多條數(shù)據(jù),那用戶瞎幾把亂拖,每次豈不是要修改很多次??求更好的方法
問(wèn)題解答
回答1:可以給每條數(shù)據(jù)加個(gè)order冗余字段,float類型的。對(duì)于第1,2,3,4,5條數(shù)據(jù),每條插入時(shí)order值為100,200,300,400,500.現(xiàn)在要把第4條數(shù)移到1,2之間,那就用1,2的order值之和除以2作為第4條數(shù)據(jù)新的order值,即第4條移動(dòng)的數(shù)據(jù)新order值為150。這樣也不需要修改其他數(shù)據(jù)的order值。
相關(guān)文章:
1. java - mongodb分片集群下,count和聚合統(tǒng)計(jì)問(wèn)題2. javascript - vue 移動(dòng)端的input 數(shù)字輸入優(yōu)化3. java - 自己制作一個(gè)視頻播放器,遇到問(wèn)題,用的是內(nèi)置surfaceview類,具體看代碼!4. javascript - 有什么兼容性比較好的辦法來(lái)判斷瀏覽器窗口的類型?5. 服務(wù)器端 - 采用nginx做web服務(wù)器,C++開(kāi)發(fā)應(yīng)用程序 出現(xiàn)拒絕連接請(qǐng)求?6. 為什么我ping不通我的docker容器呢???7. python - pandas按照列A和列B分組,將列C求平均數(shù),怎樣才能生成一個(gè)列A,B,C的dataframe8. 關(guān)于docker下的nginx壓力測(cè)試9. javascript - npm start 運(yùn)行’webpack-dev-server’報(bào)錯(cuò) Cannot find module ’webpack’10. java 隨機(jī)延遲執(zhí)行
