ФорумПрограммированиеPHP для идиотов → вывод данных из базы в определенном порядке

вывод данных из базы в определенном порядке

  • Tureg

    Сообщения: 55 Репутация: N Группа: Кто попало

    Spritz 11 марта 2009 г. 8:02

    а именно по времени
    в таблице есть поля date и time - типы у полей такие же (date и time)
    как такое сделать? что бы данные выводились на страницу в порядке времени? запись занесенная последней и отображалась последней, дело в том что некоторые записи могут быть удалены, и тогда последняя запись займет место удаленной, таблица имеет такую структуру

    comm_id|photo_id|comment|login|date|time

    ключевое поле comm_id
  • ubica

    Сообщения: 530 Репутация: N Группа: Кто попало

    Spritz 11 марта 2009 г. 8:13, спустя 11 минут 30 секунд

    Tureg пишет что-то страшное, судя по сегодняшней статистике))
  • Tureg

    Сообщения: 55 Репутация: N Группа: Кто попало

    Spritz 11 марта 2009 г. 8:22, спустя 8 минут 9 секунд

    хех )))
  • ubica

    Сообщения: 530 Репутация: N Группа: Кто попало

    Spritz 11 марта 2009 г. 8:23, спустя 1 минуту 44 секунды


    дело в том что некоторые записи могут быть удалены, и тогда последняя запись займет место удаленной,

    ложь
  • adw0rd

    Сообщения: 22908 Репутация: N Группа: в ухо

    Spritz 11 марта 2009 г. 8:25, спустя 2 минуты 5 секунд

    Tureg, назначь порядковое поле id в таблице (возможно это comm_id, я не знаю) и присвой ему AUTO_INCREMENT

    Далее, у тебя записи будут такого вида:

    id | name
    1  | йуйцуйцу
    2  | йцуйцуйуй
    3  | йцкуцукук


    после чего, ты можешь вывести так

    select * from `table` order by `id` desc;


    где desc - обратный порядок сортировки, т.е. 3,2,1 для твоего случая.
    adw/0
  • Tureg

    Сообщения: 55 Репутация: N Группа: Кто попало

    Spritz 12 марта 2009 г. 8:18, спустя 23 часа 52 минуты 21 секунду

    (возможно это comm_id, я не знаю) и присвой ему AUTO_INCREMENT

    именно так оно и есть

    select * from `table` order by `id` desc;

    а что нужно добавить сюда если есть еще условие к полю photo_id

    where photo_id=… ?
  • Lirck

    Сообщения: 1658 Репутация: N Группа: Джедаи

    Spritz 12 марта 2009 г. 8:27, спустя 9 минут 20 секунд

    ага
  • adw0rd

    Сообщения: 22908 Репутация: N Группа: в ухо

    Spritz 12 марта 2009 г. 9:47, спустя 1 час 19 минут 28 секунд

    Tureg,
    select * from `table` where `photo_id` = 1 order by `comm_id` desc;
    adw/0
  • Givi

    Сообщения: 2284 Репутация: N Группа: Адекваты

    Spritz 12 марта 2009 г. 12:53, спустя 3 часа 6 минут 32 секунды

    ubica
    Он пишет ИИ (искусственный интеллект) на пыхе. Это исходит из его
    …дело в том что некоторые записи могут быть удалены, и тогда последняя запись займет место удаленной…

    Зачем пропадать за зря месту, с которого удаленна старая запись - лучше её использовать для других. Вот ИИ и задумывается сам (а точнее по гениальному, но какому-то очень хитрому алгоритму автора) об экономии места в БД :D
  • phpdude

    Сообщения: 26632 Репутация: N Группа: в ухо

    Spritz 12 марта 2009 г. 13:06, спустя 12 минут 45 секунд

    Givi, просто тс мудаг)
    Сапожник без сапог
  • Lirck

    Сообщения: 1658 Репутация: N Группа: Джедаи

    Spritz 12 марта 2009 г. 13:09, спустя 3 минуты 15 секунд

    если мудаг это плохо то я не мудаг
  • adw0rd

    Сообщения: 22908 Репутация: N Группа: в ухо

    Spritz 12 марта 2009 г. 14:35, спустя 1 час 26 минут 10 секунд

    если не юзать автоинкрементное поле и не каких сортировок тоже, то насколько я помню, новые записи будут действительно вставать на место удаленных и при выборке это будет видно
    adw/0
  • ubica

    Сообщения: 530 Репутация: N Группа: Кто попало

    Spritz 12 марта 2009 г. 15:25, спустя 50 минут 5 секунд


    ключевое поле comm_id


    (возможно это comm_id, я не знаю) и присвой ему AUTO_INCREMENT

    именно так оно и есть


    если не юзать автоинкрементное поле

    интересна ли Турегу теория? :)
  • adw0rd

    Сообщения: 22908 Репутация: N Группа: в ухо

    Spritz 12 марта 2009 г. 15:39, спустя 13 минут 12 секунд

    думаю не особо :)
    adw/0
  • phpdude

    Сообщения: 26632 Репутация: N Группа: в ухо

    Spritz 12 марта 2009 г. 16:26, спустя 47 минут 51 секунду


    если не юзать автоинкрементное поле и не каких сортировок тоже, то насколько я помню, новые записи будут действительно вставать на место удаленных и при выборке это будет видно
    вообще в теории, как расположены будут записи и как они будут выбираться - одному богу хую известно. в реале, обычно записи достаются в той последовательности, в которой их клали в бд с вычеркнутыми удаленными. вопрос :) что будет после "optimize table" ? :) лучше использовать сортировки, а не насиловать столь некудышномалый моск ТС :)
    Сапожник без сапог

Пожалуйста, авторизуйтесь, чтобы написать комментарий!