我是一名学生,几乎无法理解互联网上的任何内容。
我一直在使用X-editable进行内联编辑,到目前为止它对我有用,除了我需要一个不可思议的x-editable没有的功能。通过键盘中的“标签”进行导航。
你知道,这个表是一个类记录,因此它包含大约26个列,只需点击你在该表中编辑的方式就很累。
所以我在datatables.net上搜索并找到了dataTables。
我能够使它工作,但我不知道如何将它与最终更新列之前的计算连接起来。
我的意思是,这是dataTable用于获取和更新表的示例PHP文件之一:
<?php
/*
* Example PHP implementation used for the index.html example
*/
// DataTables PHP library
include( "../../php/DataTables.php" );
// Alias Editor classes so they are easy to use
use
DataTables\Editor,
DataTables\Editor\Field,
DataTables\Editor\Format,
DataTables\Editor\Mjoin,
DataTables\Editor\Options,
DataTables\Editor\Upload,
DataTables\Editor\Validate;
// Build our Editor instance and process the data coming from _POST
Editor::inst( $db, 'datatables_demo' )
->fields(
Field::inst( 'first_name' )->validator( 'Validate::notEmpty' ),
Field::inst( 'last_name' )->validator( 'Validate::notEmpty' ),
Field::inst( 'position' ),
Field::inst( 'email' ),
Field::inst( 'office' ),
Field::inst( 'extn' ),
Field::inst( 'age' )
->validator( 'Validate::numeric' )
->setFormatter( 'Format::ifEmpty', null ),
Field::inst( 'salary' )
->validator( 'Validate::numeric' )
->setFormatter( 'Format::ifEmpty', null ),
Field::inst( 'start_date' )
->validator( 'Validate::dateFormat', array(
"format" => Format::DATE_ISO_8601,
"message" => "Please enter a date in the format yyyy-mm-dd"
) )
->getFormatter( 'Format::date_sql_to_format', Format::DATE_ISO_8601 )
->setFormatter( 'Format::date_format_to_sql', Format::DATE_ISO_8601 )
)
->process( $_POST )
->json();
看那个。我甚至不了解那种PHP编码。我习惯的那个不使用很多箭头。
在X-editable中,我习惯将数据传递给我。
$name = $_POST['name'] (this is the column name)
$pk = $_POST['pk'] (this is the primary key)
$value = $_POST['value'] (well, value)
然后使用这三个我可以把它们放在一个函数中,所有这些额外的数据我需要包含在我可以通过使用一堆选择查询来获取的计算中,并且还更新它们的相关数据如果某个值发生了变化,将会被更改。
我甚至不知道如何制作无法使用dataTable编辑器编辑的列(只读列,如名称,ID等)。
我想知道我以前做过X-editable的事情,我可以使用dataTable编辑器吗?如果是的话,我能以一种我可能理解的方式获得解释吗?
编辑:另外,在我的更新查询中,我不只是更新我在表中更改的列,我还有这个LastEdited和EditedBy列,它应该与当前更新的值一起更改。但是dataTable编辑器php文件,似乎没有办法让我自己进行更新查询。