Данные из массива, нужное сообщение для каждого параметра столбца, не перечисленного ни в одной строке (Codeigniter) - PullRequest
0 голосов
/ 10 сентября 2018

Я в значительной степени любитель, и я застрял в проблеме и был бы очень признателен за вашу помощь.

Чтобы дать вам и пример того, чего я пытаюсь достичь: Один из моих столбцов - «имя_таблицы» (варианты столбцов: 31,32,33,34,35,36 в настоящее время). Три строки в моей таблице имеют «table_name» 31 и 34, поэтому они отображаются, пока проблем нет. Но поскольку ни одна из строк 'table_name' не имеет значения '32, 32,33,35,36 ', я бы хотел, чтобы каждая из них печатала отдельное сообщение («нет таблиц с номером x ..» или что-то в этом роде). И чтобы еще больше усложнить задачу, все равно должны отображаться строки, которые имеют другие значения, но не содержат «имя_таблицы».

Уже пару дней я ломаю голову над тем, как это сделать, пока я пытался использовать «else if» и в настоящее время «switch case». Хотя теперь я понимаю, что последний, вероятно, не собирается его сокращать, сейчас это мой код:

foreach ($data as $key) {
    $test = $key['table_name'];
        switch ($test) {
            case 31:
                $html .= '<tr>
                    <td class="bg-blue">31</td> 
                    <td class="bg-blue">4</td>
                    <td>'.$key['reserve_time'].'</td>
                    <td>'.$key['guest_num'].'</td> 
                    <td>'.$key['first_name'].' '.$key['last_name'].'</td> 
                    <td>'.$key['telephone'].'</td> 
                    <td>'.$key['theatre'].'</td> 
                    <td>'.$key['theatre_time'].'</td> 
                    <td>'.$key['comment'].'</td>
                    </tr>';
                    break;
                    case 32:
                    $html .= '<tr>
                    <td class="bg-blue">32</td> 
                    <td class="bg-blue">4</td>
                    <td>'.$key['reserve_time'].'</td>
                    <td>'.$key['guest_num'].'</td> 
                    <td>'.$key['first_name'].' '.$key['last_name'].'</td> 
                    <td>'.$key['telephone'].'</td> 
                    <td>'.$key['theatre'].'</td> 
                    <td>'.$key['theatre_time'].'</td> 
                    <td>'.$key['comment'].'</td>
                    </tr>';
                    break;
                    case 34:
                    $html .= '<tr>
                    <td class="bg-blue">34</td> 
                    <td class="bg-blue">2</td>
                    <td>'.$key['reserve_time'].'</td>
                    <td>'.$key['guest_num'].'</td> 
                    <td>'.$key['first_name'].' '.$key['last_name'].'</td> 
                    <td>'.$key['telephone'].'</td> 
                    <td>'.$key['theatre'].'</td> 
                    <td>'.$key['theatre_time'].'</td> 
                    <td>'.$key['comment'].'</td>
                    </tr>';
                    break;
                }
            }

            echo $html;

Что отображает это:

изображение

Итак, как вы можете видеть из изображения, 3 строки с некоторым значением в 'table_name' извлекаются, но ничего не отображается для 32 (в коде нет ничего, что могло бы быть сделано, это просто для того, чтобы дать вам общее представление ). Хотя я мог бы добиться этого, используя случай «по умолчанию», но мне все еще нужно отдельное сообщение для каждого «имя_таблицы». Есть идеи?

Использование Codeigniter 3.1.9 и PHP 7.

Я надеюсь, что я достаточно ясно, если нет, пожалуйста, дайте мне знать, и я постараюсь объяснить лучше.

Заранее спасибо за ваше время и помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...