Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.03.2019, 01:16
Интересующийся
Отправить личное сообщение для Vasya1976 Посмотреть профиль Найти все сообщения от Vasya1976
 
Регистрация: 14.09.2018
Сообщений: 11

Mysql вывод даных
Есть бд mysql. Из админки сайта добавляется новый товар в таблицу. Товару присваивается автоматически id. При выводе товара на сайт, он становится первый на странице, хотя id у него скажем 126. Когда добавляю ещё один товар(127), то 127 становится первым. Как отсортировать отображение товаров на странице? Ведь нереально менять вручную id когда скажем 300 товаров, и надо все их менять местами.
Ответить с цитированием
  #2 (permalink)  
Старый 04.03.2019, 03:00
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Vasya1976
При выводе товара на сайт, он становится первый на странице, хотя id у него скажем 126. Когда добавляю ещё один товар(127), то 127 становится первым.
Считайте смело, что записи в базе хранятся в навал, и то что последние добавленные выводятся первыми, это явление временное, ибо по мере модификации таблицы, а она неизбежно будет, все изменится. Или же все у вас закономерно и это определяется сортировкой в запросе посредством ORDER BY field_name DESC.

Можно было и не задаваться таким вопросом ибо база и существует для того чтобы иметь гибкий и выбор ее данных, и различную их сортировку, все это у нее имеется, конечно же.
Ответить с цитированием
  #3 (permalink)  
Старый 04.03.2019, 09:28
Интересующийся
Отправить личное сообщение для Vasya1976 Посмотреть профиль Найти все сообщения от Vasya1976
 
Регистрация: 14.09.2018
Сообщений: 11

Прочитал инструкцию, но поскольку не силен в программировании то полял только каждое 10 слово. Если я правильно понял, то поскольку вывод товаров производится хаотично, единственным правильным решением будет обращение к таблице с перечислением всех id в том порядке в котором мне нужно?
Ответить с цитированием
  #4 (permalink)  
Старый 04.03.2019, 10:33
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Vasya1976
единственным правильным решением будет обращение к таблице с перечислением всех id в том порядке в котором мне нужно?
Зачем же, хотя иногда возникает и такая необходимость.

Что там непонятного? Там описан синтаксис запроса выборки из таблицы базы данных. Я же вам не стану все из него объяснять, это слишком много времени требует, так что искать ответы будете сами.

Но там о сортировке черным по белому написано и даны примеры. Пусть нужно выбрать все поля (столбцы) таблицы с именем products отсортировав их в порядке от большего ID продукта к меньшему. Сортировка задается в конце условия выборки (если оно есть), до лимита, если оно определено, ну и при прочих условиях, кои там тоже описаны. Если поле идентификатора называется id, то запрос будет таким:

"SELECT * FROM `products` ORDER BY `id` DESC"

Если же порядок сортировки нужен не убывающий (DESC), то просто убрать иго из запроса - порядок сортировки "возрастающий" (ASC) является значением по умолчанию и его можно не указывать. Написано же там об этом? Написано.

Можно только заметить, что если при добавлении продукта в базу пишется и его дата добавления, то сортировку можно выбрать и по полю даты, ибо она всегда будет больше у вновь добавляемых продуктов.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывод выбранных даных переключателей "radio" Vasya1976 Общие вопросы Javascript 4 20.09.2018 22:13
Асинхронный вывод данных из базы MySQL Vikky Общие вопросы Javascript 16 05.01.2014 09:43
javascript + mysql вывод данных frixer Общие вопросы Javascript 1 22.08.2012 10:40
Вывод данных в Друпал 6 из MySQL, небольшая работа torquemada Работа 1 22.05.2011 17:05
Вывод данных из mysql Евген AJAX и COMET 3 22.08.2010 17:55