2016-04-28 7 views
0

Ich bin ein Anfänger in PHP. Ich möchte Daten aus einer MySQL-Datenbank mit PHP und HTML-Seite auswählen und anzeigen.Anzeige von Daten von MySQL-Datenbank mit PHP & HTML Seite

Ich möchte, dass sowohl die PHP- als auch die HTML-Dateien getrennt werden, da ich jQuery Mobile und Phonegap verwenden werde, und Phonegap keine PHP-Dateien unterstützt, also muss ich die PHP-Datei auf einen Webserver stellen.

Ich habe schon versucht, nach einem Tutorial zu suchen, aber buchstäblich jedes Tutorial im Internet zeigt, wie man alles in einer einzigen PHP-Seite macht.

Hier ist mein Code, der gut arbeitet, aber die in einer einzigen Php-Datei:

<html> 
<head> 
    <title> Display Data </title> 
</head> 
<body> 
    <table border=1 cellpadding=1 cellspacing=1> 
     <tr> 
      <th> ID </th> 
      <th> Name </th> 
      <th> Email </th> 
     </tr> 
<?php 
    //Create Connection with MySQL Database 
    $con = mysqli_connect('localhost','root','12345'); 

    //Select Database 
    if(!mysqli_select_db($con,'profiles')) 
    { 
     echo "Database Not Selected"; 
    } 
    //Select Query 
    $sql = "SELECT * FROM users"; 

    //Execute the SQL query 
    $records = mysqli_query($con,$sql); 

    while($row = mysqli_fetch_array($records)) 
    { 
     echo "<tr>"; 
     echo "<td>".$row['ID']."</td>"; 
     echo "<td>".$row['Name']."</td>"; 
     echo "<td>".$row['Email']."</td>"; 
    } 
?> 
    </table> 
</body> 
</html> 

Sie für Ihre Zeit im Voraus danken.

+4

Sie suchen nach einer Technik namens Ajax suchen. – Daan

+0

Wenn Sie jquery mobile verwenden, werfen Sie einen Blick auf [jQuery.ajax] (http://api.jquery.com/jquery.ajax/) –

Antwort

3

Sie können etwas in dieser Richtung versuchen. Denken Sie daran, dass die Datei getemployes.php eine Ausgabe in einem Format generieren muss, das direkt in das div eingefügt werden kann, um in Ihrem Fall wie eine Tabelle zu sein. Andernfalls können Sie sich auf die JSON-Antwort verlassen und dann die JSON-Datensätze durchlaufen und die Ausgabe auf der Clientseite generieren.

HTML Datei:

<html> 
    <head> 
     <title> Display Data </title> 
     <script> 
      function getEmployees() { 
      if (window.XMLHttpRequest) { 
       // code for IE7+, Firefox, Chrome, Opera, Safari 
       xmlhttp = new XMLHttpRequest(); 
      } else { 
       // code for IE6, IE5 
       xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
      } 
      xmlhttp.onreadystatechange = function() { 
       if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { 
        document.getElementById("txtHint").innerHTML = xmlhttp.responseText; 
       } 
      }; 
      xmlhttp.open("GET","getemployees.php",true); 
      xmlhttp.send(); 

     } 
     </script> 
    </head> 
    <body> 
     <div id="txtHint"></div> 
     <script>getEmployees();</script> 
    </body> 
</html> 

PHP-Datei:

<!DOCTYPE html> 
<html> 
    <head> 
    </head> 
    <body> 

     <?php 
      //Create Connection with MySQL Database 
      $con = mysqli_connect('localhost','root','12345'); 

      //Select Database 
      if(!mysqli_select_db($con,'profiles')) 
      { 
       echo "Database Not Selected"; 
      } 
      //Select Query 
      $sql = "SELECT * FROM users"; 

      //Execute the SQL query 
      $records = mysqli_query($con,$sql); 

      echo "<table border=1 cellpadding=1 cellspacing=1> 
       <tr> 
        <th> ID </th> 
        <th> Name </th> 
        <th> Email </th> 
       </tr>"; 
      while($row = mysqli_fetch_array($records)) { 
       echo "<tr>"; 
       echo "<td>" . $row['ID'] . "</td>"; 
       echo "<td>" . $row['Name'] . "</td>"; 
       echo "<td>" . $row['Email'] . "</td>"; 
       echo "</tr>"; 
      } 
      echo "</table>"; 
      mysqli_close($con); 
     ?> 
    </body> 
</html> 
+1

OP hat jQuery mobile getaggt, daher wird jQuery höchstwahrscheinlich verfügbar sein. '$ (" # txtHint "). load (" getemployees.php ");' ist ein bisschen einfacher :-) –