Php 当同一页面发生错误时,下拉列表中的员工ID将消失
我在包含Html表单的单独文件中显示上述会话值,下面给出了代码片段:Php 当同一页面发生错误时,下拉列表中的员工ID将消失,php,Php,我在包含Html表单的单独文件中显示上述会话值,下面给出了代码片段: public function getEmployeeIdForSalary(){ if (!isset($_SESSION['ids'])){ if (!isset($_SESSION['eids'])){ $query = mysqli_query($this->connection, "SELECT EmployeeId from emplo
public function getEmployeeIdForSalary(){
if (!isset($_SESSION['ids'])){
if (!isset($_SESSION['eids'])){
$query = mysqli_query($this->connection, "SELECT EmployeeId from employees where EmployeeId NOT IN(Select EmployeeId from salary)ORDER BY EmployeeId ASC") or die("Query execution failed: " . mysqli_error());
while ($row = $query->fetch_assoc()){
// Push the id to the array.
$_SESSION['ids'][] = $row["EmployeeId"];
}
}
}
}
员工代码:
请帮助我已更新了代码@pritamkumaru,当您使用标题()
指向其他页面时,然后使用$\u POST
变量get-Empty其他所需内容请通知我@Pritam。那我该怎么办?我可以把这个放在哪里,你能展示一下吗?你可以把$EmployeeId
放到会话中
在会话中保留变量
你能给我展示一下代码吗,我在等待请帮助我在你使用标题()指向其他页面时更新了代码@pritamkumara
然后$\u POST
变量清空所有其他需要的内容请让我知道@Pritam。那我该怎么办?我可以把这个放在哪里?你可以把$EmployeeId
放在会话中
在会话中保留变量
你可以把代码给我看一下吗,我正在等待ID仍然没有保留。我已经将$Employee Id放入会话中,但不知道如何在我的html表单中显示该会话,仍然没有保留。我已将$Employee Id放入会话中,但不知道如何在html表单中显示该会话
<tr>
<td>
Employee Code :
</td>
<td>
<select name="EmployeeId" id="EmployeeId" value='' class='form-control' required autofocus>
<?php
if (isset($_SESSION["ids"])) { // For Insert
foreach ($_SESSION['ids'] as $e_id) {
echo "<option value='$e_id'>$e_id</option>";
}
}else { // For Update
echo "<option value='$emp_id'>$emp_id</option>";
}
?>
</select>
</td>
</tr>
if (!empty($_POST['done'])) { // To prevent data from Inserting in database on Page Refresh.
if (!isset($_SESSION['salry'])) {
$EmployeeId = mysqli_real_escape_string($this->connection, $_POST['EmployeeId']);
$Salary = mysqli_real_escape_string($this->connection, $_POST['Salary']);
$query = mysqli_query($this->connection, "SELECT EmployeeId FROM attendencestatus where EmployeeId='" . $EmployeeId . "'") or die("Query execution failed: " . mysqli_error());
while ($rows = $query->fetch_array()){
$result = $rows["EmployeeId"];
}
$_SESSION["sal"] = $Salary;
if ($EmployeeId === $result) {
if ((10000 <= $Salary) && ($Salary <= 80000)){ // Validation on Salary Text Field.
$_SESSION["idsss"] = $EmployeeId;
$sql = "Insert into salary(EmployeeId,Salary) VALUES ('$EmployeeId', '$Salary')";
$result_insert = mysqli_query($this->connection, $sql);
if (!$result_insert){
$_SESSION[error_salary] = array("Insertion Failed due to duplicate entry.");
header("Location:addSalary.php");
} else {
$_SESSION[insert_salary] = array("Congo, Salary of Employee is Successfully Added");
$_SESSION["sal"] = "";
header("location:showSalary.php");
}
} else {
$_SESSION['ers'] = array("Salary of Employee Must be between 10000 and 80000.");
header("Location:addSalary.php");
}
<?php
if (isset($_SESSION["ids"])) { // For Insert
foreach ($_SESSION['ids'] as $e_id) {
$select = ($_SESSION['emp_id'] == $e_id ) ? 'selected' : '';
/*check emp_id in session to $e_id if equal then it is selected*/
echo "<option value='$e_id' $select >$e_id</option>";
}
}else { // For Update
echo "<option value='$emp_id'>$emp_id</option>";
}
?>