imorteren csv bestand en eerste rij overslaan

Status
Niet open voor verdere reacties.

droogers

Gebruiker
Lid geworden
27 jun 2001
Berichten
173
Hallo,

via een php bestand kan ik een csv bestand inlezen. Bij het inlezen neemt hij alle rijen mee. In de bovenste rij bevinden zicht echter de kolomnamen. Deze moet dus niet geimporteerd worden.
Hieronder vindt je een deel van de code die ik hiervoor gebruik. Waarschijnlijk moet daar iets aangepast worden maar ik heb geen idee hoe.
PHP:
<?php
$conn = mysqli_connect("localhost", "UXXXXX", "XXXXXX", "DBXXXXX");

if (isset($_POST["import"])) {

    $fileName = $_FILES["file"]["tmp_name"];

    if ($_FILES["file"]["size"] > 0) {

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

        while (($column = fgetcsv($file, 10000, ",")) !== FALSE) {
            $sqlInsert = "INSERT into tbljournaalposten (ID,Datum,Omschrijving,GrootboekID,Bedrag,DC,KostenplaatsID,DagboekID,DagboekID2,collectedatum)
                   values ('" . $column[0] . "','" . $column[1] . "','" . $column[2] . "','" . $column[3] . "','" . $column[4] . "','" . $column[5] . "','" . $column[6] . "','" . $column[7] . "','" . $column[8] . "','" . $column[9] . "')";
            $result = mysqli_query($conn, $sqlInsert);

            if (! empty($result)) {
                $type = "success";
                $message = "CSV Data geimporteerd in de database";
            } else {
                $type = "error";
                $message = "Probleem met importeren CSV Data";
            }
        }
    }
}
?>
 
Probeer het eens zo:
PHP:
<?php
$conn = mysqli_connect("localhost", "UXXXXX", "XXXXXX", "DBXXXXX");
 
if (isset($_POST["import"])) {
 
    $fileName = $_FILES["file"]["tmp_name"];
 
    if ($_FILES["file"]["size"] > 0) {
 
        $file = fopen($fileName, "r");
        fgetcsv($file, 10000, ",");
        while (($column = fgetcsv($file, 10000, ",")) !== FALSE) {
            $sqlInsert = "INSERT into tbljournaalposten (ID,Datum,Omschrijving,GrootboekID,Bedrag,DC,KostenplaatsID,DagboekID,DagboekID2,collectedatum)
                   values ('" . $column[0] . "','" . $column[1] . "','" . $column[2] . "','" . $column[3] . "','" . $column[4] . "','" . $column[5] . "','" . $column[6] . "','" . $column[7] . "','" . $column[8] . "','" . $column[9] . "')";
            $result = mysqli_query($conn, $sqlInsert);
 
            if (! empty($result)) {
                $type = "success";
                $message = "CSV Data geimporteerd in de database";
            } else {
                $type = "error";
                $message = "Probleem met importeren CSV Data";
            }
        }
    }
}
?>
 
Laatst bewerkt:
Bedankt voor de reactie. Krijg nu echter de foutmelding bij de nieuw toegevoegde regel:
PHP:
Notice: Undefined variable: flag in C:\xampp\htdocs\csv2\index.php on line 13
 
Waarschijnlijk had je al gekopieerd voordat ik een andere oplossing aangaf.
Probeer het dus eens met de om 22:10 aangepaste code in #2.
 
Ik krijg nu weer een andere foutmelding:
PHP:
Notice: Undefined offset: 1 in C:\xampp\htdocs\csv2\index.php on line 14
 
Het enige dat ik heb toegevoegd is de 2e regel hier om de eerste regel van het bestand over te slaan:
Code:
        $file = fopen($fileName, "r");
        [COLOR="#FF0000"]fgetcsv($file, 10000, ",");[/COLOR]
        while (($column = fgetcsv($file, 10000, ",")) !== FALSE) {
 
Werkt nu dus?
 
Ok dan.
Graag gedaan :)
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan