簡體   English   中英

如何檢查是否曾經去過如果永遠不會去其他塊

[英]how to check if once go to if block never go to else block

我正在開發Web服務。 在請求類別ID中,

$categories_string = 1,2,3,4,5.

作為響應,我必須返回帶有與所有ID相關聯的整個數據(從3-4個表)的json數組。 所以我使用explode()函數將字符串數組化。 所以在這段代碼之后,我的數組是

$category_id_array = explode(',',$categories_string );

所以,我在$ category_id_array中得到了數組。

因此,問題在於,即使單個類別中沒有數據,我也必須給出響應,即使其他類別中沒有數據也是如此。

當前輸出:從此代碼中,如果它給出4個類別中的3個類別中的數據,則將給出(3的數據,第4個數據中沒有數據,因此它將轉到else塊)所以有一種方法可以檢查一次if塊永遠不要轉到else塊或此功能的任何其他邏輯。

預期輸出:功能是在4個類別中,如果一個類別中有數據,而其他類別中沒有,則僅顯示第一類別數據;如果數據在2個類別中,則將給出2個類別的數據,反之亦然。

注意:我必須在這里使用else塊(如果所有類別中都沒有數據,則必須使用else塊來響應)

所以為此,我使用下面的代碼。

          foreach ($category_id_array as $single_cat_value) {
                        $res_whole_criteria = $this->db->query("SELECT * , ( 3959 * ACOS( COS( RADIANS(  '$latitude' ) ) * COS( RADIANS( latitude ) ) * COS( RADIANS( longitude ) - RADIANS(  '$longitude' ) ) + SIN( RADIANS(  '$latitude' ) ) * SIN( RADIANS( latitude ) ) ) ) AS distance, information_business.name AS business_name FROM information_business LEFT JOIN category ON information_business.category_id = category.id LEFT JOIN offers ON offers.category_id = category.id WHERE category.id =  '$single_cat_value' HAVING distance < 10 ORDER BY distance");

                        $row_whole_criteria = $res_whole_criteria->result();
                        echo "<pre>";
                        print_r($row_whole_criteria);
                        $resultsDoExist = 'false';   // code edited 
                        $business_id = $row_whole_criteria['0']->business_id;

                        // code for count business_wise_like starts here 

                        $like_count_businesswise = $this->db->query("SELECT COUNT( id ) AS business_wise_like FROM  `business_likes` WHERE business_id = '$business_id'");
                        $row_like_businesswise = $like_count_businesswise->result();
                        $businesswisecount = $row_like_businesswise['0']->business_wise_like;

                        // code for count business_wise_like ends here 

                        if($res_whole_criteria -> num_rows > 0)
                        {
                                $resultsDoExist = 'true'; // code edited 
                                $response['success'] = "1";
                                $response['message'] = "List found for near by Business Data";
                                $response["data"] = array();
                                $counter = 0;
                                foreach($row_whole_criteria as $row)
                                {
                                        $data = array();
                                        $offerimage = $row->image;
                                        $businessimage = $row->business_image;
                                        $data['Primary Offer Discount'] = $row->discount;
                                        $data['Offer Image'] = $_SERVER["HTTP_HOST"]."/dealsnow/public/images/CATEGORIES/"."$offerimage";
                                        $data['Business Type'] = $row->name;
                                        $data['Business Name'] = $row->business_name;
                                        $data['Business Information']=$row->business_desc;
                                        $data['Business Image'] = $_SERVER["HTTP_HOST"]."/dealsnow/public/images/business_image/"."$businessimage";
                                        $data['Offer Name'] = $row->title;
                                        $data['Offer Address'] = $row->address;
                                        $data['Phone Number'] = $row->mobile;
                                        $data['Original Price'] = $row->original_price;
                                        $data['business Id'] = $row->business_id;
                                        $data['Expiry Date']= $row->end_date;
                                        $data['Latitude']= $row->latitude;
                                        $data['Longitude']= $row->longitude;
                                        $data['Like Status']= '0';
                                        $data['Favorite Status']= '1';
                                        $data['Like Count']= $businesswisecount;
                                        array_push($response["data"], $data);
                                        $counter++;
                                }
                                echo $output2 = json_encode(array('responsedata' => $response));
                        }
                        else
                        {
                                $response = array();
                                $response ["success"] = 0;          
                                $response ["message"] = "Error.";
                                $output2 = json_encode(array('responsedata' => $response));
                                echo $output2;
                        }
    }

編輯:

 foreach() // main foreach
        {
             $resultsDoExist = 'false';
             if($res -> num_rows > 0)
             {
                        $resultsDoExist = 'true';
                        if($resultsDoExist = 'false')
                        {
                            foreach ($variable as $key) {   // sub foreach 
                                // data 
                            }
                        }
                        if($resultsDoExist == 'false')
                        {   
                            echo "no data found";
                        }                       
             }
        }

如果第一個類別不返回任何東西,則該代碼適用於其他阻塞的情況。

foreach ($category_id_array as $single_cat_value) {
                    $res_whole_criteria = $this->db->query("SELECT * , ( 3959 * ACOS( COS( RADIANS(  '$latitude' ) ) * COS( RADIANS( latitude ) ) * COS( RADIANS( longitude ) - RADIANS(  '$longitude' ) ) + SIN( RADIANS(  '$latitude' ) ) * SIN( RADIANS( latitude ) ) ) ) AS distance, information_business.name AS business_name FROM information_business LEFT JOIN category ON information_business.category_id = category.id LEFT JOIN offers ON offers.category_id = category.id WHERE category.id =  '$single_cat_value' HAVING distance < 10 ORDER BY distance");

                    $row_whole_criteria = $res_whole_criteria->result();
                    echo "<pre>";
                    print_r($row_whole_criteria);
                    $resultsDoExist = 'false';   // code edited 
                    $business_id = $row_whole_criteria['0']->business_id;

                    // code for count business_wise_like starts here 

                    $like_count_businesswise = $this->db->query("SELECT COUNT( id ) AS business_wise_like FROM  `business_likes` WHERE business_id = '$business_id'");
                    $row_like_businesswise = $like_count_businesswise->result();
                    $businesswisecount = $row_like_businesswise['0']->business_wise_like;

                    // code for count business_wise_like ends here 

                    if($res_whole_criteria -> num_rows > 0)
                    {
                            $resultsDoExist = 'true'; // code edited 
                            $response['success'] = "1";
                            $response['message'] = "List found for near by Business Data";
                            $response["data"] = array();
                            $counter = 0;
                            foreach($row_whole_criteria as $row)
                            {
                                    $data = array();
                                    $offerimage = $row->image;
                                    $businessimage = $row->business_image;
                                    $data['Primary Offer Discount'] = $row->discount;
                                    $data['Offer Image'] = $_SERVER["HTTP_HOST"]."/dealsnow/public/images/CATEGORIES/"."$offerimage";
                                    $data['Business Type'] = $row->name;
                                    $data['Business Name'] = $row->business_name;
                                    $data['Business Information']=$row->business_desc;
                                    $data['Business Image'] = $_SERVER["HTTP_HOST"]."/dealsnow/public/images/business_image/"."$businessimage";
                                    $data['Offer Name'] = $row->title;
                                    $data['Offer Address'] = $row->address;
                                    $data['Phone Number'] = $row->mobile;
                                    $data['Original Price'] = $row->original_price;
                                    $data['business Id'] = $row->business_id;
                                    $data['Expiry Date']= $row->end_date;
                                    $data['Latitude']= $row->latitude;
                                    $data['Longitude']= $row->longitude;
                                    $data['Like Status']= '0';
                                    $data['Favorite Status']= '1';
                                    $data['Like Count']= $businesswisecount;
                                    array_push($response["data"], $data);
                                    $counter++;
                            }
                            echo $output2 = json_encode(array('responsedata' => $response));
                    }

                    if( $resultsDoExist=='false')
                    {
                            $response = array();
                            $response ["success"] = 0;          
                            $response ["message"] = "Error.";
                            $output2 = json_encode(array('responsedata' => $response));
                            echo $output2;
                    }
  }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM