Я пытаюсь отфильтровать мою базу данных, используя 2 select option() и(), что я хочу, когда пользователь загружает страницу, они могут видеть результат базы данных, организованный в таблице, когда они выбирают выбор (выпадающий список), таблица фильтруется, они могут выбрать один из выбранных (выпадающий список) или оба для оптимального результата. так как я могу настроить свой код для работы, как я этого хочу? Я использую базу данных 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>";
}
?>
Вы говорите это, чтобы найти сотрудников с разными значениями reportsTo в то же время, это физически невозможно :). Таким образом, вы либо хотите использовать разные столбцы в своем запросе для сопоставления с значениями $ office и $ report или ... использовать инструкцию OR вместо AND? – Filip
¿Как выглядит работник для сотрудников? – Cuchu
@Filip таблица моего сотрудника имеет следующие атрибуты: employeeNumber lastName firstName extension officeCode email jobTitle, поэтому я не думаю, что запрос является проблемой, по какой-то причине я думаю, что он не распознает $ office и $ report values, потому что когда я echo значения Я получаю ту же ошибку: Неопределенный индекс, спасибо за время yuor – Glory