CSV Daten via D&D online in eine DB importieren

Sky-Kay

Grünschnabel
Hallo Liebe Community ^^

Ich habe eine bitte eine GROßE bitte ;-) könnt ihr mir vieleicht helfen ****

Folgendes problem, ich habe Online CSV-Daten diese möchte ich in einer *.PHP Seite via D&D (drag and drop) einfügen. Diese Daten müssten dann in einer db gespeichert und sotiert werden.

Hier mal ein Datensatz
Code:
251;	51;	1;	0;	0;	0;	597;	16460011;	18295;	ABC;	Von wem nochmal;	Name (u);	101165;	Place build;	0;	0;	0;	579;	10656503;	566;	2911139;	303;	2892369;

Ich müsste also erstmal eine Seite haben wo ich die Daten reinziehe eine Seite wo ich das Ergebnis abrufen kann wenn ich z.B. nach Name suche und dann wäre da noch die sache mit der db :(

Webserver habe ich :D aber nicht viel Ahnung von PHP und DB :(

Danke schonmal

Gruß
Sky-Kay
 
Wenn die Datei auf dem gleichen Rechner liegt, wie das PHP-Script, kannst du es mal mit dem versuchen:

PHP:
LOAD DATA LOCAL INFILE 'csvTest.csv'
INTO TABLE csvImport
FIELDS TERMINATED BY ';'
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES
(field1, @dummy, field2, @rechenVar)
SET field3 = @rechenVar*10

Falls es eine fremde Webseite ist, wird es etwas schwieriger (Es gibt bestimmt schönere Beispiele mit cURL oder so, aber dieses hier sollte wohl auch gehen ;)):

PHP:
$separator = '|';
$fields_at_line = 8;
$handle = @fopen ('<PFAD_ZUR_CSV>', 'r');

if (!handle)
{
 die ('Fehler beim einlesen');
}

$file = '';
while (!feof ($handle))
{
    $file .= fgets ($handle);
}
fclose ($handle);

$line = explode ($separator, $file);

$field = floor (count ($line) / $fields_at_line);
for ($i = 0; $i < $field; $i++)
{
    $field1 = $line[$i * $fields_at_line];
    $field2 = $line[$i * $fields_at_line + 1];
    $field3 = $line[$i * $fields_at_line + 2];
    $field4 = $line[$i * $fields_at_line + 3];
    $field5 = $line[$i * $fields_at_line + 4];
    $field6 = $line[$i * $fields_at_line + 5];
    $field7 = $line[$i * $fields_at_line + 6];
    $field8 = $line[$i * $fields_at_line + 7];
    sql_query ('INSERT INTO....');
}
 
Hallo bofh1337

irgend wie Funktioniert des nicht :( und dann sind in deinem für jedes feld eine eingabe Zeile, und ich benötige ja quasi nur ein Eingabefeld um die Daten von einer seite in diese zu ziehen d&d.

mein entwurf sieht so aus..
wobei ich die connect dann auf eine andere Seite beziehe

PHP:
<?php
mysql_connect('localhost', 'root', '') or die(mysql_error());
mysql_select_db('meineDB') or die(mysql_error());
?>

<h1>CSV Daten via drag and drop einfügen</h1>
<from method="POST">
	CSV <input type="text" name="CSV" /><br />
   $sql_query ('INSERT INTO Name-der-Tabelle');
</form>
<?php
 
Zuletzt bearbeitet:
Hallo bofh1337

irgend wie Funktioniert des nicht :( und dann sind in deinem für jedes feld eine eingabe Zeile, und ich benötige ja quasi nur ein Eingabefeld um die Daten von einer seite in diese zu ziehen d&d.

mein entwurf sieht so aus..
wobei ich die connect dann auf eine andere Seite beziehe

PHP:
<?php
mysql_connect('localhost', 'root', '') or die(mysql_error());
mysql_select_db('meineDB') or die(mysql_error());
?>

<h1>CSV Daten via drag and drop einfügen</h1>
<from method="POST">
	CSV <input type="text" name="CSV" /><br />
   $sql_query ('INSERT INTO Name-der-Tabelle');
</form>
<?php

Achso, ok...

Dein "Form-Part sollte so aussehen:

HTML:
<form action="weiter_verarbeitende_function" method="post" enctype="multipart/form-data">

<input name="Datei" type="file" size="50" maxlength="100000" accept="text/*">

Also der "encrypt"-Part muß rein und die Datei geht ja nicht per _POST zum Server, sondern per _FILES ;)
 
Also müsste es so aussehen?
habe hier den bezug zu connect geändert, da die zugangsdaten nicht auf dieser seite stehen sollen ;)

PHP:
<?php
include 'db_connect.php';
?>
<h1>CSV Daten via drag and drop einfügen</h1>
<form action="weiter_verarbeitende_function" method="post" enctype="multipart/form-data">
<input name="Datei" type="file" size="50" maxlength="100000" accept="text/*">

Eine frage zur connect :( was ja dazu gehört..

PHP:
<?php
$db_host = "localhost";
$db_user = "xxxxxxx"; //<hier trage ich doch den Namen von dem user ein der für die db eingetragen ist wo die daten importert werden sollen?
$db_passwort = "xxxxxx"; //<hier das PW das ich für diesen user eingetragen habe
$db_name = "xxxxxx"; //< hier die db wo die Tabelle drinne ist
mysql_connect("$db_host","$db_user","$db_passwort") or die
("Keine Verbindung moeglich");
mysql_select_db("$db_name") or die ("Die Datenbank existiert nicht.");
?>

Weil ich bekomme diese Meldung.. User wurde duch (x) ersetzt
Fehler: Access denied for user 'xxxxxx'@'localhost' (using password: NO)

aber wo sage ich in welche tabelle die Daten eingetragen werden sollen?
INSERT INTO xxxxxx

ok, nun habe ich das mal so angelegt..

Eingabe seite, aber ich habe hier kein fenster in das ich die csv-daten hinein ziehen kann****

PHP:
<?php
include '/config/connect.php'; 
<form action="weiter_verarbeitende_function" method="post" enctype="multipart/form-data">

<input name="Datei" type="file" size="50" maxlength="100000" accept="text/*">
$sql_query ('INSERT INTO name_meiner_tabelle');
</form>
<?php

Und die connect.php funktioniert hoffe ich ^^ also ich bekomme keine fehlermeldung...

PHP:
<?php
$server = "localhost";
$user = "der_db_user";
$pass = "das_pw_fuer_db_user";
$datenbank = "die_anzusprechende_db";


$connect = mysql_connect($server,$user,$pass) or die ("ERROR. Prüfen Sie die Zugangsdaten oder wenden Sie sich an den für sie zuständigen Administrator.");
mysql_select_db($datenbank) or die ("ERROR. Die Datenbank konnte nicht gefunden werden. Prüfen Sie die Schreibweise oder wenden Sie sich an den für sie zuständigen Administrator.");
?>

Jetzt fehlt mir nur noch ein Eingabefenster ;) wer könnte mir helfen ^^

Ich haba da etwas gefunden was mein vorhaben beinhaltet :D

aber ich komme da mit einer Seite (php-code) nicht zurecht :(

Und zwar mit dieser Slidbar sie packet ... auf der hauptseite ist das integriert.
https://sourceforge.net/projects/osads/files/latest/download

kann mir da wer helfen?

Danke gruß
Sky-Kay
 
Zuletzt bearbeitet von einem Moderator:

Neue Beiträge

Zurück