CSV > SQL <!--

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Loran DP

Loran DP

20/06/2010 22:47:02
Quote Anchor link
Goede avond,

Ik heb een vraagje.
Hoe kan ik als ik een CSV bestand upload hem direct omzetten naar SQL?

Dus even heel kort: csv upload > output = sql

bvd,
Loran
Gewijzigd op 22/06/2010 14:10:18 door Loran DP
 
PHP hulp

PHP hulp

20/04/2024 15:22:39
 
Terence Hersbach

Terence Hersbach

20/06/2010 22:49:00
Quote Anchor link
en wat heb je zelf al gedaan?
 
Loran DP

Loran DP

20/06/2010 22:50:43
Quote Anchor link
Niks, ik wil graag weten hoe ik een CSV kan omzetten naar SQL
 
Joren de Wit

Joren de Wit

20/06/2010 22:53:25
Quote Anchor link
Je kunt de CSV file inlezen in PHP en er alles mee doen wat je wilt. Functies die je wellicht wilt gebruiken: file, fgetcsv.
 
Loran DP

Loran DP

20/06/2010 23:18:25
Quote Anchor link
Ik krijg nu deze error:
Quote:
The file '/Applications/MAMP/tmp/php/phpwIdatK' must be in the database directory or be readable by all


met deze code

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST')
{

$mysql_account = mysql_connect('localhost','root','root') or die('Er kon geenverbinding met een database worden gemaakt.' );
mysql_select_db('oc', $mysql_account) or die('Kon database niet selecteren.');

$sqlstatement="LOAD DATA INFILE '".$_FILES['filen']['tmp_name']."' into TABLE payments FIELDS TERMINATED BY ',' (clubnr,naam,email,bedrag,omschrijving,betaald)" ;
mysql_query($sqlstatement) or die(mysql_error());;
echo "it is done!";
}

else
{
echo '<form action="" method="post" enctype="multipart/form-data">';
echo 'File: <input type="file" name="filen" /> <input type="submit" name="subform" value="Upload File!" />';
echo '</form>';
}

?>
Gewijzigd op 20/06/2010 23:31:24 door Loran DP
 
Piet Verhagen

Piet Verhagen

21/06/2010 00:14:21
Quote Anchor link
Bestand eerst opslaan en chmodden naar 777. Lijkt me...
Gewijzigd op 21/06/2010 00:14:34 door Piet Verhagen
 
Joren de Wit

Joren de Wit

21/06/2010 11:05:31
Quote Anchor link
Of anders het bestand in PHP uitlezen en daar de benodigde INSERT query opbouwen en uitvoeren...
 
Loran DP

Loran DP

22/06/2010 13:33:01
Quote Anchor link
Ik heb nu dit:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
<?php
switch($_GET['step'])
{
    default:

    ///
        $extensions = array('csv');
        $tfolder = "csv_temp/";
        $scriptloc = "";
        $maxfsize = 150;
        
        if($_SERVER['REQUEST_METHOD'] == "POST") {
        $fname = $_FILES['filen']['name'];
        $fext = strtolower(end(explode('.', $fname)));
        $ftemp = $_FILES['filen']['tmp_name'];
        $newname = md5(rand(rand(1, 9999), rand(1, 9999))) . "." . $fext;
        $target = $tfolder . $newname;
        
        if(!empty($fname)) {
        foreach($extensions as $check) {
        if($check == $fext) {
        $extensioncheck = true;
        }
        }

        if($extensioncheck == true) {
        if(filesize($ftemp) > $maxfsize * (1024*1024)) {
        echo '<p><font color="red">Uw bestand is groter dan 15 MB</font></p>';
        }

        else {
        if(!strstr(strtolower($fname), "php")) {
        $upload = move_uploaded_file($ftemp, $target);
        if($upload) {
        $_SESSION['csv_temp'] = $newname;
        echo "<p>Uw CSV bestand is geupload naar onze server.<br /><br /><br />";
        echo '<input class="SubmitBold" type="button" value="Stap 2" onclick="javascript:window.location=\'index.php?step=2  \'"/>';
        $succes = true;
        }

        else {
        echo '<p><font color="red">Er is helaas een fout opgetreden. Probeer het bestand nogmaals te uploaden.</font>
        <br />Mocht u deze fout meerdere keren krijgen neem dan contact met ons op.</p><br /><br />'
;
        }
        }

        else {
        echo '<p><font color="red">Er is helaas een fout opgetreden. Probeer het bestand nogmaals te uploaden.</font>
        <br />Mocht u deze fout meerdere keren krijgen neem dan contact met ons op.</p><br /><br />'
;
        }
        }
        }

        else {
        echo '<p><font color="red">U heeft geen CSV bestand geupload.</font>
        <br />Mocht u deze fout meerdere keren krijgen neem dan contact met ons op.</p><br /><br />'
;
        }
        }

        else {
        echo '<p><font color="red">U heeft geen bestand opgegeven om te uploaden.</font></p>';
        }
        
        }

        if($succes !== true) {
        echo'
        <form action="" method="post" enctype="multipart/form-data">
        <div class="blauw" style="width:345px; margin-left:5px"><input type="file" name="filen"/></div>
        <input type="submit" name="subform" value="Upload CSV bestand" class="SubmitBold" style="margin-left:5px;"/>
        <!--<div class="progress-bar">
        <div class="progress-bar-bg"></div>
        <div class="progress-bar-text">0%</div>
        </div>-->
        </form>'
;
        }

    ///
    break;
    case
'2':
    ///
        $sqlstatement="LOAD DATA INFILE 'csv_temp/".$_SESSION['csv_temp']."' into TABLE payments FIELDS TERMINATED BY ',' (clubnr,naam,email,bedrag,omschrijving)" ;
        mysql_query($sqlstatement) or die(mysql_error());;
        echo "it is done!";
    break;
}

?>


Alleen ik krijg nu deze error: Can't get stat of '/Applications/MAMP/db/mysql/csv_temp/' (Errcode: 2)
Gewijzigd op 22/06/2010 13:33:19 door Loran DP
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.