我们能使MySQL select查询的结果可编辑和排序吗?


Can we make results of MySQL select query editable and sortable?

我有一个选择查询,它从表中提取数据并相应地显示它

$display_query= "select * from customer WHERE abc_mailing_list = '$abc' AND def_mailing_list ='$def' AND ghi_mailing_list = '$ghi' AND position_category IN($var) AND country_code='$country_cat' ORDER BY state";
$display_result=mysqli_query($dbc2,$display_query); 
<table width = "100%"border="1" style="border-collapse: collapse;">
<tr style="background-color: #51626F; color: #FFFFFF;">
<th> S.No</th>
<th> First Name</th>
<th>Last Name</th>
<th>Position Category</th>
<th>State</th>
<th>Country</th>
<th>Title</th>
<th>Agency</th>
<th>Department</th>
</tr>
<?php
$colour2 = "transparent";  
$colour1 = "#B1B0A7";  
$count = 0;
$row_count = 0; 
while($row=mysqli_fetch_assoc($display_result)){
$rowcolor = ($row_count % 2) ? $colour1 : $colour2;
$count++;
?>
<tr style="background: <? echo $rowcolor; ?>;">
<td width="10%" height="20"><? echo $count; ?></td>
<td width="10%" height="20"><? echo $row['first_name']; ?></td>
<td width="10%" height="20"><? echo $row['last_name']; ?></td>
<td width="10%" height="20"><? echo $row['position_category']; ?></td>
<td width="10%" height="20"><? echo $row['state']; ?></td>
<td width="10%" height="20"><? echo $row['country_code']; ?></td>
<td width="10%" height="20"><? echo $row['title']; ?></td>
<td width="10%" height="20"><? echo $row['agency']; ?></td>
<td width="10%" height="20"><? echo $row['department']; ?></td>
</tr>
<?
$row_count++;
}
?>

我的问题是我想使一切可编辑,以便如果用户在返回的结果中发现一些错误,他应该有编辑的选项,然后在那里保存它,这样它就可以保存在数据库中。有什么插件吗?如果这是一个微不足道的问题,我很抱歉,我是PHP的新手。由于

编辑部分需要一些工作,但您可以使用DataTables(一个JQuery插件)来处理排序,搜索等。

DataTables (jQuery的表插件)www.datatables.net

您对它的工作原理缺少一些理解。您现在要做的是在网页中显示数据。你需要实现一种机制来更新数据库,这不会立即发生,你需要以一种可编辑的格式显示数据,比如一个文本框,然后让用户修改它,比如当他完成时点击更新按钮。然后,您需要响应单击该按钮,从文本框中获取编辑过的数据并更新数据库中的正确位置。这很简单,可以通过许多不同的方式来实现。开始做点什么,发布一些代码,这样我们可以帮助:)

代替

'<td width="10%" height="20"><? echo $count; ?></td>' 

应该使该列是数据库中唯一的自动递增的数字,以便可以识别每一行。在那里,您可以使用表单(选择需要编辑的列的复选框,或者可以在每个列上编辑的文本输入)。如果您选择使用复选框和"编辑"按钮,请使用附加唯一id的隐藏输入。然后检查

(isset($_POST['id']) && isset($_POST['firstName']))
{
    $firstName = sanitizeStrin($_POST['firstName']);
    $id = sanitizeString($_POST['id']);
  mysql_query( "UPDATE table SET first_name = '$firstName' WHERE uniqueID='$id'" );
}

. .查看哪一行中的哪一列需要更新。检查每一列需要很多代码,但是您应该明白了。