Daten aus MySQL auf Website darstellen?

5 Antworten

Nach allem, was ich gelesen habe, soll es sehr umständlich sein, MySQL in JavaScript zu verbinden.

Da gehört es auch nicht hin, wenn es nicht serversided ausgeführt wird. Denn du wirst kaum den Connection-String mitsamt den Zugangsdaten für die Datenbank an einen dir möglicherweise völlig unbekannten Client versenden wollen.

Löse sowas innerhalb von PHP direkt auf dem Server und sende die fertigen Daten zur Anzeige an den Client. Alles Andere kann für Webseiten mit Datenbankanbindung nur bedeuten, dass du nicht sonderlich lange Herr über die Datenbank bist.

Das sind halt eigentlich mehrere Fragen in einer, die nicht so schnell schnell beantwortet werden können. Es gibt verschiedene Möglichkeiten und je nach genauem Ziel, das du verfolgst, wird es so oder so gemacht. Ich kann dir hier einfach ein paar Grundsätze zeigen.

Um Daten aus einer MySQL-Datenbank abzufragen solltest du erstmal JavaScript bei Seite legen und es mit php versuchen. Wenn das klappt kannst du das Script danach auch mit JavaScript verwenden. Jetzt ist auch erstmal nicht klar, wie weit du schon Kenntnisse hast...

Hier mal ein Beispiel in php:

<?php
# Verbindung zur Datenbank herstellen. "localhost" so lassen.
$connection = mysqli_connect('localhost', $username, $password, $database);

# Daten aus der Datenbank holen
$result = mysqli_query($connection, 'SELECT * FROM deine_tabelle');

# Wenn mindestens 1 Eintrag gefunden, wird while() ausgeführt:
if(mysqli_num_rows($result) > 0) {

  	# Jede gefundene Zeile aus der Tabelle nacheinander ausgeben
  	while($row = mysqli_fetch_assoc($result)) {
  		print_r($row);
  	}
  }

Wenn du das Prinzip der Abfrage verstanden hast, kannst du fortfahren. Da wo "SELECT..." steht, kannst du auch näher eingrenzen, was du ausgeben willst. Da kann man auch definieren, dass man nur einen einzigen Eintrag laden möchte. Das ist die MySQL-Abfrage (oder auch query).

Ich benutze print_r(). Das ist ähnlich wie echo, aber gibt einen Array komplett aus.

Wenn das alles klappt, kann JavaScript ran. Speichere deinen funktionierenden Code, der Daten aus der Datenbank holt und dann kannst du das JavaScript schreiben. Stichwort "Ajax", falls du googeln willst.

xhr = new XMLHttpRequest();
xhr.open("GET", "deinPhpScript.php", true);
xhr.onload = function() {
	if(xhr.readyState === xhr.DONE) {
		if(xhr.status === 200) {
			document.getElementById("deinDiv").innerHTML = xhr.responseText;
		}
	}
};

Mit diesem JS-Code wird dein php-Script aufgerufen und ausgeführt. Das passiert im Hintergrund und bekommst du nicht mit. Es gibt verschiedene Methoden, das zu tun. Das ist halt eine davon. Wenn die Abfrage erfolgreich war, wird das Ergebnis in einen Tag auf der Seite eingefügt, in der das JavaScript ausgeführt wird. Erstelle also ein div mit einer ID (keine Klasse!).

Ja wie gesagt... grob halt. Da fragst du gleich nach drei größeren Themen, die nicht ausführlich in so einer Antwort hier Platz haben.

PAULL421 
Fragesteller
 18.05.2023, 10:58

hat funktioniert. Die Abfrage in PHP lief schon vorher in anderen Website, JS bzw. Ajax war dafür Neuland. Jetzt, wo das PHP Script ausgeführt wird, komme ich weiter. Danke :)

0

https://www.php-einfach.de/mysql-tutorial/crashkurs-pdo/

Arbeite erstmal dieses Tutorial durch. Dann sehen wir weiter. Das fragt die Datenbank ausschliesslich mit PHP ab.

Sagt dir Ajax was?

Das wäre tatsächlich so: Mit JavaScript löst man einen Request aus. Das ist ein Senden von Daten an ein serverseitiges PHP Script, welches die Datenbank abfragt. Das PHP schickt nach Abfrage eine Response mit den Abfrageergebnis an eine Callbackfunktion im JavaScript zu. Die Daten werden dann dynamisch in das HTML Gerüst eingebaut.

Zu Ajax gibt es viele Tutorials. Und mit Jquery erleichterst du dir die Arbeit.

Woher ich das weiß:Berufserfahrung – Web Developer bei einem mittelständischen Portalbetreiber

Dein Vorgehen hört sich sehr sehr umständlich an.

Erstelle doch ganz einfach eine PHP Datei die die Webseite beinhaltet.

Bei dem Buttondruck z.b. Formular Button die gleiche Seite aufrufen und die Daten des Button auswerten. Danach die SQL abfragen und die Daten in die Website integrieren.

Cookies oder sonstige umständlichen Datenaustausch zu einem JS brauchst du so erst gar nicht.

Nur eine Website und nur PHP, wenn ich deine Aufgabe richtig verstanden habe

Woher ich das weiß:Berufserfahrung
NackterGerd  02.08.2023, 10:00

Die SQL läuft doch im Backend auf dem Server.

Dein JS auf dem Frontend auf dem Browser

Cookies und Echo sind doch dafür vollkommen ungeeignet

Warum benutzt du nicht ganz einfach PHP

Läuft auf dem Server und ist doch für SQL gut geeignet

0