Datenbank in HTML einbinden?
Hallo,
Ich soll eine My SQL Datenbank in einer HTML Seite einbinden. Desweiteren soll ich Ajax und Javascript benutzen.
Ich habe mich die letzten Tage in PHP usw... eingelesen und viel getestet aber es klappt nicht.
Entweder wird mir der PHP Code angezeigt oder der Code klappt gar nicht. Ich habe beide Dateien in der htdocs Datei von Xampp gespeichert.
Könnte mir jemand helfen?
Ich benutze Xampp für die Datenbank und Atom fürs Programmieren.
Ich kann problemlos eine HTML Seite mittlerweile erstellen aber ich bekomme die Datenbank Abfrage seiten Benutzer nicht hin und das die Datenbank mir Datensätze anzeigt.
Ich danke.
4 Antworten
Du machst ein File connection.php mit dem Inhalt (Die Variablen nach deinen Angaben definieren):
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$database = "databasename"
// Create connection
$conn = new mysqli($servername, $username, $password, $database);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully";
?>
Anschliessend eine PHP Datei mit .php (z.B. index.php). Du kannst in derPHP Datei auch HTML schreiben und dann einen Abschnitt im body der Datei so schreiben.
<html>
<head>
<title>Test</title>
</head
<body>
<?php
include("connection.php");
?>
</body>
</html>
Wenn du die Datei im C:\xampp\htdocs hast und anschliessend im Browser (localhost/index.php) öffnest sollte dieser Text erscheinen: Connected succesfully
Insgesamt hast du jetzt einfach eine externe php-datei inkludiert mit der Datenbank-Verbinden. Achte darauf dass beide Dateien im C:\xampp\htdocs sind.
Die Datei, in der dein PHP-Code steht, muss auf .php enden. Nur dann wird der darin enthaltene Code aus ausgeführt. Mit HTML alleine geht das was Du vor hast nicht.
Hast du auch die Datei .php genannt? Und ebenfalls in htdocs gelegt? Xampp ist ein Webserver, keine Datenbank. Die Datenbank ist MySQL. Und PHP muss auch im Webserver laufen
Es gibt unzählige Tutorials. Schau doch einfach mal durch
https://www.w3schools.com/php/php_mysql_connect.asp
Zeig Mal den Code
index.php:<?php require('db.php');
$db_resulat = mysqli_querry($db_link,"Select `Betriebsname`,`Ansprechpartner`,`Bewerbungsmöglichkeiten` FROM betrieb")
or die ("Fehler: " . mysqli_error($db_link));
while($row =mysqli_fetch_array($db_resulat);)
{
echo('<p> . $row['Betriebsname'] . </p>');
}
?>
db.php:
<?php
$db_link=mysqli_connect ('localhost','root','','projekt');
if (!db_link)
{
die("<p keine Verbindung mit der Datenbank>/p>");
}
?>
HTML Seite:
<!Doctype html>
<html lang="de">
<!--Hier beginnt der Head, der nicht sichtbare Teil der Zustzinformationen zu deiner Website gibt.-->
<head>
<title>Praktikumsbetriebe</title>
<meta charset="utf-8">
<meta name="description" content="Praktikumsbetriebe per Abfrage über eine Datenbank suchen">
<meta name="keywords" content="Praktikumsbetriebe, Datenbank">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="https://cdn.simplecss.org/simple.min.css">
<style>
p {
color: white
}
</style>
</head>
<body>
<?php
include 'index.php';
?>
</body>
</html>
1) Die Funktion heißt mysqli_query mit nur einem r.
2) Rechtschreibfehler: Resultat, nicht resulat.
3) Du übergibst echo nur einen statischen String:
echo('<p> . $row['Betriebsname'] . </p>');
Korrektur:
echo('<p>' . $row['Betriebsname'] . '</p>');
4) Der PHP-Block (bzw. zumindest für die Ausgaben) gehören in den body-Part deines Dokuments.
Die Verbindung zwischen PHP und Datenbank bekomme ich auch hin. Größtes Problem ist die Abfrage an sich.
Dateien heißen .php außer die Webseite die endet auf .HTML.
Verbindung klappt und Webseite klappt aber das Abfragen/Anzeigen nicht.
Habe zwei PHP Daten einmal für die Verbindung und einmal für quasi die Datenverarbeitung.
Dann als HTML - Datei die Webseite.
Alles in HT docs angelegt.