java把csv的第一行去除_导入CSV时跳过 Headers 或第一行

我知道这是重复的问题 . 但我已经尝试了我在https://stackoverflow.com/找到的所有答案 .

我认为在我的情况下,我插入和更新数据,如果相同的日期匹配,则记录将更新,如果不是它将插入 .

以下是我的文件代码:

if ( isset( $_POST['submit'] ) && $_POST['upload-csv'] == 'upload' ) {

$error = array();

$success = array();

$filename = $_FILES['file']['name'];

$filetype = wp_check_filetype( $filename );

if ( $filetype['ext'] == 'csv' && $filetype['type'] == 'text/csv' ) {

$handle = fopen( $_FILES['file']['tmp_name'], "r" );

$row = 0;

$skip_row_number = array("1");

while ( ($data = fgetcsv( $handle, 1000, "," )) !== FALSE ) {

$data = array_map("utf8_encode", $data);

if ($row > 0)

{

$table_name = $wpdb->prefix . 'prayer';

$ipquery = $wpdb->get_results("SELECT * FROM `$table_name` WHERE `date` = '".$data[0]."'");

$query_res = $wpdb->num_rows;

// Check if same date data

if($query_res >=1){

$updateQuery = "UPDATE `$table_name` SET

`date` = '".$data[0]."',

`first_start` = '".$data[1]."',

`first_end` = '".$data[2]."',

`second_start` = '".$data[3]."',

`second_end` = '".$data[4]."',

`third_start` = '".$data[5]."',

`third_end` = '".$data[6]."',

`forth_start` = '".$data[7]."',

`forth_end` = '".$data[8]."',

`five_start` = '".$data[9]."',

`five_end` = '".$data[10]."',

`done` = '".$data[10]."'

WHERE `$table_name`.`date` = '".$data[0]."';";

$up_res = $wpdb->query($updateQuery);

}else{

$query = "INSERT INTO $table_name (date, first_start, first_end, second_start,

second_end, third_start, third_end, forth_start, forth_end, five_start, five_end, done)

VALUES ('".$data[0]."','".$data[1]."','".$data[2]."','".$data[3]."','".$data[4]."','".$data[5]."','".$data[6]."','".$data[7]."','".$data[8]."','".$data[9]."','".$data[10]."','".$data[11]."')";

$insert_res = $wpdb->query($query);

}

}

$row++;

}

fclose( $handle );

$success[] = 'Import done.';

} else {

$error[] = 'Please upload CSV file only';

}

}

?>

我试过以下答案跳过 Headers :

帮我解决这个问题 .

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值