gpt4 book ai didi

drupal-7 - 如何解析csv文件数据并将其插入到drupal 7中的数据库中

转载 作者:行者123 更新时间:2023-12-01 01:14:31 24 4
gpt4 key购买 nike

我已经使用代码在数据库中导入 csv 文件,但是如何读取该文件数据并显示它

在 Drupal 7

我使用以下代码导入 csv 文件

<?php
function file_upload_permission() {
return array(
'administer uploader' => array(
'title' => t('Administer Uploader'),
'description' => t('Allow the following roles to upload csv files to the server.'),
),
);
}

/**
* Implements hook_menu()
*/
function file_upload_menu() {

$items['file_upload/import'] = array(
'title' => 'Upload a File',
'type' => MENU_CALLBACK,
'description' => 'Import a csv',
'page callback' => 'drupal_get_form',
'page arguments' => array('file_upload_import_form'),
'access arguments' => array('access content'),
'access callback' => TRUE
);

return $items;
}

/**
* Builds a form that will allow users to upload csv files
* hook_menu()
*/
function file_upload_import_form($form, $form_state) {

$form['notes'] = array(
'#type' => 'markup',
'#markup' => '<div class="import-notes">A few notes when uploading. <ul><li>Make
sure the file is in a .csv format.</li><li>Columns should be in *this*
order</li><li>Be sure to click the "Upload" button when you select a csv.</li>
</ul></div>',
'#upload_location' => 'public://tmp/',
);

$form['import'] = array(
'#title' => t('Import'),
'#type' => 'managed_file',
'#description' => t('The uploaded csv will be imported and temporarily saved.'),
'#upload_location' => 'public://tmp/',
'#upload_validators' => array(
'file_validate_extensions' => array('csv'),
),
);

$form['submit'] = array (
'#type' => 'submit',
'#value' => t('Import'),
);
return $form;

}

/**
* Submit handler for file_upload_import_form()
*/
function file_upload_import_form_submit($form, $form_state) {

// Check to make sure that the file was uploaded to the server properly
$uri = db_query("SELECT uri FROM {file_managed} WHERE fid = :fid", array(
':fid' => $form_state['input']['import']['fid'],
))->fetchField();

if(!empty($uri)) {
if(file_exists(drupal_realpath($uri))) {
// Open the csv
$handle = fopen(drupal_realpath($uri), "r");
// Go through each row in the csv and run a function on it. In this case we are
parsing by '|' (pipe) characters.

// If you want commas are any other character, replace the pipe with it.

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

$result = db_insert('test')->fields(array('price' => $data[1],))->execute();
$operations[] = array(
'file_upload_import_batch_processing', // The function to run on each row
array($data), // The row in the csv
);
}

// Once everything is gathered and ready to be processed... well... process it!
$batch = array(
'title' => t('Importing CSV...'),
'operations' => $operations, // Runs all of the queued processes from the while loop
above.
'finished' => 'file_upload_import_finished', // Function to run when the import is
successful
'error_message' => t('The installation has encountered an error.'),
'progress_message' => t('Imported @current of @total products.'),
);
batch_set($batch);
fclose($handle);
}
}
else {
drupal_set_message(t('There was an error uploading your file. Please contact a System
administator.'), 'error');
}


}

this code works fine for uploading file to particuler folder and in database with table file_managed but problem is , after uploading how can i diplay that Csv file data and insert that data in new table in database ?


if anyone knows , please let me know,
thanks in advance.

最佳答案

通过一些调整,这应该对你有用(如果我正确理解你的问题):

/**
** View the table td_e_list
*/

function access_td_e_list_view() {

$results = db_query("SELECT * FROM {td_e_list}");
$header = array(t('Department'),t('Name'),t('Office'),t('Mobile'),t('Home'),t('Email'),t('Alt. Email'),t('D/R Office'));

$rows = array();

foreach($results AS $result) {
$rows[] = array(
$result->dept,
$result->name,
$result->office,
$result->mobile,
$result->home,
$result->email,
$result->altemail,
$result->drphone,
);
}
return theme('table', array('header' => $header, 'rows' => $rows));
}

关于drupal-7 - 如何解析csv文件数据并将其插入到drupal 7中的数据库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12858366/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com