2014-02-23 4 views
9

kann sagen, wollen i/Upload-Datei zu MySQL von PHP istWie Excel in MySQL-Datenbank von PHP-Datei importieren

My HTML wie unten

Code
<form enctype="multipart/form-data" method="post" role="form"> 
    <div class="form-group"> 
     <label for="exampleInputFile">File Upload</label> 
     <input type="file" name="file" id="file" size="150"> 
     <p class="help-block">Only Excel/CSV File Import.</p> 
    </div> 
    <button type="submit" class="btn btn-default" name="Import" value="Import">Upload</button> 
</form> 

PHP wie unten ist Excel importieren

<?php 
if(isset($_POST["Import"])) 
{ 
    //First we need to make a connection with the database 
    $host='localhost'; // Host Name. 
    $db_user= 'root'; //User Name 
    $db_password= ''; 
    $db= 'product_record'; // Database Name. 
    $conn=mysql_connect($host,$db_user,$db_password) or die (mysql_error()); 
    mysql_select_db($db) or die (mysql_error()); 
    echo $filename=$_FILES["file"]["tmp_name"]; 
    if($_FILES["file"]["size"] > 0) 
    { 
     $file = fopen($filename, "r"); 
     //$sql_data = "SELECT * FROM prod_list_1 "; 
     while (($emapData = fgetcsv($file, 10000, ",")) !== FALSE) 
     { 
      //print_r($emapData); 
      //exit(); 
      $sql = "INSERT into prod_list_1(p_bench,p_name,p_price,p_reason) values ('$emapData[0]','$emapData[1]','$emapData[2]','$emapData[3]')"; 
      mysql_query($sql); 
     } 
     fclose($file); 
     echo 'CSV File has been successfully Imported'; 
     header('Location: index.php'); 
    } 
    else 
     echo 'Invalid File:Please Upload CSV File'; 
} 
?> 

Excel-Datei ist wie unten

excel file picture

Ich möchte nur die 2. Reihe Werte in meine Tabelle importieren. Bitte helfen Sie mir, wie kann ich es lösen oder mir irgendeine Ressource geben. Ich konnte die Excel-Datei hochladen, aber sie ist nicht korrekt formatiert. Ich möchte 4 Spalte in Mysql 4 Spalte hochladen, aber es ist das Hochladen aller 4 Spalte in Mysql 1 Spalte. vermisse ich etwas?

Antwort

14

Für> = 2. Reihe Werte einfügen in Tabellen-

$file = fopen($filename, "r"); 
//$sql_data = "SELECT * FROM prod_list_1 "; 

$count = 0;           // add this line 
while (($emapData = fgetcsv($file, 10000, ",")) !== FALSE) 
{ 
    //print_r($emapData); 
    //exit(); 
    $count++;          // add this line 

    if($count>1){         // add this line 
     $sql = "INSERT into prod_list_1(p_bench,p_name,p_price,p_reason) values ('$emapData[0]','$emapData[1]','$emapData[2]','$emapData[3]')"; 
     mysql_query($sql); 
    }            // add this line 
} 
+0

Fantastisch, thx. Musste von XLS zu CSV und Bam konvertieren. Perfekt. – Andy

+0

gespeicherte Daten alle sind Symbole, um genaue Daten zu erhalten –

3

Sie sind wahrscheinlich ein Problem mit der Art von CSV-Datei, die die Sie haben.

Öffnen Sie die CSV-Datei mit einem Texteditor, überprüfen Sie, dass alle Separationen mit dem Koma-Zeichen (,) und nicht mit Semikolon ausgeführt werden, und versuchen Sie es erneut. Es sollte gut funktionieren.

Verwandte Themen