@ikfah012
Не самый умный парень в этом чате

Как исправить ошибку?

У меня есть страница, на которую в таблицу циклом выводятся записи из бд, а также есть параметры имя курьера и сумма, которые выводятся вне таблицы.
Столкнулся с тем, что имя курьера и сумма стали выводиться ошибой.
Имя курьер:
Warning: mysqli_fetch_all() expects parameter 1 to be mysqli_result, boolean given in /var/www/vhosts/u0450806.plsk.regruhosting.ru/tables.u0450806.plsk.regruhosting.ru/admin/functions.php on line 56

Warning: Invalid argument supplied for foreach() in /var/www/vhosts/u0450806.plsk.regruhosting.ru/tables.u0450806.plsk.regruhosting.ru/admin/cargo.php on line 95

Сумма:
Warning: mysqli_fetch_all() expects parameter 1 to be mysqli_result, boolean given in /var/www/vhosts/u0450806.plsk.regruhosting.ru/tables.u0450806.plsk.regruhosting.ru/admin/functions.php on line 33

Warning: Invalid argument supplied for foreach() in /var/www/vhosts/u0450806.plsk.regruhosting.ru/tables.u0450806.plsk.regruhosting.ru/admin/cargo.php on line 154
/
Warning: mysqli_fetch_all() expects parameter 1 to be mysqli_result, boolean given in /var/www/vhosts/u0450806.plsk.regruhosting.ru/tables.u0450806.plsk.regruhosting.ru/admin/functions.php on line 45

Warning: Invalid argument supplied for foreach() in /var/www/vhosts/u0450806.plsk.regruhosting.ru/tables.u0450806.plsk.regruhosting.ru/admin/cargo.php on line 154


Это содержимое fucntions.php, на которое он ругается.
function get_sum1()
{
    global $link;
    $delivery_date = $_POST['delivery_date'];
    $sql = "SELECT *,SUM(sum) as summa FROM users WHERE courier=1 AND delivery_date='$delivery_date'";
    $result = mysqli_query($link, $sql);
    $sum1 = mysqli_fetch_all($result, MYSQLI_ASSOC);
    return $sum1;
}

function get_sum11()
{
    global $link;
    $delivery_date = $_POST['delivery_date'];
    $sql = "SELECT *,SUM(sum) as summas FROM users WHERE courier=1 AND delivery_date='$delivery_date' AND delivery_status=1";
    $result = mysqli_query($link, $sql);
    $sum11 = mysqli_fetch_all($result, MYSQLI_ASSOC);
    return $sum11;
}

function get_1()
{

    global $link;
    $delivery_date = $_POST['delivery_date'];
    $sql = "SELECT * FROM users WHERE courier=1 AND delivery_date='$delivery_date' LIMIT 1";
    $result = mysqli_query($link, $sql);
    $courier1 = mysqli_fetch_all($result, MYSQLI_ASSOC);
    return $courier1;
}


А это та страница cargo.php.
<tbody>
                                            <tr><?php foreach(get_1() as $courier1): ?>
                                                <td><h4>Курьер 1: <?=htmlspecialchars($courier1['courier_name'], ENT_QUOTES)?></h4></td>
                                                <?php endforeach ?>
                                            </tr>
                                            </tbody>

                                        </div>
                                        <table class="table text-center">
                                            <thead class="text-uppercase">
                                            <tr>
                                                <th scope="col">ID</th>
                                                <th scope="col">Метро</th>
                                                <th scope="col">Время</th>
                                                <th scope="col">ФИО</th>
                                                <th scope="col">Сумма</th>
                                                <th scope="col"> </th>
                                                <th scope="col"> </th>
                                                <th scope="col"> </th>
                                                </tr>
                                            </thead>
                                            <?php
                                            $post = get_cargo_users1();
                                             foreach ($post as $users):
                                                $colorClass = '';
                                                switch($users['delivery_status']){
                                                    case 1:
                                                        $colorClass = 'alert-success';
                                                        break;
                                                    case 2:
                                                        $colorClass = 'alert-danger';
                                                        break;
                                                    case 3:
                                                        $colorClass = 'alert-warning';
                                                        break;
                                                }?>

                                                <tbody>
                                                <tr>
                                                    <td><div class="alert <?=$colorClass?>" role="alert"><?=$users['id']?></div></td>
                                                    <input type="hidden" name="form_id" value="<?=$users['id']?>">
                                                    <td><div class="alert <?=$colorClass?>" role="alert"><?=htmlspecialchars($users['delivery_adress'], ENT_QUOTES)?></div></td>
                                                    <td><div class="alert <?=$colorClass?>" role="alert"><?=htmlspecialchars($users['delivery_time'], ENT_QUOTES)?></div></td>
                                                    <td><div class="alert <?=$colorClass?>" role="alert"><?=htmlspecialchars($users['surname'], ENT_QUOTES)?> <?=htmlspecialchars($users['name'], ENT_QUOTES)?> <?=htmlspecialchars($users['second_name'], ENT_QUOTES)?></div></td>
                                                    <td><div class="alert <?=$colorClass?>" role="alert"><?=htmlspecialchars($users['sum'], ENT_QUOTES)?></div></td>
                                                    <td><button type="button" name="delivery_status" class="btn btn-xs btn-success mb-3" value="1">Отдал</button></td>
                                                    <td><button type="button" name="delivery_status" class="btn btn-xs btn-danger mb-3" value="2">Отказ</button></td>
                                                    <td><button type="button" formmethod="post" name="delivery"  class="btn btn-xs btn-warning mb-3" data-toggle="modal" data-target="#exampleModalLong">Перенос</button></td>
                                                     </tr>
                                                </tbody>


                                         <?php endforeach ?>
                                        </table>


                                    <form method="post" action="dost1.php">
                                        <tbody>
                                        <tr>

                                            <td>Сумма: <?php foreach(get_sum1() as $sum1): ?><?=htmlspecialchars($sum1['summa'], ENT_QUOTES)?><?php endforeach ?>/ <?php foreach(get_sum11() as $sum11): ?><?=htmlspecialchars($sum11['summas'], ENT_QUOTES)?><?php endforeach ?></td>

                                        </tr>
                                        </tbody>
                                    </form>
  • Вопрос задан
  • 86 просмотров
Пригласить эксперта
Ответы на вопрос 2
@stictt
просто рак
вы выбираете кучу данных, + делаете суммирование поля, без группировки, и проверяйте параметры, если туда запихнут мусор или ничего, что будет с запросом ? так не надо делать. Это уже второй веб вопрос за сегодня который заставляет меня кинуть фейс палм
Ответ написан
Комментировать
У вас SQL-запросы, по каким-то причинам, не находят данных в таблицах и возвращают вместо ожидаемого результата false. А в коде эта ситуация никак не учтена.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы