Datenbank Inhalt mit Select-HTML-Feld auswählen?
Hallo,
ich würde gerne die Datentabellen einer Datenbank auslesen und dann eine Tabelle mit Hilfe von einem <select>-Feld auswählen und deren Daten ausgeben...
Hat jemand Tips oder Codes? Bitte für mysql (PDO)...
Danke im Vorfeld
2 Antworten
PDO wird hier erklärt: https://www.php.net/manual/de/book.pdo.php. Zu den einzelnen Funktionen gibt es auch einzelne Artikelseiten mit Beispielcodes, etc..
Für das Auswahlfeld brauchst du an sich nur ein Formular mit select-Element und Button. Bei initialer Anfrage der Seite werden alle Tabellennamen ausgelesen.
Dieser SQL-Query kann dir da als Basis dienen:
SELECT table_name FROM information_schema.tables;
Jeder Tabellenname wird in ein option-Element gerendert, nach Absenden des Formulars brauchst du nur das gewählte Element ermitteln (Stichwort $_GET / $_POST), die Daten validieren und den SELECT-Query bauen, der gegen das DBMS gefeuert wird.
pdo
https://www.php-einfach.de/mysql-tutorial/crashkurs-pdo/
der rest ist ja trivial
Ich weiß mit PDO umzugehen, jedoch muss ich "users" mit einer Auswahl austauschen...
SELECT * FROM users
also z.Bsp:
SELECT * FROM $var
Jedoch hat jenes nicht bei mir funktioniert...
??? du willst mehere selects machen ? oder weisst du nicht wie du an die feldnamen kommst ?
Schau dir Prepared Statements an https://www.php.net/manual/de/pdo.prepare.php). In diesen würdest du für den Tabellennamen einen Platzhalter angeben und diesen später (bei Aufruf von execute) explizit binden.
Innerhalb von doppelten Anführungszeichen werden Variablen auch ausgewertet. Aber achte darauf, die Daten, die du in einen Query einfügst, vorher ausreichend zu validieren, um eine mögliche SQL-Injection zu verhindern.
Kann man
auf eine spezielle Datenbank anwenden, weil gerade gibt er mir alle Tabellen aus...