我是新来的,对编程也很陌生,但我需要一些认真的手 Handlebars 帮助。
我正在搜索 jquery 并找到了一个可以在屏幕上拖放内容的脚本,基本上我只是想移动一些 div,这是最简单的部分,我发现的脚本有一个回调函数,可以写入您需要的 div 上刚刚移动“dropped”,这正是我所需要的,但是我不想写dropped,而是想将2个位置变量保存到数据库(mysql)中,这样如果我关闭浏览器并再次打开它,div将打开我最后丢下它们的地方。
你能帮忙吗?是否有一个已经内置的 jquery 用户界面?
我认为使用 jquery ajax 函数很容易做到这一点,对吗?基本上我应该将序列化数据(json 对吗?)发送到一个页面,该页面一旦将其馈送到其中就处理该数据,然后 jason 成功返回处理程序,甚至返回一些输出,对吗?
对于 Dragabble div 来说,如果有一个处理程序,该处理程序可以由 jason 从充当数据库缓冲区的外部页面检索最后知道的位置,那就太酷了。
这是正确的管道吗?
致以诚挚的问候 乔里卡姆
最佳答案
您的问题有些模糊,但我可以尽力帮助您更接近答案。
想象一下拼图的两个侧面:
加载页面时,两个(或更多)DIV 将绘制在屏幕上。如果您希望它们按特定顺序绘制,则需要在数据库中跟踪该顺序。因此,请确保您的数据库有一个名为
display_order
的字段,然后按该顺序显示 DIV。 (您通常只需将ORDER BY display_order
添加到 SQL,以便按照您想要的顺序检索它们,然后在循环中直接绘制 DIV。)当有人拖放 DIV 时,您可以使用 AJAX/JSON/etc 来告诉 PHP 脚本新的顺序。在这种情况下,当发生这种情况时,您应该立即更新数据库中的
display_order
字段,而不是在 DIV 中绘制“dropped”一词。这样您就可以记住每个 DIV 的位置。
这有帮助/有意义吗?
更新:更多地考虑您的问题,这是伪代码:
在“display.php”中:
- 从数据库中获取每个 DIV 的内容,并在行上使用
ORDER BY display_order
。 - 将它们绘制在屏幕上,循环遍历每个数据库行。
- 此外,在此 HTML 中,使用 jQuery 脚本,当拖动行时,您必须调用另一个 PHP 脚本 (dragged.php)。
在“dragged.php”中:
- 当在屏幕上拖动一行时调用此脚本。
- 目前,它会将“dropped”一词放入拖动的 DIV 中。这没有帮助,所以删除它。
- 相反,您现在知道(从传递给您的变量)特定的 DIV 需要位于特定的位置。
- 因此,请从数据库中获取 DIV 列表,然后根据您知道的新位置更改它们的顺序(通过更改
display_order
列)。 - 将其保存回数据库,以便下次再次调用 display.php 时,它会按照您想要的顺序绘制 DIV。
希望这有助于进一步解释。如果您仍然在苦苦挣扎,我恭敬地建议您尝试编写代码,并针对您遇到的问题提出一个更具体的问题。这将帮助您快速获得良好的答案。 (您可能还想经常在 Google 上搜索此内容;我确信有代码示例展示了如何完成这一切。)
关于php - jquery回调后将信息保存到数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5608683/