-2

こんにちは、誰かが私のコードを見てもらえますか? タグを閉じるためにすべてを忘れていなかったと思います。[すべて表示]ボタンをクリックするたびに最初の値のみが表示される理由が本当にわかりません。最後のエコーの 3 番目と 4 番目に何か問題があると思います。問題はその部分にあるからです。表示するデータが複数ありますが、挿入した最初の値のみが表示されます。これまでの私のコードは次のとおりです。

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

1 に答える 1

-1

mysql_fetch_arrayの代わりにmysql_fetch_rowを使用する

後者はすべての行を配列としてフェッチします。

代わりに、一度に 1 つの行が必要です。

また、数値配列を取得します(キーと値のペアではありません)

http://php.net/manual/en/function.mysql-fetch-row.phpを参照してください

上記のページから、mysql拡張機能が非推奨であり、mysqliに移行する必要があることがわかります。

また、SQLインジェクションに対して脆弱であるため、コードは本番環境には適していないと多くの人がコメントしています。

準備済みステートメントを使用する必要があります。

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

于 2013-09-29T09:15:35.267 に答える