2013-09-29 36 views
0

的数据我有两个表rsales和salessumarry,我有这个ff值。从salessumarry组织显示来自表

值从rsales

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

预期输出

date  | receipt | 
09/29/2103 | 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); 
?> 
+0

您的“预期输出”看起来很糟糕,而且......不合逻辑。如何适合你的输出表(标题)? – djot

+0

好的我编辑它。试着再看一遍 – user2656724

回答

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(!$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>'; 
} 

并且不要忘记初始化$显示为false 之前的 while循环。

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