注意:我不想触摸数据库中的任何数据。我正在谈论删除HTML表格。
此外,我尝试过使用" .html()"和" .remove()"在我的桌子上,但他们最终打破了格式,或者不允许任何信息显示。
我将尝试尽可能多地使用尽可能多的代码解释我的问题,所以如果遗漏任何内容请告诉我,我会添加它。
我希望能够在点击其中一个排序选项时清除表格,并让PHP重新查询数据库并提取已附加排序条件的信息。
查询有效,数据将添加到表中。但是,新的(已排序的)数据不是替换旧数据并显示已排序的数据,而是附加到表的顶部,从而保留旧数据。
我该如何解决这个问题?我只希望显示新的排序数据。
此if语句检查一个名为hasBeenSubmitted的下拉菜单是否有一个如果点击了它的选项,如果是,它会根据所选的选项执行以下操作。
if(checkValue($_POST['hasBeenSubmitted'])) {
switch($_POST['hasBeenSubmitted']) {
case 'yes':
$query1 = "SELECT *
FROM APPLICATION_Primary
INNER JOIN Application ON Application_primary.applicationId = Application.applicationId AND hasBeenSubmitted = 1
INNER JOIN Applicant ON Applicant.applicantId = Application.applicantId
INNER JOIN APPLICATION_Degree ON Application.applicationId = APPLICATION_Degree.applicationId
INNER JOIN (SELECT DISTINCT (
department_code
), academic_programCode, department_nameFull
FROM AcademicProgram) AS
ac_program ON APPLICATION_Degree.academic_program = ac_program.department_code
INNER JOIN APPLICATION_Transaction ON Application.transactionId = APPLICATION_Transaction.transactionId
ORDER BY Applicant.applicantId ASC";
//SOMEHOW CLEAR THE TABLE HERE?
//QUERY
$updatedapplicants = $db->query($query1);
populateTable($updatedapplicants);
break;
case 'no':
$query1 = "SELECT *
FROM APPLICATION_Primary
INNER JOIN Application ON Application_primary.applicationId = Application.applicationId AND hasBeenSubmitted = 0
INNER JOIN Applicant ON Applicant.applicantId = Application.applicantId
INNER JOIN APPLICATION_Degree ON Application.applicationId = APPLICATION_Degree.applicationId
INNER JOIN (SELECT DISTINCT (
department_code
), academic_programCode, department_nameFull
FROM AcademicProgram) AS
ac_program ON APPLICATION_Degree.academic_program = ac_program.department_code
INNER JOIN APPLICATION_Transaction ON Application.transactionId = APPLICATION_Transaction.transactionId
ORDER BY Applicant.applicantId ASC";
//SOMEHOW CLEAR THE TABLE HERE?
//QUERY
$updatedapplicants = $db->query($query1);
populateTable($updatedapplicants);
break;
}
}
这是populateTable(),它完全符合您的想法。它从申请人变量中获取信息并提取所需的列,并在表格中回显。
function populateTable($updatedapplicants) {
foreach($updatedapplicants as $applicant) {
$color = $color == 'light'? 'dark' : 'light';
?>
<tr
class='<?php echo $color;?>' id='applicant_data'>
<td style="text-align: center;"><?PHP echo '<input type="checkbox" class="processed_check" id="applicant-' . $applicant['applicant_id'] . '" ';
if($applicant['status'] == 1){
echo "checked";
}
echo '>';
?></td>
<td><?php echo $applicant['applicantId']; ?></td>
<td><?php echo $applicant['isPayingOnline']; ?></td>
<td><?php echo ($applicant['hasBeenSubmitted'] == 1) ? 'yes' : 'no'; ?></td>
<!-- applicant info -->
<td><?php
if($applicant['hasBeenSubmitted '] == 1) {
$exDOB = explode("/", $applicant['date_of_birth']);
$newDOB = $exDOB[0].$exDOB[1].$exDOB[2];
$pdftitle = $applicant['applicationId']."_".$applicant['familyName']."_".$applicant['givenName']."_".$newDOB.".p df";
echo "<a href='getFile.php?FileName=" . $pdftitle . "&FileType=application' target='_blank'>" . $applicant['applicant_name'] . "</a>";
} else {
echo $applicant['givenName']." ".$applicant['familyName'];
}
?></td>
<!-- academic info -->
<td><?php echo $applicant['academic_programCode'] . ' - ' . $applicant['department_nameFull']; ?></td>
<td><?php echo $applicant['submittedDate'] ?></td>
<td><?php echo $applicant['startSemester'] ?></td>
<td><?php echo $applicant['startYear'] ?></td>
<td><?php echo ($applicant['isCompleted'] == 'Y') ? "yes" : "no"; ?></td>
<td><?php echo $applicant['studentType'] ?></td>
<td><?php echo $applicant['academic_load'] ?></td>
<td><?php
$email = $applicant['loginEmail'];
echo "<a href='mailto:$email'>$email</a>";
?></td>
<td><?php
if ($applicant['essayOldFileName']) {
$exDOB = explode("/", $applicant['date_of_birth']);
$newDOB = $exDOB[0].$exDOB[1].$exDOB[2];
$ext = end(explode(".", $applicant['essayOldFileName']));
$filename = "essay_".$applicant['applicantId']."_".$applicant['givenName']."_".$applicant['familyName']."_".$new DOB.".".$ext;
echo "<a href='getFile.php?FileName=$filename&FileType=essay' target='_blank'>Essay</a>";
}
?></td>
<td><?php
if($applicant['resumeOldFileName']) {
$exDOB = explode("/", $applicant['date_of_birth']);
$newDOB = $exDOB[0].$exDOB[1].$exDOB[2];
$ext = end(explode(".", $applicant['resume_file_name']));
$filename = "resume_".$applicant['applicant_id']."_".$applicant['given_name']."_".$applicant['family_name']."_". $newDOB.".".$ext;
echo "<a href='getFile.php?FileName=$filename&FileType=resume' target='_blank'>Resume</a>";
}
?></td>
</tr>
<?php }
}
谢谢,我感谢所有帮助。我真的被这个问题困住了。