我想找到一种方法来更新MySQL中的“自定义排名”字段,以便它将相应地对所有其他项目重新编号.
样本数据:
ID Name Ranking
12 Sara 1
13 Mike 2
14 John 3
15 Susie 4
16 Melissa 5
17 Jane 6
如果通过PHP将“简”更新到排名2,我希望每个人从“迈克”降到“梅利莎”都移到排名3到6.
设置Rank = 2(其中ID = 17),并找到一种方法循环遍历其他人以提高排名.
解决方法:
您可以尝试这样的事情
if($curSort > $setSort){
// "UPDATE table SET Ranking = (Ranking + 1) WHERE Ranking >= $setSort AND Ranking < $curSort"
} elseif($curSort < $setSort){
// "UPDATE table SET Ranking = (Ranking - 1) WHERE Ranking > $curSort AND Ranking <= $setSort"
}
///update $curSort to $setSort
其中$curSort = 6;和$setSort = 2;
标签:sql,mysql,php 来源: https://codeday.me/bug/20191211/2106104.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。