[英]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.