По сути, я хочу создать сброс вместе с кнопкой поиска в моей поисковой системе, но я застрял при написании этой части, вот мой код:
<html>
<body>
<form action="" method="post">
<input type="text" name="filter">
<input type="submit" value="GO">
</form>
<?php
if(isset($_POST['filter'])){
$sql = "SELECT id, first_name, last_name, sex FROM employee where first_name like '%".$_POST['filter']."%'";
} else {
$sql = "SELECT id, first_name, last_name, sex FROM employee";
}
?>
</body>
</html>
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "test";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$result = $conn->query($sql);
if ($result->num_rows > 0) { // output data of each row
echo '<table>';
while($row = $result->fetch_assoc()) {
echo "<tr><td>" . $row["id"]. "</td><td>" . $row["first_name"]. "</td><td>" . $row["last_name"]. "</td><td>" . $row["sex"] . "</tr>";
}
echo '</table>';
} else {
echo "0 results";
}
$conn->close();
Где я могу создать кнопку сброса? действительно застрял в этой части, пожалуйста, подумайте о помощи
Хорошо, а как насчет этого подхода? Это закрывает инъекцию SQL, дает вам правильную разметку и имеет кнопку сброса.
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "test";
$output = '';
// Create connection
$mysqli = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($mysqli->connect_error) {
die("Connection failed: " . $mysqli->connect_error);
}
if(isset($_POST['filter'])){
$sql = "SELECT id, first_name, last_name, sex FROM employee where first_name like ?";
$param = '%' . $_POST['filter']. '%';
} else {
$sql = "SELECT id, first_name, last_name, sex FROM employee";
}
$stmt = $mysqli->prepare($sql);
if(!empty($param)) {
$stmt->bind_param("s", $param);
}
$stmt->execute();
if ($stmt->num_rows > 0) {
$output .= '<table>';
while($row = $stmt->fetch_assoc()) {
$output .= "<tr><td>" . $row["id"]. "</td><td>" . $row["first_name"]. "</td><td>" . $row["last_name"]. "</td><td>" . $row["sex"] . "</tr>";
}
$output .= '</table>';
} else {
//not really no results could also be an error
$output .= "<p>0 results</p>";
}
$mysqli->close();
?>
<html>
<body>
<form action="" method="post">
<input type="text" name="filter" />
<input type="submit" value="GO" />
<input type="reset" value="Reset" />
</form>
<?php
if(!empty($output)) {
echo $output;
}
?>
</body>
</html>
Вы также в настоящее время не заполняете искомое значение обратно в форму.
Других решений пока нет …