#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 или что-то еще для обновления зала славы / позора каждый час или просто всякий раз, когда выполняется оценка, обновляет общий балл пользователей.
надеюсь, это поможет!