2014-12-11 46 views
0

我想如果結果不是從查詢中選擇,我想告訴其他類似功能:否則在循環的foreach

else { 
      $html .= 'You have not added stock at all'; 
     } 

因爲在這種情況下,我使用的html串,我不知道如何迴應else語句。

更多或更少的代碼我正在尋找像現在這種權利(有我已刪除,因爲它太長了很多地方)

<?php 
include("../actions/config.php"); 
$resultsClaim = $mysqli->query("SELECT"); 
$orders = array();  
$html = '';  
    if ($resultsClaim) { 
     while($obj = $resultsClaim->fetch_object()) { 
      $orders[$obj->id_cart][$obj->items] = array('status' => $obj->status ...); 
    } 

    foreach ($orders AS $order_id => $order) { 
     $orderCount = count($order); 
      $html .= '<tbody><tr><td rowspan="' . count($order) . '">' . $order_id . '</td>'; 
      $row = 1; 

      foreach ($order AS $item => $data) { 
       if ($row > 1) { $html .= '</tr><tr>'; } 
        $html .= '<td>' . $item . '</td>'; 
            $row++; 
      } 
        $html .= '<div> 
          <div class="member-popUpeStock'.$data['id'].' member-PopUp"> 
          <div class="member-PopUp-box"> 
          <a href="" title="Close" class="close">X</a> 

          <div class="tablePopUp"> 
          <div class="table-row"> 
          <div class="col">: '.$data['method'].' </div>'; 


      ///HERE WHERE I WANT TO DO THAT//// 
      else { 
        echo 'Nothing';     
      } 
       echo $html; 
     ?> 

誰能幫我,拜託了!提前致謝。的$orders

if (! empty($orders)) { 
foreach ($orders AS $order_id => $order) { 
    // YOUR CODE HERE 
} 
} 
else { 
$html .= 'Nothing'; // Append your `no records found` message to the `$html` variable: 
} 
+0

'if($ orders){foreach($ orders ...){...}} else {} – 2014-12-11 06:11:57

+0

我試過了,但它不起作用。 – klaudia 2014-12-11 06:12:40

+0

究竟是什麼「不起作用」? – 2014-12-11 06:13:55

回答

2

既然你正在服用的沒有訂單的到一個變量,你可以利用直接看是否命令存在與否。

$orderCount = 0; //Define orderCount in the beginning. 

    //Rest of the code, till foreach 

foreach(){ 
     //Rest of the code here 
    } 
    if(intval($orderCount) <= 0) //Using intval, for the case the for loop is not executed at all 
    { 
     $html = "Nothing"; 
    } 

這裏你不需要它串聯到$ HTML,因爲你如果爲了顯示存在表的內容,否則你顯示「無」。 因此,$ html將擁有表格內容或「Nothing」。

希望這會有所幫助。

+0

它顯示了else語句,但它也給了我一個'注意:未定義變量:orderCount in ...' – klaudia 2014-12-11 06:31:24

+0

您可以在代碼的開頭定義orderCount'$ orderCount = 0;' – 2014-12-11 06:34:51

+0

我曾經稱它爲'簡單完美時態'謝謝。 – klaudia 2014-12-11 06:38:30

0

首先得到計數缺少foreach循環。希望它能爲你工作。讓我知道你是否需要進一步的幫助。

+0

我也試過了。 – klaudia 2014-12-11 06:13:47

0
foreach ($orders AS $order_id => $order) { } else {} 

因此, 「}」

+0

hm,'php'版本將'else'分支添加到'foreach'中? – 2014-12-11 06:15:04

+0

沒有編程語言。 – Tristup 2014-12-11 06:15:42

+0

你可以做一個標誌,你可以在循環後做出決定。 – Tristup 2014-12-11 06:16:41

0

試試看

<?php 

include("../actions/config.php"); 
$resultsClaim = $mysqli->query("SELECT"); 
$orders = array(); 
$html = ''; 
if (!empty($resultsClaim)) { 
    while ($obj = $resultsClaim->fetch_object()) { 
     $orders [$obj->id_cart][$obj->items] = array('status' => $obj->status); 
    } 

    foreach ($orders AS $order_id => $order) { 
     $orderCount = count($order); 
     $html .= '<tbody><tr><td rowspan="' . count($order) . '">' . $order_id . '</td>'; 
     $row = 1; 

     foreach ($order AS $item => $data) { 
      if ($row > 1) { 
       $html .= '</tr><tr>'; 
      } 
      $html .= '<td>' . $item . '</td>'; 
      $row++; 
     } 
     $html .= '<div> 
          <div class="member-popUpeStock' . $data['id'] . ' member-PopUp"> 
          <div class="member-PopUp-box"> 
          <a href="" title="Close" class="close">X</a> 

          <div class="tablePopUp"> 
          <div class="table-row"> 
          <div class="col">: ' . $data['method'] . ' </div>'; 
    } 
} 
///HERE WHERE I WANT TO DO THAT//// 
else { 
    echo 'Nothing'; 
} 
echo $html; 
?>