@Chesterfield25

Почему api выводится хаотично а не по порядку?

Вот что получилось, а должно по id от 1 до последнего
62aba0a34637c168719958.png

Вот модель категории
<?php
class Category {

    // соединение с БД и таблицей "categories"
    private $conn;
    private $table_name = "categories";

    // свойства объекта
    public $id;
    public $name;
    public $created;

    public function __construct($db) {
        $this->conn = $db;
    }

    // используем раскрывающийся список выбора
    public function readAll() {
        // выборка всех данных
        $query = "SELECT
                    id, name, img
                FROM
                    " . $this->table_name . "
                ORDER BY
                    name";
 
        $stmt = $this->conn->prepare($query);
        $stmt->execute();
 
        return $stmt;
    }

    // используем раскрывающийся список выбора
public function read() {

    // выбираем все данные
    $query = "SELECT
                id, name, img
            FROM
                " . $this->table_name . "
            ORDER BY
                name";

    $stmt = $this->conn->prepare($query);
    $stmt->execute();

    return $stmt;
}
}
?>


Вот чтение
<?php
// необходимые HTTP-заголовки
header("Access-Control-Allow-Origin: *");
header("Content-Type: application/json; charset=UTF-8");

// подключение файлов для соединения с БД и файл с объектом Category
include_once "../config/database.php";
include_once "../models/category.php";

// создание подключения к базе данных
$database = new Database();
$db = $database->getConnection();

// инициализация объекта
$category = new Category($db);

// запрос для категорий
$stmt = $category->read();
$num = $stmt->rowCount();

// проверяем, найдено ли больше 0 записей
if ($num>0) {

    // массив
    $categories_arr=array();
    $categories_arr["records"]=array();

    // получим содержимое нашей таблицы
    while ($row = $stmt->fetch(PDO::FETCH_ASSOC)){
        // извлекаем строку
        extract($row);

        $category_item=array(
            "id" => $id,
            "name" => $name,
            "img" => $img
        );

        array_push($categories_arr["records"], $category_item);
    }

    // код ответа - 200 OK
    http_response_code(200);

    // покажем данные категорий в формате json
    echo json_encode($categories_arr);
} else {

    // код ответа - 404 Ничего не найдено
    http_response_code(404);

    // сообщим пользователю, что категории не найдены
    echo json_encode(array("message" => "Categories not found."), JSON_UNESCAPED_UNICODE);
}
?>


Может проблема в том что у меня в модели стоит ORDER BY name а не id?
  • Вопрос задан
  • 93 просмотра
Пригласить эксперта
Ответы на вопрос 1
Extar93
@Extar93
Не нужны нам эти ваши интернеты
Поменяйте ORDER BY с name на id, как вы и предположили
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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