它只显示插入数据库的第一个数据

时间:2013-09-29 09:11:34

标签: php mysql

你好,有人可以看一下我的代码吗?我想我并没有忘记关闭标签的一切 我真的不知道为什么每次点击显示所有按钮时它只显示第一个值。我认为最后一次回声的第3和第4位有些不对劲。因为问题出在那一部分。我有超过1个数据假设显示但它只显示我插入的第一个值。到目前为止,这是我的代码。

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

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

    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 '<td style="border-color:#000000; border-style:solid; border-width:1px;"><div align="center"></div></td>';
        echo '</div></td>';
        echo '<td style="border-color:#000000; border-style:solid; border-width:1px;">'.$row['total_purchased'].'<div align="center">';
        echo '</div></td>';
        echo '<td style="border-color:#000000; border-style:solid; border-width:1px;"><div align="center">'.$row['transactioncode'].'</div></td>';
        echo '<td style="border-color:#000000; border-style:solid; border-width:1px;"><div align="center"></div></td>';
        echo '<td style="border-color:#000000; border-style:solid; border-width:1px;"><div align="center">';
        $eee=$row['total'];
        echo formatMoney($eee, true);

        echo '<td style="border-color:#000000; border-style:solid; border-width:1px;"><div align="center">'.$row['profit'].'</div></td>';
        echo '<td style="border-color:#000000; border-style:solid; border-width:1px;"><div align="center">'.$row['mode'].'</div></td>';
        echo '<td style="border-color:#000000; border-style:solid; border-width:1px;"><div align="center">'.$row['total'].'</div></td>';
        echo '</div></td>';

        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>';
        echo '<th style="border-color:#000000; border-style:solid; border-width:1px;font-size:10px;background-image:url(images/buts3.png);color:white"">Description</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"">Quantity Purchased</th>';
        echo '<th style="border-color:#000000; border-style:solid; border-width:1px;font-size:10px;background-image:url(images/buts3.png);color:white"">Sub total</th>';
        echo '<th style="border-color:#000000; border-style:solid; border-width:1px;font-size:10px;background-image:url(images/buts3.png);color:white"">Total</th>';
        echo '<th style="border-color:#000000; border-style:solid; border-width:1px;font-size:10px;background-image:url(images/buts3.png);color:white"">Tax</th>';
        echo '<th style="border-color:#000000; border-style:solid; border-width:1px;font-size:10px;background-image:url(images/buts3.png);color:white"">Profit</th>';
        echo '<th style="border-color:#000000; border-style:solid; border-width:1px;font-size:10px;background-image:url(images/buts3.png);color:white"">Discount</th>';
        echo'</tr>';


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

    echo '</tr>';

 };


mysql_close($con);
?>  

1 个答案:

答案 0 :(得分:-1)

使用 mysql_fetch_row 代替 mysql_fetch_array

后者将所有行作为数组获取。

您希望一次只有一行。

你也得到一个数值数组(不是键值对)

请参阅http://php.net/manual/en/function.mysql-fetch-row.php

在上面的页面中,您会看到 mysql 扩展程序已弃用,您应该转到 mysqli

此外,许多人评论过你的代码不适合生产环境,因为它容易受到sql注入。

你应该使用准备好的陈述:

http://php.net/manual/en/mysqli.quickstart.prepared-statements.php