Ich erstelle eine einfache Transaktionsberichtsseite, die eingegebene Datenbankdaten annimmt und in einer HTML-Tabelle anzeigt. Ich möchte in der Lage sein, jede Spalte auf der Clientseite in asc/desc-Reihenfolge zu sortieren, wenn auf die Tabellenheader geklickt wird, aber ich kann meine Funktionen nicht zum Funktionieren bringen.Sortieren einer HTML-Tabellenspalte, die SQL-Daten enthält
<?php session_start();
include 'db.php';
include 'head.php';
$sql = "SELECT * FROM ach";
$result = $mysqli->query($sql);
echo "<div class='w3-row-padding w3-margin'>";
if ($result->num_rows) {
echo "<table class='w3-table-all'>
<thead>
<tr>
<th><a href='transactions.php?sort=submittedDate'>Submitted Date</a></th>
<th><a href='transactions.php?sort=accountNumber'>Chief Account Number</a></th>
<th><a href='transactions.php?sort=accountHolderName'>Account Holder</a></th>
<th><a href='transactions.php?sort=achAccountType'>Account Type</a></th>
<th><a href='transactions.php?sort=transferType'>Transfer Type</a></th>
<th><a href='transactions.php?sort=recurringMonthlyTransferDate'>Transfer Date</a></th>
<th><a href='transactions.php?sort=status'>Status</a></th>
<th> </th>
</tr>
</thead>";
// output data of each row
while($row = $result->fetch_assoc()) {
echo "<tbody><tr><td>".$row["submitDate"]."</td><td>".$row["accountNumber"]."</td><td>".$row["accountHolderName"]."</td><td>".$row["achAccountType"]."</td><td>".$row["transferType"]."</td><td>".$row["recurringMonthlyTransferDate"]."</td><td>".$row["status"]."</td><td><a href=review.php?ID=" . $row["id"] . ">Review</a></td></tr></tbody>";
}
echo "</table>";
} else {
echo "0 results";
}
echo "</div>";
if ($_GET['sort'] == 'submittedDate')
{
$sql .= " ORDER BY `ach`.`submitDate` ASC ";
}
elseif ($_GET['sort'] == 'accountNumber')
{
$sql .= " ORDER BY accountNumber";
}
elseif ($_GET['sort'] == 'accountHolderName ')
{
$sql .= " ORDER BY accountHolderName ASC";
}
elseif($_GET['sort'] == 'achAccountType')
{
$sql .= " ORDER BY achAccountType";
}
elseif($_GET['sort'] == 'transferType')
{
$sql .= " ORDER BY transferType";
}
elseif($_GET['sort'] == 'recurringMonthlyTransferDate')
{
$sql .= " ORDER BY recurringMonthlyTransferDate";
}
elseif($_GET['sort'] == 'status')
{
$sql .= " ORDER BY status";
}
$mysqli->close();
include 'foot.php';
?>
Ich verstehe, dass Sie diese auf eigene Faust tun müssen, .. Aber bitte einen Blick auf [Bootstrap Datentabelle] nehmen (https://datatables.net/manual/styling/bootstrap), die Ihnen helfen könnten .. Bootstrap-Datatable hat integrierte Funktionen zum Sortieren, Suchen, Filtern usw. ... aber nur auf der Client-Seite ... – Lal
Sie können die Datentabelle verwenden, wenn Sie am Client-Ende sortieren möchten. –
Ich habe versucht, die Datentabelle verwenden, aber es hat nicht funktioniert. – xxdash