Самый эффективный способ получить зал славы / позора в подобной системе оценки фотографий

#php #mysql #sql

#php #mysql #sql

Вопрос:

Я пытаюсь объединить зал славы и зал позора с системой оценки. база данных выглядит следующим образом

 CREATE TABLE photos(
    photo_id INT(11) AUTO_INCREMENT,
    photo_title VARCHAR(255),
    photo_path VARCHAR(255),
    PRIMARY KEY(photo_id)
);
CREATE TABLE ratings(
    rating_id INT(11) AUTO_INCREMENT,
    photo_id INT(11),
    rating_value INT(11),
    PRIMARY KEY(rating_id)
);
  

Какой в php был бы наиболее эффективный метод создания списка, в котором определенное количество фотографий упорядочено по количеству полученных ими оценок?

Комментарии:

1. Просто не связанный вопрос…. что мешает людям голосовать несколько раз за одну и ту же фотографию?

2. Какие биты вам нужно выполнить в php? Запросы и упорядочивание — это то, что вы бы делали в базе данных. (Вы также можете захотеть добавить даты к фотографиям и / или голосам, чтобы вы могли расставлять приоритеты по последним популярным фотографиям и т.д.)

3. подождите: это facemash из «Социальной сети»?!? Вы немного опоздали!

4. @fingerman ничего подобного, это просто аналогичный сценарий, фактическая база данных несколько более расширена. @Rup мне просто интересно, как запросить его, чтобы получить результаты наиболее эффективно, например. @mitch wheat я полагаю, вы могли бы сделать это и с его помощью, но это больше относится к оценке фотографий, фотографий гор, океана и т.д.

Ответ №1:

Возможно, вы могли бы добавить атрибут в таблицу фотографий, в которой вы отслеживаете общий балл, и всякий раз, когда требуется какая-то конкретная история, вы можете получить ее из таблицы оценок. Возможно, cronjob или что-то еще для обновления зала славы / позора каждый час или просто всякий раз, когда выполняется оценка, обновляет общий балл пользователей.

надеюсь, это поможет!