Остальное в цикле foreach

0

Что я хочу, если результат не найден из запроса select, я хочу показать еще функцию вроде:

 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;
        ?>

Кто-нибудь может мне помочь! Заранее спасибо.

  • 0
    if($orders){foreach($orders ...){...}} else {}
  • 0
    Я пробовал это, но это не работает.
Показать ещё 3 комментария
Теги:

4 ответа

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, так как вы показываете содержимое таблицы, если порядок существует, или вы показываете "Nothing". Таким образом, $ html будет либо иметь содержимое таблицы, либо "Nothing".

Надеюсь это поможет.

  • 0
    Он показывает оператор else, но также дает мне Notice: Undefined variable: orderCount in...
  • 0
    Вы можете определить orderCount в начале вашего кода $orderCount = 0;
Показать ещё 1 комментарий
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;
?>
0

Сначала получите количество $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
    Я тоже это попробовал.
0
foreach ($orders AS $order_id => $order) { } else {}

Так что "}" отсутствует для цикла foreach. Надеюсь, это сработает для вас. Дайте мне знать, если вам нужна дополнительная помощь.

  • 0
    хм, какая версия php добавляет else ветку foreach ?
  • 0
    Там нет языков программирования, чтобы сделать это.
Показать ещё 7 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню