【问题标题】:Storing JOIN Values in PHP and showing them as a table [closed]在 PHP 中存储 JOIN 值并将它们显示为表格 [关闭]
【发布时间】:2022-01-24 11:06:38
【问题描述】:

我有以下 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

输出:

现在我想存储这个查询的值并将它们输出为一个表,应该如下所示:

我得到了下表作为 HTML,输出应显示在此表中并重复,因为数据库中将有多个条目:

                    <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>

我该怎么做?任何帮助表示赞赏!

【问题讨论】:

  • 欢迎来到 StackOverflow。除非您向我们展示一些您的 php 代码,否则很难给出具体的建议。请edit您的问题,并查找有关在 php 中使用 SQL 的教程。
  • 您好,这是问题所在。我还没有任何 php 代码,因为我不知道从哪里开始。韩国
  • 教你从php访问SQL远远超出了StackOverflow答案的范围。这是一个有一定背景的example tutorial
  • 好的,谢谢 O. Jones。在那种情况下,我对 StackOverflow 有错误的想法。这个link 适合我的问题吗?
  • 该教程对我来说看起来不错。如果您在实现 php 代码时遇到问题,请不要犹豫再问一个问题。

标签: php html mysql sql phpmyadmin


【解决方案1】:

这很容易,但过程有点长。 首先确保为您的查询列提供如下名称值:

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)

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

$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”

【讨论】:

    【解决方案2】:

    您可以使用 foarch 打印您提取到 html 中的数据。

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

    }

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

    【讨论】:

    • 首先:这段代码本身不会运行,因为您将html放在php代码部分中。第二:这并没有提供问题的答案,因为 OP 甚至不接近这部分(只有 PHP 正在运行,因为他有 PMA)。因此无法访问 PHP 代码中的数据,我们也不知道他希望如何显示这些信息(技术堆栈)
    • 你是认真的 html 代码在 php 中是如何不起作用的?如果您知道,它正在尝试在上面创建一个表格,它将从数据库中提取数据,然后它将使用 foreach 将数据打印到 html 中,就是这样,兄弟
    猜你喜欢
    • 2021-12-10
    • 1970-01-01
    • 2019-02-02
    • 1970-01-01
    • 2020-11-25
    • 2021-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多