ユーザーの情報(Log_Nameを含む)、ログ(Loginを見つけることができる)、および評価(ユーザーが「評価」に回答したかどうか)を含む3つのテーブルがあります。すべてuser_idフィールドで接続されています。
私はそれを次のようにphpで出力したいと思います:

これを解決するのを手伝ってくれませんか。
編集: 誰かが私が最初にLog_Nameをループし、そのループ内でログインをループしてからそれらをテーブルに表示することを提案しました。しかし、私はそれをどのように行うのか分かりません。
GROUP_CONCATを見てください
<?php
session_start();
require_once "common.php";
$sql = "SELECT *,GROUP_CONCAT(log.date) as login_date FROM user INNER JOIN log ON log.user_id = user.id INNER JOIN evalution ON evalution.user_id = user.id GROUP BY user.id";
$result = mysql_query($sql) or die(mysql_error());
?>
<table width="40%" border=1>
<tr>
<td>Log_Name</td>
<td>Login</td>
<td>Evalution</td>
</tr>
<?php
while($row = mysql_fetch_assoc($result))
{
?>
<tr>
<td><?php echo $row['name'];?></td>
<td><?php echo str_replace(",","<br/>",$row['login_date']); ?></td>
<td><?php echo $row['evalution']; ?></td>
</tr>
<?php
}
?>
</table>
GROUP_CONCAT(log.date)は、コンマ区切りの日付リストを返し、必要に応じて表示できます。
評価を別の表として置くことの理由はどこにありますか?ともかく:
SELECT u.Log_Name, l.log_time, e.evaluation FROM users_info u LEFT JOIN logs l ON l.user_id = u.user_id LEFT JOIN evaluation e ON e.user_id = u.user_id WHERE u.user_id = 'id'
その後、必要なテーブルをHTML行スパンで表示します。
のアイデアを取り除き、句DISTINCTを使用することをお勧めします。ORDER BY次に、関連するグループがいつ変更されるかを確認することで、フロントエンドでグループ化できます。MySQLを使用するトリックもある可能性がありますGROUP BYが、他のRDBMSには変換されません。