使用WHILE,&& Operator(不使用JOIN)从mysql检索多个查询

时间:2016-07-28 14:40:12

标签: php html mysql mysqli html-table

首先,我不想使用JOIN 我正在做的是通过MySqli_Fetch_array()获取多个查询,这里的问题是,由于AND OPERATOR,如果MySqli_Fetch_array()中的任何一个完成,它将停止所有其他查询并给出其他表的不完整结果。如果我把OR运算符也不合适,因为如果第一个条件给出了它,它就不会执行其他  这是我的通用代码,供大家理解 HELPP AM BUCKLY BADLY

List<PriceWithCurrency> commercialPrices = purchaseLineItem.getProduct().getCommercialPrices();
CrewSalesRecord crewSalesRecord =
        new CrewSalesRecord(
                purchase.getEmployeeIdentifier(),
                purchaseLineItem.getQuantity());
                crewSalesRecords.add(crewSalesRecord);

for (PriceWithCurrency currency : commercialPrices) {
    ProductData purchaseData = new ProductData(
            purchaseLineItem.getProduct().getProductId(),
            purchaseLineItem.getProduct().getShortDescription(),
            purchaseLineItem.getQuantity(),
            crewSalesRecords, currency.getPrice());
            uncombinedProductDataList.add(purchaseData);
    break;
}

1 个答案:

答案 0 :(得分:0)

你的查询方式肯定不是最佳的,因为你可以实现你想做的更少的查询或改变你的数据库设计。你做5个查询,以获得5个似乎相关的字段..... < / p>

该beign表示您可以尝试使用按位OR运算符$a | $b来避免短路评估。

while (($ans4=mysqli_fetch_array($result4)) |($ans5=mysqli_fetch_array($result5)) | ($ans3=mysqli_fetch_array($result3)) | ($ans1= mysqli_fetch_array($result1))|($ans2=mysqli_fetch_array($result2))) {