gpt4 book ai didi

php - 基于 MySQL 的 Web 应用程序 : Easiest way for users to choose order or items?

转载 作者:可可西里 更新时间:2023-11-01 07:38:14 26 4
gpt4 key购买 nike

我正在研究用户可以重新排列项目的东西,稍后,这些项目需要按照选择的顺序显示。举一个简单的例子,考虑一个项目列表:

A、B、C、D、E、F、G。
MySQL 表会很简单:user_id、letter、sortnumber

允许用户逐步更改顺序。他们可能会将 A 移到 D 之后,将 G 移到开头等。除此之外,他们还可以添加和删除项目。所以他们可能会删除 C,或添加 X。在这些步骤中的每一步中,我都会将数据发送到 PHP,PHP 将对其进行处理,并在 MySQL 中设置项目。

我认为有两种方法可以解决这个问题:

  1. 每次他们添加/删除/重新排序东西,将整个列表发送到PHP,删除他们所有的数据以前在那里,只是插入新列表。问题是,这是很多每次删除/插入做任何事情。他们可能会将 A 移到 B 之后,然后我突然删除 7 条记录,然后再插入 7 条。从好的方面来说,它非常简单。

  2. 他们所做的每一次“移动”(例如添加、删除或重新排序),都会发送相应的信息。例如。他们将 An 移到 F 之后,并告诉我“将 An 移到 F 之后”我现在必须检查列表中是否存在 A 和 F,然后我必须递减 A 和 F(包括 F)之间的所有“排序编号”。如果他们说“删除 Z”,我必须在列表中找到它,将其删除,然后递减其后所有记录的排序编号。

所以我很好奇...有没有人必须处理顺序很重要的事情,如果有,您是如何处理的?

最佳答案

向表中添加一个序列列 - 作为 float 。

当一个项目在 Row-A 和 Row-B 之间移动时,将其序号设置为这些相邻列的平均值

索引序列列:)

关于php - 基于 MySQL 的 Web 应用程序 : Easiest way for users to choose order or items?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/547534/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com