Я хочу сохранить свои данные из Excel в базу данных. Я новичок в ThinkPHP, поэтому я борюсь с более чем 3 днями.
Загрузка работает, но данные не обновлены в базе данных. Ошибка также не отображается на странице. Я не знаю, кодировка правильная или неправильная.
HTML кодирование
<form name="importForm" id="importForm" action="__APP__" method="POST">
<input type="file" name="file" /><br />
<input type="submit" name="submit" onclick="import_csv_payment();" value="Submit" />
</form>
скрипт
function import_csv_payment()
{
var query = $("#importForm").serialize();
var url= ROOT+"?"+VAR_MODULE+"="+MODULE_NAME+"&"+VAR_ACTION+"=import_csv_payment"+"&"+query;
location.href = url;
}
Php Модули
Это моя функция загрузки и хранения
public function import_csv_payment($page = 1)
{
if (!empty($_FILES))
{
import("@.ORG.UploadFile");
$config=array(
'allowExts'=>array('xlsx','xls'),
'savePath'=>'./Public/upload/',
'saveRule'=>'time',
);
$upload = new UploadFile($config);
if (!$upload->upload()) {
$this->error($upload->getErrorMsg());
} else {
$info = $upload->getUploadFileInfo();
}
vendor("PHPExcel.PHPExcel");
$file_name=$info[0]['savepath'].$info[0]['savename'];
$handle = fopen($file_name, “r”);
$c = 0;
while(($filesop = fgetcsv($handle, 1000, “,”)) !== false)
{
$id = $filesop[0];
$deal_name = $filesop[1];
$ngo = $filesop[2];
$project = $filesop[3];
$update = $GLOBALS['db']->query("update ".DB_PREFIX."payment_notice set deal_name = '".$deal_name."',ngo='".$ngo."',project='".$project."' where id = '".$id."' ");
$c++;
}
$this->success('Import success!');
} else {
$this->error("Please choose to upload the file");
}
}
Задача ещё не решена.
Других решений пока нет …