Button mit SQL Query
Hallo zusammen,
zurzeit habe ich auf meiner Testwebseite eine Tabelle, die mit Daten aus der Datenbank gefüttert wird (MYSQL)
Ich möchte hier gerne einen Button erstellen, auf dem eine beliebige SQL Abfrage hinterlegt ist.
Mein Gedanke ist, dass die Tabelle dadurch auf bestimmte Daten gefiltert wird. (je nachdem welcher Button angeklickt wird)
Link, der mir Hilfestellung gab.
Wie geht man am besten vor? Gibt es einfachere Möglichkeiten eine Tabelle zu filtern? Leider gingen meine Erfolge nicht über das erstellen des Buttons hinaus...bzw. das ausführen des Buttons war nie erfolgreich...
Ich hoffe auf ein paar Tipps.
Danke und bleibt gesund!
zurzeit habe ich auf meiner Testwebseite eine Tabelle, die mit Daten aus der Datenbank gefüttert wird (MYSQL)
Ich möchte hier gerne einen Button erstellen, auf dem eine beliebige SQL Abfrage hinterlegt ist.
Mein Gedanke ist, dass die Tabelle dadurch auf bestimmte Daten gefiltert wird. (je nachdem welcher Button angeklickt wird)
Link, der mir Hilfestellung gab.
Wie geht man am besten vor? Gibt es einfachere Möglichkeiten eine Tabelle zu filtern? Leider gingen meine Erfolge nicht über das erstellen des Buttons hinaus...bzw. das ausführen des Buttons war nie erfolgreich...
Ich hoffe auf ein paar Tipps.
Danke und bleibt gesund!
<table id="myTable">
<thead>
<tr>
<th>Name</th>
<th>Geburtsdatum</th>
</tr>
</thead>
<tbody>
<tr>
<?php
$pdo = new PDO('mysql:host=localhost;dbname=test', 'testuser', 'password');
$sql = "select name, gebdatum FROM personal";
foreach ($pdo->query($sql) as $row) {
echo "<TR>";
echo "<TD>".$row['name']."</TD>";
echo "<TD>".$row['gebdatum']."</TD>";
echo "</TR>";
}
echo "</TABLE>";
?>
</tr>
</tbody>
</table>
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 645599
Url: https://administrator.de/contentid/645599
Ausgedruckt am: 22.11.2024 um 06:11 Uhr
5 Kommentare
Neuester Kommentar
Hallo,
das ist eine Prinzip-Frage.
Dein PHP-Programm hat eine HTML-Ausgabe erzeugt und wurde beendet.
Es gibt nun 2 grundsätzliche Möglichkeiten:
1) Du rufst Deine Datei mit einem Parameter auf.
z.B. https://www.domain.de/liste.php?sort=name
Dieses wertest Du in Deinem Programm aus und änderst die SQL-Abfrage (ORDER BY).
Die Seite wird also immer neu erzeugt.
2) Du nutzt Javascript, z.B. AJAX, um mit einer API die Anzeige zu filtern oder neu zu erzeugen ohne die Seite neu zu laden.
Schau Dir auch mal JQuery Data-Tables an. Viele davon bringen sortieren und mehrseitige Ansichten von Haus aus mit.
Sowohl kostenfreie als auch kostenpflichtige.
Stefan
das ist eine Prinzip-Frage.
Dein PHP-Programm hat eine HTML-Ausgabe erzeugt und wurde beendet.
Es gibt nun 2 grundsätzliche Möglichkeiten:
1) Du rufst Deine Datei mit einem Parameter auf.
z.B. https://www.domain.de/liste.php?sort=name
Dieses wertest Du in Deinem Programm aus und änderst die SQL-Abfrage (ORDER BY).
Die Seite wird also immer neu erzeugt.
2) Du nutzt Javascript, z.B. AJAX, um mit einer API die Anzeige zu filtern oder neu zu erzeugen ohne die Seite neu zu laden.
Schau Dir auch mal JQuery Data-Tables an. Viele davon bringen sortieren und mehrseitige Ansichten von Haus aus mit.
Sowohl kostenfreie als auch kostenpflichtige.
Stefan
Dir fehlen ein paar Basics bezüglich PHP
https://www.w3schools.com/php/default.asp
im Prinzip so
https://www.w3schools.com/php/default.asp
im Prinzip so
switch (filter_var($_GET["Eigenschaften"], FILTER_SANITIZE_STRING))
{
case "name":
$sql = "select name, gebdatum FROM personal ORDER BY name";
break;
case "gebdatum":
$sql = "select name, gebdatum FROM personal ORDER BY gebdatum";
break;
default:
die("Fehler #1");
}
Der Aufruf müsste so sein:
https://domain.de/datei.php?Eigenschaften=name
https://domain.de/datei.php?Eigenschaften=gebdatum
Und ich würde dies so ändern.
Dann wird ohne Parameter die Liste nicht sortiert.
https://domain.de/datei.php?Eigenschaften=name
https://domain.de/datei.php?Eigenschaften=gebdatum
Und ich würde dies so ändern.
Dann wird ohne Parameter die Liste nicht sortiert.
switch (filter_var($_GET["Eigenschaften"], FILTER_SANITIZE_STRING))
{
case "name":
$sql = "select name, gebdatum FROM personal ORDER BY name";
break;
case "gebdatum":
$sql = "select name, gebdatum FROM personal ORDER BY gebdatum";
break;
default:
$sql = "select name, gebdatum FROM personal";
break;
}