0

截图:http: //i.stack.imgur.com/mX29j.png

我目前正在制作发票收据。您在图像上看到的数字 4600 和 33 是​​从第一页的清单中检索到的值。如您所见,它只列出了一项费用,而应该是两项费用。

这是代码的一部分:

$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 回答