Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/259.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在平面HTML表中显示规范化的MySQL数据?_Php_Html_Mysql - Fatal编程技术网

如何使用PHP在平面HTML表中显示规范化的MySQL数据?

如何使用PHP在平面HTML表中显示规范化的MySQL数据?,php,html,mysql,Php,Html,Mysql,我想以表格格式显示这些数据,如 <table border='1'> <tr> <th>Firstname</th> <th>Lastname</th> <th>City</th> <th>State</th> <th>Phone</th> </tr&g

我想以表格格式显示这些数据,如

<table border='1'>
    <tr>
        <th>Firstname</th>
        <th>Lastname</th>
        <th>City</th>
        <th>State</th>
        <th>Phone</th>
    </tr>

如何展平规范化数据以在上面的表结构中显示?

您可以在查询中对输出数据进行反规范化,如下所示(在
userdb\u id
上分组):

然后在php中,只需像在平面表中一样循环遍历结果

<thead>
    <tr>
        <th>Firstname</th>
        <th>Lastname</th>
        <th>City</th>
        <th>State</th>
        <th>Phone</th>
    </tr>
</thead>
<tbody>
<?php while ($row = mysqli_fetch_assoc($result)) { ?>
    <tr>
        <td><?=$row['first_name']?></td>
        <td><?=$row['last_name']?></td>
        <td><?=$row['city']?></td>
        <td><?=$row['state']?></td>
        <td><?=$row['phone']?></td>
    </tr>
<?php } ?>
</tbody>

第二个表是mysql表吗?是“是”,是否要从表中检索值并在浏览器中显示?请更清楚一点。您所说的“
分隔
”的确切含义是什么?您在该表中是否有
用户id
?表名为
userdbelements
?对不起,是的,我正在从数据库中检索。是的,表是
userdbelements
。还有一列叫做
userdb\u id
Ok,调整了我的答案。。。这应该适用于Yadha。事实上,我是从两个表中获取数据的,我的查询如下:
$sql=“SELECT*from orodha_en_userdbelements,orodha_en_userdbelements.userdb_id=orodha_en_userdb.userdb_id和userdb_id=”$q.“;,因此,我不知道如何添加此
抱歉,我知道了。我成功了!!非常感谢Steven Moseley更新了查询,以显示如何使用另一个表上的联接对其进行分组。以后,试着用你的实际表格结构和你要解决的问题发布你的问题。当然。我将在下一篇文章中处理这个问题。再次感谢你
SELECT
    MAX(CASE WHEN userdbelements_field_name = 'user_first_name' 
        THEN userdbelements_field_value ELSE NULL END) AS first_name,
    MAX(CASE WHEN userdbelements_field_name = 'user_last_name' 
        THEN userdbelements_field_value ELSE NULL END) AS last_name,
    MAX(CASE WHEN userdbelements_field_name = 'City' 
        THEN userdbelements_field_value ELSE NULL END) AS city,
    MAX(CASE WHEN userdbelements_field_name = 'state' 
        THEN userdbelements_field_value ELSE NULL END) AS state,
    MAX(CASE WHEN userdbelements_field_name = 'zip' 
        THEN userdbelements_field_value ELSE NULL END) AS zip,
    MAX(CASE WHEN userdbelements_field_name = 'phone' 
        THEN userdbelements_field_value ELSE NULL END) AS phone,
FROM userdbelemnts
GROUP BY userdb_id
<thead>
    <tr>
        <th>Firstname</th>
        <th>Lastname</th>
        <th>City</th>
        <th>State</th>
        <th>Phone</th>
    </tr>
</thead>
<tbody>
<?php while ($row = mysqli_fetch_assoc($result)) { ?>
    <tr>
        <td><?=$row['first_name']?></td>
        <td><?=$row['last_name']?></td>
        <td><?=$row['city']?></td>
        <td><?=$row['state']?></td>
        <td><?=$row['phone']?></td>
    </tr>
<?php } ?>
</tbody>
SELECT
    orodha_en_userdb.*,
    MAX(CASE WHEN userdbelements_field_name = 'user_first_name' 
        THEN userdbelements_field_value ELSE NULL END) AS first_name,
    MAX(CASE WHEN userdbelements_field_name = 'user_last_name' 
        THEN userdbelements_field_value ELSE NULL END) AS last_name,
    MAX(CASE WHEN userdbelements_field_name = 'City' 
        THEN userdbelements_field_value ELSE NULL END) AS city,
    MAX(CASE WHEN userdbelements_field_name = 'state' 
        THEN userdbelements_field_value ELSE NULL END) AS state,
    MAX(CASE WHEN userdbelements_field_name = 'zip' 
        THEN userdbelements_field_value ELSE NULL END) AS zip,
    MAX(CASE WHEN userdbelements_field_name = 'phone' 
        THEN userdbelements_field_value ELSE NULL END) AS phone,
FROM orodha_en_userdbelements
    INNER JOIN orodha_en_userdb
    ON orodha_en_userdbelements.userdb_id = orodha_en_userdb.userdb_id
WHERE orodha_en_userdb.userdb_id = $id
GROUP BY orodha_en_userdb.userdb_id