Search code examples
phphtmlmysqlajaxecho

Show Output/Echo of PHP File executing at load on webpage


im trying to create my first website and Im clueless in this case. So I have a MySQL-Database with a table. And I have a php-File called database.php which reads from the database and echos all the lines of a query:

<?php
$servername = "xxxxxxxxxx.hosting-data.io";
$username = "xxxxxxxx";
$password = "xxxxxxx";
$dbname = "xxxxxxx";

// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}

$sql = "SELECT ID, Name, Beschreibung, Datum, Uhrzeit FROM Termine";
$result = mysqli_query($conn, $sql);

if (mysqli_num_rows($result) > 0) {
    // output data of each row
    while($row = mysqli_fetch_assoc($result)) {
        echo "ID: " . $row["ID"]. " - Name: " . $row["Name"]. " - Beschreibung: " . $row["Beschreibung"].  " - Datum: " . $row["Datum"]. " - Uhrzeit: " . $row["Uhrzeit"]."<br>";
    }
} else {
    echo "0 results";
}

mysqli_close($conn);
?>

Now on my index.php I want to execute this php-code on calling/loading the webpage and print all the lines (data entries). But i have no idea how to get the echo (=data entries) of the php file printed in the body of my webpage. I read about AJAX and using a js-script but I still wasnt able to figure it out.

Thanks for your help.


Solution

  • Option 1: Place your PHP code inside the HTML body.

    <!DOCTYPE html>
    <html>
    <head>
        <title></title>
    </head>
    <body>
      <?php
        echo 'Hello World'; 
        // ...
      ?>
    </body>
    </html>
    

    Option 2: Create a separate PHP file containing your code above and include/require it into your body.

    <!DOCTYPE html>
    <html>
    <head>
        <title></title>
    </head>
    <body>
      <?php
        include_once('your_php_file.php');
      ?>
    </body>
    </html>
    

    Option 3: Call your PHP file using an AJAX call (e.g. by using jQuery load()).

    <!DOCTYPE html>
    <html>
    <head>
        <title></title>
    </head>
    <body>
      <div id="aDiv"></div>
      <script> $( "#aDiv" ).load('your_php_file.php', function() { console.log('Loaded'); });</script>
    </body>
    </html>