Datenbank in HTML einbinden?

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.

Woher ich das weiß:Berufserfahrung – mit dem Internet verbunden seit 1993

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


Fsjler 
Beitragsersteller
 15.01.2022, 22:57

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.

1
DodgeRT  15.01.2022, 23:00
@Fsjler

Ja ohne Code kann ich jetzt auch nur sagen, Vergleich mit dem Tutorial

0
Fsjler 
Beitragsersteller
 15.01.2022, 23:15
@DodgeRT

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>

0
DodgeRT  15.01.2022, 23:19
@Fsjler

Du kannst in HTML kein PHP verwenden. Des muss auch auf .php enden

0
Fsjler 
Beitragsersteller
 15.01.2022, 23:21
@DodgeRT

Aber die Php Datei ist soweit in Ordnung?

0
regex9  15.01.2022, 23:24
@Fsjler

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.

1

Die Verbindung zwischen PHP und Datenbank bekomme ich auch hin. Größtes Problem ist die Abfrage an sich.