0

スクリーンショット: http://i.stack.imgur.com/mX29j.png

現在請求書の領収書を作成しています。画像に表示されている数字 4600 と 33 は、最初のページのチェックリストから取得した値です。ご覧のとおり、2 つあるはずの料金が 1 つしか表示されていません。

これはコードの一部です:

$procedures = $_SESSION['receipt'];

        foreach($procedures as $key=>$procedureno)
            {
            $query = "select * from `charges` where `procedure_no` = $procedureno";
            echo $procedureno;
            $result2=mysql_query($query,$dbh1);
            if(mysql_num_rows($result2) > 0 ){
            while($row = mysql_fetch_array($result2)){
            echo '
            <tr>
                <td>'.$row[1].'</td>
                <td>'.$row[2].'</td>';

            echo '</tr>';
                }
    }

            }

このクエリが必要です $query = "select * from chargeswhere procedure_no= $procedureno"; $procedureno の数に応じて数回実行されます。

4

2 に答える 2

2

MySQL はリストを理解します。これを試して:

SELECT * FROM charges WHERE procedure_no IN (1, 5, 33, 78)
于 2013-01-10T17:34:47.843 に答える
0

メソッドを作成し、条件をパラメーターとして渡します。そのメソッド内に FOR サイクルを入れます。

于 2013-01-10T17:36:43.173 に答える