Javascript 如何解析CSV文件并存储它';将数据导入数据库?

Javascript 如何解析CSV文件并存储它';将数据导入数据库?,javascript,php,html,csv,Javascript,Php,Html,Csv,我试图使用onclick函数将CSV数据存储到数据库中。不幸的是,我在javascript函数中使用的php代码不够高效。所以,我希望通过使用javascript而不是php将CSV数据存储到数据库中,我可以得到任何建议或解决方案来提高我的项目的效率 这是带有php代码的javascript: <script> function storeQueEmail(){ <?php $file = $_FILES[csv][tmp_name]; $handle

我试图使用onclick函数将CSV数据存储到数据库中。不幸的是,我在javascript函数中使用的php代码不够高效。所以,我希望通过使用javascript而不是php将CSV数据存储到数据库中,我可以得到任何建议或解决方案来提高我的项目的效率

这是带有php代码的javascript:

<script>
function storeQueEmail(){
<?php    
    $file = $_FILES[csv][tmp_name]; 
    $handle = fopen($file,"r"); 

    //loop through the csv file and insert into database 
    do { 
        if ($data[0]) { 
            $record['contact_first'] = $data[0];
            $record['contact_last'] = $data[1];
            $record['contact_email'] = $data[2];
            $record['subject'] = $_REQUEST['subject'];
            $record['message'] = $_REQUEST['message'];
            $record['status'] = 0;

            $oAdminEmail->insertQueEmail($record);
            } 
    } while ($data = fgetcsv($handle,1000,",","'")); 

    ?>  
    }
</script>

函数storeQueEmail(){
使用PHP和MySQL导入CSV文件
主题:

选择您的上传类型:

内容:


你想在那里做什么?我想你说的是一个PHP HTML文档。所以函数中的PHP代码在服务器上进行解释。由于PHP代码没有输出,Javascript函数只是空的。因此,当您将Javascript函数注册为onclick处理程序时,不会发生任何事情

请记住,虽然PHP代码是在服务器上解释的,但标准Javascript代码是在客户端解释的(这意味着在浏览器中)。如上面的评论所述,可以使用AJAX或POST/GET请求将数据发送到服务器,然后将其写入数据库或文件等

另一种直接使用Javascript实现这一点的方法是Node.js-服务器端Javascript,它能够像PHP一样写入数据库

使用上面介绍的HTML代码最简单的方法是填写

action - attribute 
在你的

form tag
例如:

<form action="proccessData.php" ...>
...
</form>
只要参考PHP.net上的PHP手册或其他一些在线文档就可以了。 我只提供一个指向php.net的有用链接,介绍如何以正确和安全的方式处理文件上载:

一旦您通过PHP的全局$_file[]-数组读取了上载的文件,只需通过proccessData.PHP中的fgetcsv处理该文件,并将其逐行写入数据库


希望有帮助!这真的没那么难:)

你可以用JavaScript读取CSV的内容,然后通过Ajax读取HTTp post。我对一个不同的问题给出了类似的回答,其中包括一个读取CSV客户端的演示:我试图做的是将CSV文件存储到数据库中。是否可以为我提供一个有关其工作原理的示例代码?请注意因为我对javascript还是新手。你说你在javascript函数中使用PHP代码吗?这可能吗?这个函数工作得很好,但是当我尝试添加另一个javascript函数时,它会导致其他函数无法工作。谢谢你的回复兄弟。有可能给我提供一个关于它的示例代码吗?只是改进了我的回答这是一些关于一种方法的解释。如果你开发web应用程序,在你的头脑中,客户端执行的代码和服务器端执行的代码总是会有明显的区别。在我看来,这是真正理解发生了什么的最重要的步骤之一。实际上,我想在同一页面中验证我的csv文件不要向新页面传递值。刷新页面不够灵活。您的方式很有效,我知道如何做。但我想在一个页面内完成所有操作。谢谢。您好!在将from发送到服务器之前,只需使用Javascript进行验证:您可以在表单元素和函数内使用onsubmit属性您通过了验证。如果您删除了action属性,那么您可以通过AJAX将表单数据发送到服务器。在该函数结束时,您可以通过DOM操作显示消息或其他内容。我建议使用JQuery来实现这一点,因为将数据异步发送到服务器以及操作文档结构。网络上有大量关于如何操作的信息。:)
<form action="proccessData.php" ...>
...
</form>
$_POST['<name of field>']
$_FILE[] - Array