助けてください...ユーザーがテキストエリアに値を貼り付けているため、新しい行が追加されています...その新しい行は処理されてdbにアップロードされていますが、一部の列に値がありません...余分な行を削除するにはどうすればよいですかテキストエリアを処理してデータベースにアップロードする前に?
テキストエリアを配列に処理する私のコードは次のとおりです。
$PhoneNumber = array_map('mysql_real_escape_string', explode("\r\n", $_POST['PhoneNumber']));
$Createdate = array_map('mysql_real_escape_string', explode("\r\n", $_POST['Createdate']));
$RemedyTicketNo = array_map('mysql_real_escape_string', explode("\r\n", $_POST['PhoneNumber']));
//要素数が最も少ない値を決定する
$min_count = min(count($PhoneNumber), count($Createdate), count($RemedyTicketNo));
// INSERT 値を保持する配列を作成します
$values = array();
// INSERT 値を作成します
for($index=0; $index<$min_count; $index++)
{
$values[] = "('{$RemedyTicketNo[$index]}','{$PhoneNumber[$index]}','{$Createdate[$index]}',
'$Category2','$Category3','$Status','$Date','$Severity','$BanType','$XiD')";
}
//データベースに挿入
if (isset($RemedyTicketNo))
{
$sql="INSERT into tbl_main
(ars_no,phone_number,create_date,category_1,category_2,status,resolved_date,trouble_type_priority,ban_type,employee_id_name)
VALUES " . implode (',',$values);
$result=mysql_query($sql);
このコードを取り込もうとしています...しかし、うまくいかないようです...
$lines = preg_split('/\n+/', trim($_POST['textarea']));
$text = implode("\n", $lines);
上記のコードでコードを変更すると、コードは次のようになります。
$PhoneNumber = preg_split('mysql_real_escape_string', '/\n+/', trim("\r\n", $_POST['PhoneNumber']));
$Createdate = preg_split('mysql_real_escape_string', '/\n+/', trim("\r\n", $_POST['Createdate']));
$RemedyTicketNo = preg_split('mysql_real_escape_string', '/\n+/', trim("\r\n", $_POST['PhoneNumber']));
if (isset($RemedyTicketNo))
{
$sql="INSERT into tbl_main
(ars_no,phone_number,create_date,category_1,category_2,status,resolved_date,trouble_type_priority,ban_type,employee_id_name)
VALUES " . implode ('\n',$values);
$result=mysql_query($sql);