мне нужна некоторая помощь (система реестра) — php mysql

#php #mysql #database #database-design

#php #mysql #База данных #база данных-дизайн

Вопрос:

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

Мой HTML имеет 2 раздела, и каждый раздел представляет собой раздел. В первом разделе пользователь вводит свое имя, адрес электронной почты и пароль. Во втором разделе пользователь вводит свой адрес, страну и должность.

Лучше всего сохранять значения в базе данных по мере завершения каждого раздела? Или лучше отправлять все значения из обоих разделов одновременно? Я предпочитаю вставлять в БД каждый раздел независимо.

Другой вопрос, лучше всего иметь уникальную таблицу для всех данных, где поля из обоих разделов сохраняются в одной записи, или мне следует создать две отдельные таблицы? Если я создам две отдельные таблицы, как мне их соединить? (хорошо … внешний ключ, но у меня нет большого опыта работы с БД)

Спасибо

Ответ №1:

Я бы сохранил значения каждого слайда в $_SESSION переменной. По завершении регистрации отправьте $_SESSION значения в базу данных.

где-то поверх ваших скриптов

 session_start();
  

слайд 1
Когда закончите, сделайте это:

 $userinfo = array();
$userinfo['name'] = $name_from_formular;
$userinfo['mail'] = $mail_from_formular;
$_SESSION['userinfo'] = $userinfo;
  

слайд 2

 if(isset($_SESSION['userinfo'])) {

    $userinfo = $_SESSION['userinfo'];

}

$userinfo['country'] = $country_from_formular;
// ....
$_SESSION['userinfo'] = $userinfo;
  

отправить данные

(прочитайте из $_SESSION и отправьте его в базу данных)

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

1. хорошо, я понимаю логику, спасибо! когда вы вставляете содержимое в базу данных, вы делаете что-то вроде — вставляете в значения users (name, email) ($userinfo[‘name’], $userinfo[’email’] обычным способом, или вы используете $ _SESSION[‘userinfo’] ?

2. Я бы отступил $userinfo от $_SESSION , но вы также можете вставить $_SESSION['userinfo']['name'] , если хотите.