我的数据库有一个表names
,其中包含各种列,例如Fname
,Lname
,Age_chkd
,gndr_chkd
,profession_gdk
等等
我有表格来显示这些值
<table>
<tr>
<td>F Name</td>
<td>L Name</td>
<td>Age</td>
<td>Profession</td>
</tr>
<tr>
<td contenteditable="true" id="as_1">Value from DB</td>
<td contenteditable="true" id="as_2">Value from DB</td>
<td contenteditable="true" id="as_3">Value from DB</td>
<td contenteditable="true" id="as_4">Value from DB</td>
</tr>
</table>
我尝试了两种方法:
td
的名称与DB列名称相同,但不赞成此方法,因为DB将被公开。td
的名称设为someprefix::DB_column
,并在PHP结束时将::
之后的值分开,但在此处再次看不到方法。有人可以让我知道更好,更棒的方法吗?
注意:当您看到contenteditable=true
时,表格会被ajax更新,而下面是调用ajax的jquery
$("td[contenteditable=true]").blur(function(){
var field_userid = $(this).attr("id") ;
var value = $(this).text() ;
$.post('updatemenu/update_orderstatus' , field_userid + "=" +value,function(data){
if(data != '') {
message_status.text(data);
setTimeout(function(){message_status.hide()},3000);
}
});
});
答案 0 :(得分:1)
你需要模特。
您在这里所描述的内容听起来像使用模型的理想情况。您已定义数据库表。 PHP中的模型将是应用程序和数据库之间的层。
这样,您可以直接使用应用程序对模型进行更改,从而在尝试更新/更改数据库记录之前强制确保数据正确(或至少无害)。
模型可能如下所示:
class Names {
private $id;
public $fName, $lName, $Age, $Gender, $Profession;
public static function GetById($id) {
// Get data by ID and fill the instance
}
public function Save() {
// Check model, save to the database by using $this->Age, $this->Profession variables.
}
}