Итак, я создал простой php-сайт, где пользователь может фильтровать содержимое таблицы. Включена также подробная ссылка с каждой записью, которая перенаправляет пользователя на сайт, который отображает только детали использованной записи. Подробный сайт в основном отображает только конкретную информацию и одну кнопку, которая позволяет пользователю вернуться на исходный веб-сайт.
Моя проблема заключается в том, что я хочу сохранить входные данные фильтра пользователей при пересылке на подробный сайт, а также прион нажимает на ссылку, чтобы вернуться на исходный сайт. В идеале я хотел бы сделать это с $_GET
, если это возможно.
Вот мой index.php :
index.php:
<h1>Benutzerdaten anzeigen</h1>
<div class="filter">
<label class="labelf">Filtern:</label>
<input id="filterfeld" name='filterfeld' onkeyup="filterRows()" value =<?php echo $_GET['filterfeld']; ?>>
<button id="reset" class="reset" value="Reset" onclick="window.location.reload(true)">RESET</button>
</div>
<?php
$servername = "localhost";
$username = "root";
$username = "root";
$password = "";
$dbname = "php13";
$filter_value = isset($_GET['filterfeld']) ? $_GET['filterfeld'] : "";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT * FROM user";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
echo "<table align='center' id='ftable' class='ftable'><tr><th>ID</th><th>Vorname</th><th>Nachname</th><th>E-Mail</th><th>Telefon</th><th>Geburtsdatum</th><th>Straße</th><th>Details</th></tr>";
// output data of each row
while ($row = $result->fetch_assoc()) {
echo "<td></td><tr><td>" . $row["id"] . "</td><td>" . $row["firstname"] . "</td><td>" . $row["lastname"] . "</td>
<td>" . $row["email"] . "</td><td>" . $row["phone"] . "</td><td>" . $row["birthdate"] . "</td><td>" . $row["street"] . "</td><td><a href='singleentry.php?id=" .$row["id"]."&filterfeld=". $filter_value . "' class='details'>Details</a></td></tr>";
}
echo "</table>";
} else {
echo "0 results";
}
$conn->close();
?>
</form>
кнопка возврата на подробном сайте singleentry.php :
<p align="center"><a href='index.php?filterfeld="<?php echo $_GET['filterfeld']?>"'><button>Zurück</button></a></p>
фильтрация с помощью js:
var input, filter, table, tr, td, cell, i, j;
input = document.getElementById("filterfeld");
filter = input.value.toUpperCase();
table = document.getElementById("ftable");
tr = table.getElementsByTagName("tr");
for (i = 1; i < tr.length; i++) {
tr[i].style.display = "none";
td = tr[i].getElementsByTagName("td");
for (var j = 0; j < td.length; j++) {
cell = tr[i].getElementsByTagName("td")[j];
if (cell) {
if (cell.innerHTML.toUpperCase().indexOf(filter) > -1) {
tr[i].style.display = "";
break;
}
}
}
}
}
В настоящее время янеобходимо обновить исходную страницу с помощью filtertext, чтобы иметь возможность передать ее на подробный сайт, что не является идеальным. Обычно он просто обновляет сайт, но уже с предыдущей фильтрацией текста и данных.
Пожалуйста, спросите, если что-то неясно! Спасибо уже за любую помощь!