1

MYSQL にテーブルがあり、顧客が CSV ファイルをアップロードできるオプションが必要です。デフォルトでは、そこにない情報を追加し、そこに情報がある場合は自動的に更新するようにします。

これらは私が持っている列です:

id  customer_name   customer_name_letterhead    customer_notes  systype status  signaltype  verification    address postcode    telephone   mobile  mobiletwo   email   mainarea    installation    Contract    expiration  SPA nservice    maintenance monitoring  MS  certdate

行のヘッダーにこれらすべてを含むExcelドキュメントが必要であることはすでに知っています。たとえば、A1-V1 にはこれらのヘッダーがあります。

編集:私はこれを作りました:

<?PHP    if(isset($_POST['SUBMIT']))
    {
         $fname = $_FILES['sel_file']['name'];

         $chk_ext = explode(".",$fname);

         if(strtolower($chk_ext[1]) == "csv")
         {

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

             while (($data = fgetcsv($handle, 1000, ",")) !== FALSE)
             {
                $sql = "INSERT into Customers(id,customer_name,customer_name_letterhead,customer_notes,systype,status,signaltype,verification,address,postcode,telephone,mobile,mobiletwo,email,mainarea    installation,Contract,expiration,SPA,nservice,maintenance,monitoring,MS,certdate) 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]','$data[12]','$data[13]','$data[14]','$data[15]','$data[16]','$data[17]','$data[18]','$data[19]','$data[20]','$data[21]','$data[22]','$data[23]','$data[24]')";
                mysql_query($sql) or die(mysql_error());
             }

             fclose($handle);
             echo "Successfully Imported";
         }
         else
         {
             echo "Invalid File";
         }   
    }?>
<form action='<?php echo $_SERVER["PHP_SELF"];?>' method='post'>

    Import File : <input type="file" name="sel_file" id="sel_file">
    <input type='submit' name='submit' value='submit'>

</form>

送信をクリックしても何も起こりません。

これが私のcsvファイルの写真です: ここに画像の説明を入力

4

2 に答える 2

0

YouTube で本当に役立つビデオを探しました。それは私にこれを与えることになった:

<?PHP   

if(isset($_POST['submit'])) 
{ 
    $file = $_FILES['file']['tmp_name']; 

    $handle = fopen($file,"r"); 

    while(($fileop = fgetcsv($handle,1000, ",")) !== false) 
    { 

    $customer_name             = $fileop[0]; 
    $customer_name_letterhead     = $fileop[1]; 
        $customer_notes         = $fileop[2]; 
        $systype             = $fileop[3]; 
        $status             = $fileop[4]; 
        $signaltype             = $fileop[5]; 
        $verification             = $fileop[6]; 
        $address             = $fileop[7]; 
        $postcode            = $fileop[8]; 
        $telephone             = $fileop[9]; 
        $mobile             = $fileop[10]; 
        $mobiletwo             = $fileop[11]; 
        $email                 = $fileop[12]; 
        $mainarea             = $fileop[13]; 
        $installation            = $fileop[14]; 
        $Contract             = $fileop[15]; 
        $expiration             = $fileop[16]; 
        $SPA                 = $fileop[17]; 
        $nservice            = $fileop[18]; 
        $maintenance             = $fileop[19]; 
        $monitoring             = $fileop[20]; 
        $MS                 = $fileop[21]; 
        $certdate             = $fileop[22]; 


        $sql = mysqli_query($GLOBALS["___mysqli_ston"], "INSERT INTO Customers ( 
            customer_name, 
                    customer_name_letterhead, 
                    customer_notes, 
                    systype, 
                    status, 
                    signaltype, 
                    verification, 
                    address, 
                    postcode, 
                    telephone, 
                    mobile, 
                    mobiletwo, 
                    email, 
                    mainarea, 
                    installation, 
                    Contract, 
                    expiration, 
                    SPA, 
                    nservice, 
                    maintenance, 
                    monitoring, 
                    MS, 
                    certdate 
                    ) VALUES ( 
                   '$customer_name', 
           '$customer_name_letterhead', 
           '$customer_notes', 
           '$systype', 
           '$status', 
           '$signaltype', 
           '$verification', 
           '$address', 
           '$postcode', 
           '$telephone', 
           '$mobile', 
           '$mobiletwo', 
           '$email', 
           '$mainarea', 
           '$installation', 
           '$Contract', 
           '$expiration', 
           '$SPA', 
           '$nservice', 
           '$maintenance', 
           '$monitoring', 
           '$MS', 
           '$certdate' 
                   )"); 

                      if($sql) 
                      { 

                        echo 'Uploaded '. $sql . ' entries'; 
                      }      
    } 
} 

?> 
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data">  
    <input type="file" name="file"> 
    <br> 
    <input type="submit" name="submit" value="Upload CSV File">  
</form> 
于 2013-01-29T17:48:18.340 に答える
-1

自分では使っていませんが、試してみましたか?

http://php.net/manual/en/function.str-getcsv.php

\n で爆発を使用して csv を行に分割してから、, に基づいてさらに分割することもできます。

すべてのチャンクをデータベースにプッシュしたら、

于 2013-01-29T14:00:13.853 に答える