2016-11-15 4 views
0

Ich versuche, Informationen aus meiner SQL-Datenbank in eine HTML-Tabelle zu ziehen. Wenn ich dies versuche, bekomme ich "0 results", aber ich kann eine Verbindung zu meiner DB herstellen, und auch SQL läuft in MySQL Workbench völlig in Ordnung. Es scheint, dass $ Ergebnis ist nicht größer als 0 und ich bin mir nicht sicher, warum das der Fall wäre. Es funktionierte früher, als ich Joins nicht in meine SQL-Abfrage einfügte, aber wie gesagt, es funktioniert in MySQL-Workbench.Importieren von Daten aus SQL-Datenbank in HTML-Tabelle

<html> 
<head><title>Employee</title> 
</head> 
<pre> 
<body> 
    <center><strong><a href="manager.html">Main Page</a></strong></center> 
    <?php 
$servername = "localhost"; 
$username = "root"; 
$password = "root"; 
$conn = new mysqli($servername,$username,$password); 
if($conn->connect_error){ 
    die("connection failed: " . $conn->connect_error); 
} 
$sql = "SELECT first_name, last_name, email, address.address, 
address.district, address.postal_code, address.phone, country.country 
FROM staff 
JOIN address ON staff.address_id = address.address_id 
JOIN city ON address.city_id = city.city_id 
JOIN country ON city.country_id = country.country_id"; 
$result = $conn->query($sql); 

if ($result->num_rows > 0) { 

    echo"<table>"; 
    echo("<table border = \"1\">"); 
    print("<tr>"); 
    print("<th>First Name</th>"); 
    print("<th>Last Name</th>"); 
    print("<th>Email</th>"); 
    print("<th>Address</th>"); 
    print("<th>District</th>"); 
    print("<th>Postal Code</th>"); 
    print("<th>Phone</th>"); 
    print("<th>Country</th>"); 
    while($row = $result->fetch_assoc()) { 
     echo "<tr><td>" . $row["staff.last_name"]. "</td><td>" . $row["staff.first_name"]. 
     "</td><td>" . $row["staff.email"]. "</td><td>" . $row["address.address"] . "</td><td>" . 
     $row["address.district"] . "</td><td>" . $row["address.postal_code"] . "</td><td>" . 
     $row["address.phone"] . "</td><td>" . $row["country.country"] . "</td></tr>"; 
    } 
} else { 
    echo "0 results"; 
} 
echo"</table>"; 
$conn->close(); 

?> 

</body> 
</pre> 
</html> 
+1

Wo definieren und wählen Sie die zu verwendende Datenbank aus? –

+0

Sie brauchen kein Echo pro Zeile –

Antwort

2

Die mysqli_connect() Funktion 4 Parameter hat, ist der 4. der Name Ihrer Datenbank

<?php 
$servername = "localhost"; 
$username = "root"; 
$password = "root"; 
$dbname = 'Something'; 

$conn = new mysqli($servername,$username,$password, $dbname); 

Im Zweifelsfall See the manual

Sie auch in die Gewohnheit sollten Testen, ob ein Datenbankzugriff funktioniert hat oder nicht, bevor Sie fortfahren, die Fehlermeldung ist normalerweise sehr gut darin, Ihnen zu helfen, Ihren Code zu debuggen

$result = $conn->query($sql); 
if (!$result) { 
    echo $conn->error; 
    exit; 
} 
0

Hinzufügen von PHP-Code, der für verwendet, um Daten aus der Tabelle in html-Datei einbetten zu erhalten, ist keine gute thing.so es besser ist, wenn Sie separate PHP-Datei verwenden Daten aus der Tabelle in einer Art und Weise abzurufen, Sie können die Tabelleninformationen Ihrer Datenbank schützen.

Ich habe eine PHP-Datei verwendet, um Daten abzurufen und konvertierte das Ergebnis als JSON-Daten in PHP-Datei ausgegeben. Diese JSON-Ausgabe aus 'SetData.js' -Datei gelesen und diese Datei für die Tabelle innerhalb der HTML-Datei.

ich habe dieses Beispiel in meinen GitHub eingefügt, so dass Sie es beziehen können. here's my github repository.

Verwandte Themen