Фильтровать данные одного пользователя в таблице с использованием php и mysql, но пользователь принадлежит двум таблицам в базе данных

#php #mysql

#php #mysql

Вопрос:

Я новичок в php. Я разрабатываю веб-приложение.

У меня есть две отдельные таблицы в базе данных как пользователи и bmi.

Я использую сеанс для входа пользователя.

В таблицах пользователей есть 6 столбцов, таких как id, firstname, lastname, имя пользователя, адрес электронной почты и пароль.

В таблице bmi есть 5 столбцов: id, username, bmi_value, категория и дата.

В моем веб-приложении пользователи могут вычислять свои значения ИМТ. когда пользователь вычисляет свой ИМТ, данные сохраняются в таблице bmi. если другой пользователь регистрируется и вычисляет bmi, его данные сохраняются в следующей строке таблицы bmi.

Если первый пользователь снова вычислит свой ИМТ, значение, сохраненное в следующей строке, и значение столбца id отобразятся как 3. как это происходит.

Что мне нужно, так это то, что я хочу отфильтровать все данные одного конкретного пользователя в таблице bmi и отобразить, когда он нажмет кнопку bmi_history на странице BMI системы.

Должен ли я связать таблицу bmi и users или есть какой-либо способ?

Заранее благодарю вас за ваши ответы.

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

1. ДА. Это СОЕДИНЕНИЕ.

2. Прошу прощения. Но идентификатор пользователя отличается в двух таблицах. в качестве примера, если пользователь A является номером 3 в таблице пользователей, но в таблице bmi он получил разные и несколько идентификаторов, когда он подсчитывает bmi несколько раз. это нормально?

3. Нет. Идентификатор пользователя должен быть согласован между таблицами. Вы должны хранить идентификатор пользователя, а не имя пользователя, в bmi.

Ответ №1:

Проблема, которую вы пытаетесь решить, является общей. В мире баз данных это отношение называется первичным ключом и внешним ключом. Каждой строке в таблице пользователя присваивается уникальный идентификатор. Каждая строка в таблице bmi имеет столбец id и столбец user_id. bmi.id столбец будет уникальным для каждой строки. Но bmi.user_id будет ссылаться на существующий user.id ценность.

В мире MVC модель пользователя и модель bmi имеют отношение «один ко многим». У каждого пользователя может быть много точек данных bmi.