用JavaScript维护一个动态MySQL表

Maintaining a dynamic MySQL table with JavaScript

本文关键字:一个 动态 MySQL JavaScript 维护      更新时间:2023-09-26

我有一个MySQL表,有3列:

MySQL db table
+--+----+-------------+
|id|data|display_order|
+--+----+-------------+
|0 |0   |2            |
+--+----+-------------+
|1 |1   |1            |
+--+----+-------------+
|2 |1   |2            |
+--+----+-------------+
|3 |1   |3            |
+--+----+-------------+
|4 |1   |4            |
+--+----+-------------+
|5 |1   |5            |
+--+----+-------------+

使用PHP在HTML中生成div:

HTML generated from DB:
<div>
    Div From id 1
    <button>Remove Div</button>
</div>
<div>
    Div From id 2
    <button>Remove Div</button>
</div>
<div>
    Div From id 3
    <button>Remove Div</button>
</div>
<div>
    Div From id 4
    <button>Remove Div</button>
</div>
<div>
    Div From id 5
    <button>Remove Div</button>
</div>
<button>Add Div</button>
<button>Update DB</button>

生成的Div可以通过按下上面的Add或Remove Div按钮来改变:

HTML changed:
 <div>
    Div From id 1
    <button>Remove Div</button>
</div>
<div>
    New Div 1
    <button>Remove Div</button>
</div>
<div>
    Div From id 2
    <button>Remove Div</button>
</div>
<div>
    Div From id 4
    <button>Remove Div</button>
</div>
<div>
    Div From id 5
    <button>Remove Div</button>
</div>
<div>
    New Div 2
    <button>Remove Div</button>
</div>
<button>Add Div</button>
<button>Update DB</button>

一旦div在HTML中被更改,是时候更新数据库了(通过按"update DB"),我如何才能正确地更新数据库?我只想在按下更新按钮时更新数据库,我需要知道要更新什么,要插入什么,要删除什么。我还想更新显示顺序以反映添加或删除的div。

我的直觉是把表id和显示订单在隐藏字段在我的HTMLdiv,但我不确定如果这将是安全的,这会是某种安全风险吗?我真不知道该怎么做,谁能给我提点建议吗?

谢谢!

我不明白你为什么不能这样做。

安全漏洞将发生在您为了修改数据库而提交的PHP文件中。确保请求只能来自本地IP,并将要添加和删除的div id以及订单传递给脚本。确保您没有将数据从POST请求直接传递到数据库中。

在本地维护页面的状态,可能使用低频率的轮询来更新数据。