Ich bin ein Anfänger in PHP. Ich entwickle gerade eine Website, wo Ich möchte im Bootstrap table
die Daten anzeigen, die von 2 verschiedenen Tabellen in der MySQL Datenbank kommen. Die zwei Tabellen sind Client und Benutzeraccounts. Ich möchte ihre Daten in einer einzigen Zeile anzeigen. Hier ist, was ich habe jetzt: (Please Click to see the image) Wie man auf dem Foto sehen kann, mein Problem ist, Ich kann nur die Daten aus der Client Tabelle angezeigt werden, aber nicht von den Useraccounts Tabelle. Die leeren Zellen in der Bootstrap-Tabelle sollten die Daten sein, die von der useraccounts Tabelle kommen, aber ich konnte es nicht anzeigen.(PHP) Wie man Daten von 2 verschiedenen Tabellen in der Datenbank zu einer Bootstrap-Tabelle anzeigt
Hier ist mein Tisch für Client und Useraccounts:(tables) Please click the image
Ihre Hilfe wird sehr geschätzt. Hier ist mein Code:
<?php
echo "<table style='cursor: pointer;' class='table table-hover table-striped
table-bordered table-responsive ' >";
echo "<tr>
<th>Company Name</th>
<th>Contact Person</th>
<th>Client Address</th>
<th>Contact no.</th>
<th>E-mail</th>
<th>User Birthdate</th>
<th>User Mobile no.</th>
<th>Username</th>
<th>User Fistname</th>
<th>User Lastname</th>
<th>User Birthdate</th>
</tr>";
class TableRows extends RecursiveIteratorIterator {
function __construct($it) {
parent::__construct($it, self::LEAVES_ONLY);
}
function current() {
return "<td>" . parent::current(). "</td>";
}
function beginChildren() {
echo "<tr class='table table-hover'>";
}
function endChildren() {
echo "</tr>" . "\n";
}
}
$servername = "mysql5013.hostbuddy.com";
$username = "*****_crb";
$password = "*****";
$dbname = "db_*****_crb";
try {
//data from client table
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username,
$password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $conn->prepare("SELECT cli_company_name, cli_contact_person,
cli_address, cli_contactno, cli_email FROM client WHERE status=1 ");
$stmt->execute();
// set the resulting array to associative
$result = $stmt->setFetchMode(PDO::FETCH_ASSOC);
//data from useraccounts table
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt2 = $conn->prepare("SELECT username, user_fname, user_lname, user_bdate
FROM useraccounts WHERE status=1 AND
company_name='".$result['cli_company_name']."' ");
$stmt2->execute();
// set the resulting array to associative
$result2 = $stmt2->setFetchMode(PDO::FETCH_ASSOC);
foreach(new TableRows(new RecursiveArrayIterator($stmt->fetchAll())) as
$k=>$v) {
echo $v;
}
foreach(new TableRows(new RecursiveArrayIterator($stmt2->fetchAll())) as
$l=>$w) {
echo $w;
}
}
catch(PDOException $e) {
echo "Error: " . $e->getMessage();
}
$conn = null;
echo "</table>";
?>
Klingt wie ein Job für .... [JOIN] (https://dev.mysql.com/doc/refman/5.7/en/join.html) s. –
Gibt es eine Mapping-Spalte zwischen 'user'- und' client'-Tabellen? –
@DarshanMehta Ich aktualisiere es bereits, da die Tabellen meiner Datenbank –