Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在一个表中显示不同列和非不同列_Php_Mysql - Fatal编程技术网

Php 在一个表中显示不同列和非不同列

Php 在一个表中显示不同列和非不同列,php,mysql,Php,Mysql,我有3个表,其中一个表包含用户信息(包括日志名)、日志(您可以在其中找到登录名)和评估(如果用户回答了“评估”与否)。所有都通过用户id字段连接 我希望以以下方式在php中输出它: 你能帮我解决这个问题吗 编辑: 有人建议我首先循环logu名称,在该循环中,我将循环登录名,然后在表中显示它们。但是我不知道该怎么做。我建议摆脱DISTINCT的概念,只使用orderby子句。然后,通过检查相关组何时更改,可以在前端进行分组。使用MySQLgroupby可能还有一个技巧,但它不会转换为其他RDBM

我有3个表,其中一个表包含用户信息(包括日志名)、日志(您可以在其中找到登录名)和评估(如果用户回答了“评估”与否)。所有都通过用户id字段连接

我希望以以下方式在php中输出它:

你能帮我解决这个问题吗

编辑:
有人建议我首先循环logu名称,在该循环中,我将循环登录名,然后在表中显示它们。但是我不知道该怎么做。

我建议摆脱
DISTINCT
的概念,只使用
orderby
子句。然后,通过检查相关组何时更改,可以在前端进行分组。使用MySQL
groupby
可能还有一个技巧,但它不会转换为其他RDBMS

将评估作为一个不同的表格的原因在哪里?无论如何:

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行跨度的表

看一看


日志名称
登录
创新与进化

GROUP_CONCAT(log.date)将返回逗号分隔的日期列表,然后您可以根据需要显示它。

我将评估放在不同的表上,因为他们每天可以登录多次,但他们必须回答一次评估。谢谢!:)如何显示这个?对不起!:'(重复的问题@w0rldart这是一个不同的问题。正如您所看到的,这一个涉及sql,而另一个用于显示。
<?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>