MySQL データベース (phpBB3 で作成) からユーザー/プロファイル情報を HTML ページに表示しようとしています。名前、住所、電話番号、Web サイト、およびその他のさまざまなプロファイル フィールドなど、すべてのユーザーのリストを表示する Web サイトにパブリック (phpBB とは関係ありません) ページを作成したいと考えています。この情報がすべて 1 つのテーブルにあれば、問題はありません。しかし、phpBB はカスタム プロファイル エントリを別のテーブルに一覧表示します。私は、php や MySQL のクエリはあまり得意ではありません。私の人生では、テーブルをマージすることはできません。私はこのコードの約 50 の異なるバージョンを持っていますが、どれも思い通りに動作しません。
<?php
$con = mysql_connect( 'hostname', 'username', 'password' );
$db = mysql_select_db( 'dbname' );
//now write a select query to fetch the records from the table
$sql = "select * from phpbb_users";
$query = mysql_query( $sql );
echo "<table border=1>";
//now read and display the entire row of a table one by one looping through it.
//to loop we are using While condition here
while( $row = mysql_fetch_assoc($query) )
{
echo "<tr><td>$row[user_email]</td>";
echo "<td>$row[user_website]</td>";
echo "<td>$row[user_avatar]</td></tr>";
}
echo "</table>";
$sql = "select * from phpbb_profile_fields_data";
$query = mysql_query( $sql );
echo "<table border=1>";
//now read and display the entire row of a table one by one looping through it.
//to loop we are using While condition here
while( $row = mysql_fetch_assoc($query) )
{
echo "<tr><td>$row[pf_name]</td>";
echo "<td>$row[pf_business]</td>";
echo "<td>$row[pf_address]</td>";
echo "<td>$row[pf_phone]</td>";
echo "<td>$row[pf_officer]</td></tr>";
}
echo "</table>";
?>
これにより、含めるすべてのデータを含む 2 つの個別のテーブルが表示されます。これらのテーブルを 1 つとして表示したいだけです。2 番目のテーブルには、最初に表示したい情報が含まれていますが、最初のテーブルの残りのデータとインラインになっています。私はこれがばかげた質問であることを知っています. ごめんなさい。実現しようとする前は、これはとても簡単に思えました。ご協力いただきありがとうございます!:)
更新されたコード:
<?php
$con = mysql_connect( 'hostname', 'username', 'password' );
$db = mysql_select_db( 'dbname' );
$sql = "select * from phpbb_users left join phpbb_profile_fields_data on phpbb_profile_fields_data.user_id = phpbb_users.id";
$query = mysql_query( $sql );
echo "<table>";
while( $row = mysql_fetch_assoc($query) )
{
echo "<tr><td>$row[user_avatar]</td>";
echo "<td>$row[pf_name]</td>";
echo "<td>$row[pf_business]</td>";
echo "<td>$row[pf_address]</td>";
echo "<td>$row[pf_phone]</td>";
echo "<td>$row[user_email]</td>";
echo "<td>$row[user_website]</td>";
echo "<td>$row[pf_officer]</td></tr>";
}
echo "</table>";
?>