【问题标题】:organize display of data from table组织表格中数据的显示
【发布时间】:2013-09-29 15:55:45
【问题描述】:

我有两个表 rsales 和 salessumarry,我有这个 ff 值。

销售总结的价值

date       |  receipt  |
09/29/2103 |  112233   |

来自 rsales 的值

name       |  category  | receipt  |
33uf       |  capacitor |  112233  |
ic         |  ic22      |  112233  |

预期的输出一定是这样的。

    date       |  receipt  |
    09/29/2103 |  112233   |
   *name       | category  | receipt  |*
    33uf       | capacitor |  112233  |
    ic         | ic22      |  112233  |

但我得到这样的结果是错误的。到目前为止,我的代码如下。

    date       |  receipt  |
    09/29/2103 |  112233   |
   *name       | category  | receipt  |*
    33uf       | capacitor |  112233  |
   *name       | category  | receipt  |*
    ic         | ic22      |  112233  |

到目前为止,我有这个 ff 代码

$a=$_POST['dayfrom'];
$b=$_POST['dayto'];

    $result1 = mysql_query ("SELECT s.*, r.category, r.name,r.receipt
    FROM salessumarry s
    JOIN rsales r ON s.reciept = r.reciept
    WHERE s.register_mode = 'sales'
    AND s.date BETWEEN '$a' AND '$b' ");

    while($row = mysql_fetch_array($result1))
    {
        echo '<tr>';
        echo '<td style="border-color:#000000; border-style:solid; border-width:1px;"><div align="center">'.$row['date'].'</div></td>';
        echo '<td style="border-color:#000000; border-style:solid; border-width:1px;"><div align="center">'.$row['reciept'].'</div></td>';
        echo '</div></td>';
        echo '</tr>';

        echo '<th style="border-color:#000000; border-style:solid; border-width:1px;"><div align="center">'.$row['name'].'</div>
        echo '<th style="border-color:#000000; border-style:solid; border-width:1px;"><div align="center">'.$row['category'].'</div></th>';
        echo '<th style="border-color:#000000; border-style:solid; border-width:1px;"><div align="center">'.$row['receipt'].'</div></th>';                              


        echo '<tr>';                        
        echo '<th style="border-color:#000000; border-style:solid; border-width:1px;font-size:10px;background-image:url(images/buts3.png);color:white"">name</th>';
        echo '<th style="border-color:#000000; border-style:solid; border-width:1px;font-size:10px;background-image:url(images/buts3.png);color:white"">category</th>';

        echo '<th style="border-color:#000000; border-style:solid; border-width:1px;font-size:10px;background-image:url(images/buts3.png);color:white"">receipt</th>';
 }
mysql_close($con);
?>  

【问题讨论】:

  • 您的“预期输出”看起来很糟糕而且......不合逻辑。这如何适合您的输出表(标题)??
  • 好的,我编辑它。试着再看一遍

标签: php mysql html-table


【解决方案1】:

对不起,如果我误解了这个问题 - 您发布的代码似乎不会产生您发布的输出,但是,这是我的两分钱;我认为要解决您在整个结果中重复表头的问题,您需要放置以下块:

 echo '<tr>';                        
    echo '<th style="border-color:#000000; border-style:solid; border-width:1px;font-size:10px;background-image:url(images/buts3.png);color:white"">Product Code</th>';
    echo '<th style="border-color:#000000; border-style:solid; border-width:1px;font-size:10px;background-image:url(images/buts3.png);color:white"">Name</th>';

在 if 块中,这样它只显示一次:

if(!$displayed) {
    $displayed = true;
    echo '<tr>';                        
    echo '<th style="border-color:#000000; border-style:solid; border-width:1px;font-size:10px;background-image:url(images/buts3.png);color:white"">Product Code</th>';
    echo '<th style="border-color:#000000; border-style:solid; border-width:1px;font-size:10px;background-image:url(images/buts3.png);color:white"">Name</th>';
}

不要忘记在while循环之前将$displayed初始化为false。

此外,除了实际问题之外,您发布的这段代码非常不安全,因为它容易受到称为 sql 注入的攻击。我建议您使用类似 PDO 准备好的语句来确保您不会遇到安全问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-09-06
    • 2012-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-17
    相关资源
    最近更新 更多