我想用2选择选项()和()来过滤我的数据库我想要的是当用户加载页面时,他们可以看到数据库结果组织在表中,当他们选择选择(下拉列表)表格被过滤,他们可以选择一个选择(下拉列表)或两者以获得最佳结果。那么如何调整我的代码以按照我的要求工作?我使用oracle hr数据库,但我不断收到此错误:未定义的索引,可以告诉我为什么?使用选择过滤数据库
的index.php
<html>
<head>
</head>
<body>
<form action="emp.php" method="post" name="Form2" id="Form2">
<select id="officecode" name="officecode">
<option value="">Select an officeCode:</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>
<select id="reportsTo" name="reportsTo" >
<option value="">reports To:</option>
<option value="1143">1143</option>
<option value="1102">1102</option>
<option value="1108">1108</option>
<option value="1056">1056</option>
</select>
</form>
<br>
<div id="result"><b>
<?php include "emp.php"; ?>
</b></div>
<script>
$(document).ready(function(){
var office = $("#officecode");
var report = $("#reportsTo");
the_office.change(function(){
var the_selected_office = $(this).val();
self.location = "emp.php?off="+the_selected_office+"&rep=";
});
the_report.change(function(){
var the_selected_report = $(this).val();
self.location = "emp.php?off=&rep="+the_selected_report+";
});
});
</script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
</body>
</html>
emp.php
<?php
$office = $_POST["off"];
$report = $_POST["rep"];
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "classicmodels";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql="SELECT * FROM employees WHERE reportsTo= '".$office."' AND reportsTo= '".$report."' ";
$result = $conn->query($sql);
echo "<table>
<tr>
<th>Firstname</th>
<th>Lastname</th>
<th>Employee Number</th>
<th>Extension</th>
</tr>";
while($row = $result->fetch_assoc()) {
echo "<tr>";
echo "<td>" . $row['firstName'] . "</td>";
echo "<td>" . $row['lastName'] . "</td>";
echo "<td>" . $row['employeeNumber'] . "</td>";
echo "<td>" . $row['extension'] . "</td>";
echo "</tr>";
}
?>
你告诉它在同一时间发现与上级不同的价值观的员工,这是身体上不可能:)。因此,它可能是要在查询中使用不同的列来匹配$ office和$ report的值或....使用OR语句而不是AND? – Filip
¿员工表如何? – Cuchu
@Filip我的员工表具有以下属性:employeeNumber lastName firstName extension officeCode email jobTitle,所以我不认为查询是问题,我认为由于某种原因它不能识别$ office和$ report值,因为当我回声价值我得到了同样的错误:未定义的索引,谢谢你的时间 – Glory