我在后端有一个MySQL表,用于存储用户的信息,主键是一个AUTO iNCREMENT号码,用于识别用户。
我使用Datatables编辑器编辑/删除此表上的新记录。但是,由于每个用户的ID都是唯一的,我已通过以下功能禁用它们在网页上进行编辑:
editor.on( 'onInitCreate', function () {
editor.disable('id');
} );
editor.on( 'onInitEdit', function () {
editor.disable('id');
} );
这样,查看网页的用户无法编辑/修改uid值。但问题是,在创建新用户记录时,我必须在创建新网页时显示后端可用的id值。
假设最后一个用户ID号是65,那么当用户点击“新建”按钮时,它应该显示一个不可编辑的用户ID值,其中包含其他可编辑的空白表单值等等,每次创建新记录时都是如此。
目前我只使用以下格式:
include( "DataTables.php" );
// Alias Editor classes so they are easy to use
use
DataTables\Editor,
DataTables\Editor\Field,
DataTables\Editor\Format,
DataTables\Editor\Join,
DataTables\Editor\Validate;
Editor::inst( $db, 'datatables_demo' )
->fields(
Field::inst( 'id' ),
.............
)
->process( $_POST )
->json();
修改::
另一方面,我意识到前端的值可能不可靠,因为另一个Web用户/管理员也可以尝试同时插入一行。这意味着当用户点击“创建新记录”表单上的“提交”时,应更新新用户表,并且在新记录表单被取消之前,应显示UID值。