组织表格中的数据显示

时间:2013-09-29 07:40:28

标签: php mysql html-table

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

来自salessumarry的价值

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);
?>  

1 个答案:

答案 0 :(得分:0)

对不起如果我误解了这个问题 - 你发布的代码似乎没有产生你发布的输出,不过,这是我的两分钱;我认为,为了解决您在整个结果中重复表格标题所遇到的问题,您需要放置以下内容的块:

 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循环之前初始化$显示为false

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