繁体   English   中英

在 PHP 中存储 JOIN 值并将它们显示为表格

[英]Storing JOIN Values in PHP and showing them as a table

我有以下 SQL 查询:

SELECT tbltasks.fldTaskNr
    ,tbltasks.fldRITMNr
    ,tbltasks.fldCHGNr
    ,tblci.fldCI
    ,tblgxp.fldGxP
    ,tblrequester.fldRequester
    ,tblstatus.fldStatus
    ,tbltasks.fldDescription
    ,tblresponsible.fldResponsible
    ,tbllocation.fldLocation
FROM tbltasks
LEFT JOIN tblCI ON tblci.pkCI = tbltasks.fkCI
LEFT JOIN tblgxp ON tblgxp.pkGxP = tbltasks.fkGxP
LEFT JOIN tblrequester ON tblrequester.pkRequester = tbltasks.fkRequester
LEFT JOIN tblstatus ON tblstatus.pkStatus = tbltasks.fkStatus
LEFT JOIN tblresponsible ON tblresponsible.pkResponsible = tbltasks.fkResponsible
LEFT JOIN tbllocation ON tbllocation.pkLocation = tbltasks.fkLocation

OUTPUT: 查询输出

现在我想将这个查询的值和 output 存储为一个表,应该如下所示: 桌子

我得到下表为 HTML,output 应显示在此表中并重复自身,因为数据库中将有几个条目:

                    <th>Task Nr.</th>
                    <th>RITM Nr.</th>
                    <th>CHG Nr.</th>
                    <th>CI</th>
                    <th>GxP</th>
                    <th>Task Requester</th>
                    <th>Task Status</th>
                    <th>Description</th>
                    <th>Responsible</th>
                    <th style="width: 201px;">Location</th>
                </tr>

我怎样才能做到这一点? 任何帮助表示赞赏!

这很容易,但过程有点长。 首先确保为您的查询列指定一个名称值,如下所示:

SELECT tbltasks.fldTaskNr AS "TASK_NR"
,tbltasks.fldRITMNr AS "RITMNR"
,tbltasks.fldCHGNr AS "CHGNR"
,tblci.fldCI AS "FLDCI"
,tblgxp.fldGxP AS "GXP"
,tblrequester.fldRequester AS "REQUESTER"
,tblstatus.fldStatus AS "FLD_STATUS"
,tbltasks.fldDescription AS "FLD_DESCRIPTION"
,tblresponsible.fldResponsible AS "RESPONSIBLE"
,tbllocation.fldLocation AS "LOCATION" FROM tbltasks .. (rest of your joints)

然后使用此代码将您的查询转换为 object 的数组

$data = array();
while ($row = mysqli_fetch_assoc($result)) {
    $data[] = $row; 
} 
return $data;

完成此步骤后,我们可以继续您的 HTML 表部件

<tr>
<th>Task Nr.</th>
<th>RITM Nr.</th>
<th>CHG Nr.</th>
<th>CI</th>
<th>GxP</th>
<th>Task Requester</th>
<th>Task Status</th>
<th>Description</th>
<th>Responsible</th>
<th style="width: 201px;">Location</th>
</tr>

<?php
for($i = 0 ;$i < count($data); $i++){
echo '<tr>';
echo '<td>'.$data['TASK_NR'].'</td>';
echo '<td>'.$data['RITMNR'].'</td>';
echo '<td>'.$data['CHGNR'].'</td>';
echo '<td>'.$data['FLDCI'].'</td>';
echo '<td>'.$data['GXP'].'</td>';
echo '<td>'.$data['REQUESTER'].'</td>';
echo '<td>'.$data['FLD_STATUS'].'</td>';
echo '<td>'.$data['FLD_DESSCRIPTION'].'</td>';
echo '<td>'.$data['RESPONSIBLE'].'</td>';
echo '<td style="width: 201px;">'.$data['LOCATION'].'</td>';
echo '</tr>';
}
?>

希望这能解决您的问题,并确保您的文件扩展名是“.php”

如果发现有用,请投票给我的答案。 谢谢。

您可以使用 foarch 打印您拉入 html 的数据。

foreach ($data as $key => $val) {
    <tr>
       <td>
          <?php echo $val ?>
       </td>
    </tr>

}

将上面的代码应用到自己的表和数据上,就可以得到你想要的结果。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM