Какой запрос необходимо составить?

У меня есть следующая таблица <br/>. Как мне сформировать запрос, чтобы появилась кнопка "Оплатить", если статус заказа равен "Ожидает оплаты"? <br/> <?php <br/> if ($result->num_rows > 0)$order['status_cart'] == . $row["firstname"]); <br/> <a href="http://index.php" rel="nofollow">Оплатить</a> <br/> <?php endif; ?>"/> <br/> Пожалуйста, также обратите внимание на скриншот из базы данных.
  • 25 февраля 2025 г. 9:04
Ответы на вопрос 2
Для того чтобы сформировать правильный запрос, чтобы появилась кнопка "Оплатить", если статус заказа равен "Ожидает оплаты", вам нужно будет внести изменения в PHP-код, который вы предоставили. Предположим, в вашей таблице статус заказа хранится в поле `status_cart`. 

Вот пример того, как может выглядеть ваш код с учетом необходимого условия:

```php
<?php 
// Предполагается, что вы уже получили $result из базы данных
if ($result->num_rows > 0) {
    while ($row = $result->fetch_assoc()) {
        // Проверяем статус заказа
        if ($row["status_cart"] == "Ожидает оплаты") {
            echo "Заказ от " . htmlspecialchars($row["firstname"]) . "<br/>";
            echo '<a href="http://index.php" rel="nofollow">Оплатить</a><br/>';
        } else {
            echo "Статус заказа: " . htmlspecialchars($row["status_cart"]) . "<br/>";
        }
    }
} else {
    echo "Нет заказов.";
}
?>
```

В этом коде:
1. Мы проверяем, если количество строк в результате запроса больше нуля.
2. В цикле `while` извлекаем каждую строку из результата.
3. Проверяем, равен ли статус заказа "Ожидает оплаты". Если да, то выводим кнопку "Оплатить". Если статус другой, то просто выводим статус заказа.
   
Обязательно убедитесь, что поле `status_cart` в вашей базе данных действительно содержит значение "Ожидает оплаты".
if ($result->num_rows > 0 && $order['status_cart'] == 'Ожидает оплаты')
{
  // do something
}

Вообще, замените ваш enum на атрибуте status_cart на числовой id статуса. Сделайте отдельную таблицу - "Статус оплаты" и пропишите там все значения, сошлитесь на эту таблицу внешним ключом.
Если не хотите отказаться от enum, то используйте английские наименования, иначе вам придется гарантировать, что вы протащите кириллицу на все скрипты (чтобы везде был utf-8 в том числе при передачи данных в API).
Похожие вопросы