Извиняется за вопрос «программирование для чайников» ... Я тщетно искал предыдущую дискуссию об этом.Сортировка результатов с использованием PHP/MySQL на основе ввода пользователем
Итак, у меня есть таблица MySQL, полная моторных лодок. Каждая строка имеет базовую информацию о моторной лодке (make/model/etc.) Плюс оценки от 1 до 10 для нескольких разных характеристик - «мощность», «комфорт» и «стиль». Я хочу помочь пользователям найти моторную лодку, которая отвечает их индивидуальным потребностям.
По умолчанию данные отсортированы по «totalscore» от высокой к низкой, например, так:
$sql = "SELECT *,(power + comfort + style) as totalscore FROM boats ORDER BY totalscore DESC";
... и я Переберите результатов с PHP и отображать их в виде списка.
Но тогда я не дать пользователю серию Да/Нет вопросов, чтобы определить индивидуальные предпочтения, и я хочу, чтобы каждый ответ изменений величины totalscore в сессии пользователя - и, таким образом, изменить порядок элементов списка ,
Других слов, я хочу $_SESSION["totalscore"]
изменить с каждым Да/Нет ввода данных пользователя ... и результаты этого пользователя должны затем быть заказаны от максимума до минимума на $_SESSION["totalscore"]
, а не оригинальный totalscore из базы данных.
Схема Пример
- Boston Whaler 370. Мощность = 7, комфорт = 8, стиль = 6, totalscore = 21
- Boston Whaler 350. Мощность = 5, комфорт = 7, стиль = 8, totalalscore = 20
Вопрос 1: Вы любите стиль? Да/Нет
if Yes {
$_SESSION["totalscore"] = totalscore + style;
reorder list items by $_SESSION["totalscore"]; // the 350 is now #1
}
if No {
$_SESSION["totalscore"] = totalscore + (style/2);
reorder list items by $_SESSION["totalscore"]; // they're now tied for #1
}
Etc.
Что расцепления меня концептуально является то, что $_SESSION["totalscore"]
будет храниться в виде печенья, в то время как оригинальный totalscore приходит из запроса к базе данных. Поэтому, как только я переключаюсь с totalalscore на $_SESSION["totalscore"]
, я не понимаю, как изменить порядок элементов списка.
Может кто-нибудь указать мне в правильном направлении, если только схематически? Я хочу понять это, но я не уверен, что делать дальше. Огромное спасибо.
Спасибо, но я могу быть более манекена, чем ты взял меня за. :) Можете ли вы вкратце объяснить, как «хранить» переменную сеанса «в результатах из базы данных»? Я понимаю параметры сортировки PHP, но я не понимаю, как собрать вместе переменную сеанса и результаты базы данных. Спасибо. – motorbeast