Введите адрес электронной почты с уникальным идентификатором node js - PullRequest
0 голосов
/ 28 января 2020

Как я работаю с nodejs, mysql, forEach пытается сохранить электронную почту в моей БД с уникальным идентификатором, используя тег textarea, на основе этого вопроса

Вставить несколько отправить по электронной почте mysql, используя одну текстовую область

Для каждого по массиву в JavaScript

javascript разбить на не-alphanumeri c a keep deletemiters при запуске

<form class="" action="/registration/instudent/{{id_school}}/{{mat}}/{{grade}}" method="post">

<textarea name="email" ></textarea>            
<button class="btn btn-lg">Save</button>

</form>

Используя пример в базе PHP, в моем примере. js файл У меня есть этот код, попытайтесь сохранить все три переменные.

router.post('/instudent/:id_school/:mat/:grade', isLoggedIn, async (req,res) => {
  const { id_school, mat, grade } = req.params;
  const { email } = req.body;

  var uStudent = {
    id_school,
    mat,
    grade,
    email
}

Object.keys(uStudent).forEach(function (key){
    console.log(uStudent[key]);
    db.query('INSERT INTO date set ?', uStudent);
});
  //res.redirect('/');
});

При сохранении в моей базе данных неправильно вставлять тексты. В моей базе данных он вставляет меня таким образом.

enter image description here

Любое руководство, чтобы увидеть, что я делаю неправильно, и что каждое письмо в теге textarea получает уникальный идентификатор?

правильная форма enter image description here

1 Ответ

1 голос
/ 28 января 2020

Я не могу найти, где в коде вы устанавливаете значение email для сохранения.

здесь есть какой-то вопрос:

  1. Вы зацикливаетесь на базе ключи вашего объекта (это правильное поведение)?
  2. где вы обновили uStudent, чтобы обновить его электронную почту?

Я думаю, что вы должны l oop на основе splitted электронная почта:

router.post('/instudent/:id_school/:mat/:grade', isLoggedIn, async (req,res) => {
    const { id_school, mat, grade } = req.params;
    const { emails } = req.body;

    const uStudent = {
        id_school,
        mat,
        grade
    };

    // loop base on email
    let _emails = emails.split(/\r?\n/);
    _emails.forEach(email => {

        // update uStudent email field
        uStudent.email = email;

        // insert the uStudent
        db.query('INSERT INTO date set ?', uStudent);
    });
});

...