php - 如何将文本区域中的多行名字和姓氏分隔成数组

标签 php jquery mysql

我有两个输入字段,询问客人的名字和客人的姓氏。当用户单击“添加”时,这两个值将被临时存储到文本区域中并附加(在 jquery 中),以便他们可以添加所需的任意数量。

<input id="guest_first" type="text" name="guest_first" placeholder="Guest First Name" class="form-control"/>

<input id="guest_last" type="text" name="guest_last" placeholder="Guest Last Name" class="form-control"/>

<textarea id="guest_storage" name="guest_storage" class="form-control"></textarea>

JQUERY:

$('#guest_storage').append(
      $('#guest_first').val() + ' ' + $('#guest_last').val() + '\r\n');

当在 guest_first 框中输入 Jane,在 guest_last 框中输入 Doe 等时,我按预期在文本区域中得到以下内容。

Jane Doe
John Doe
Ehye Sukk

我有一个 mysql 表,其中包含“guest_first”和“guest_last”。我试图将它们放入一个数组中以读取并插入到数据库中,以便每个记录都包含第一个和最后一个。这就是我迷失的地方。

我假设我必须进行爆炸寻找之间的空格以确定哪个是名字和姓氏作为单独的数组,而且还要对\r\n 进行爆炸以使每个人都有自己的数组?我在想:

$guests = $_POST['guest_storage'];

$guests = explode(" ", $guests); 

foreach($guests as $key=>$guest) {

  foreach(explode("\r\n", $guest) as $value) { //or preg_split('/\r\n|[\r\n]/', $guests);
  ...NOT SURE WHAT WOULD BE DONE HERE
  }
}

这将是我的插入语句:

$guest_query = "INSERT INTO registration (guest_first, guest_last) VALUES ('$guest_first', '$guest_last')";

$guest_data = mysqli_query($dbConnect, $guest_query);

我是不是把事情搞得太复杂了?

最佳答案

您可以在explode函数中使用PHP_EOL来分隔全名。

<?php
// Let's suppose your textarea has posted these names
$names = 'Jane Doe
John Doe
Ehye Sukk';
// Using PHP_EOL
$names = explode(PHP_EOL,$names);
for($i=0;$i<count($names);$i++){
    $temp = explode(' ',$names[$i]);
    // Separating first and last names
    $guest_first[$i] = $temp[0];
    $guest_last[$i] = $temp[1];
}
print_r($guest_first); // Array ( [0] => Jane [1] => John [2] => Ehye )
print_r($guest_last); // Array ( [0] => Doe [1] => Doe [2] => Sukk )

关于php - 如何将文本区域中的多行名字和姓氏分隔成数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47244849/

相关文章:

mysql - 如何修复 : mysql_connect(): Too many connections

mysql - 即使没有显示错误,在 Spring Boot 中使用 @query 更新查询也不起作用

PHP 脚本从单个 HTTP 请求执行多次

php - 如果声明不起作用

javascript - 必需的属性不能使用 javascript 提交

javascript - 使用 jQuery 同时设置两个下拉列表的选定值

mysql - perl 无法编译并出现 _mysql_init 未找到惰性符号绑定(bind)错误

php - 一站式提供更多SQL查询

javascript - 从 JQuery 获取表单对象到 Javascript 函数?

javascript - 使用 PHP 和 jQuery 显示目录中的文件