Zum Inhalt springen

Empfohlene Beiträge

Geschrieben (bearbeitet)

Hi liebes Forum,

Ich habe die Aufgabe per Importscript in PHP eine CVS Datei in ein SQL zu importieren. Das soll bis heute abend sein....

Das ganze soll in etwa im SQL so aussehen:

ID Hersteller Produkt Preis Lieferzeit

Dazu könnten evtl. noch andere Spalten kommen. Unter ID, Hersteller, usw. sollen dann die entsprechenden Werte sein.

Jedoch habe ich noch nie etwas mit SQL und PHP am Hut gehabt....

Könntet Ihr einen Neuling erklären wie man das macht? :confused::confused:

Irgendetwas hat er auch noch gesagt von wegen kannst du per PHP oder auch NTF8 schreiben....Bei mir kommen dort nur Fragezeichen :floet:

Achso..Er hat noch etwas gesagt von wegen Primärschlüssel setzte :confused:

Könnt Ihr mir hier weiterhelfen?

Vielen Dank im vorraus

Bearbeitet von Dennis1488
Geschrieben
Das soll bis heute abend sein....

Dann würde ich mal zügig anfangen. Da Du nicht shreibst welches DBMS Du verwendest ist es schwer zu helfen.

DU musst Deine Tabelle anlegen, log Dich in das DBMS ein und erzeuge Datenbank und Tabelle: "create database" bzw "create table ..."

sind die SQL Statements, die Du benötigst. Den konkreten Syntax musst Du aber passend zu dem DBMS umsetzen.

Ggf hilft Dir das Tool DbVisualizer - The Universal Database Tool

Wenn Du Die Tabelle erzeugt hast (inkl PK) dann musst Du das PHP Script schreiben, mit dem Du entweder durch PHP: file - Manual und PHP: explode - Manual bzw PHP: implode - Manual die CSV Datei zerlegst (alternativ geht auch PHP: fgetcsv - Manual) und daraus ein "insert into <table> ...." Statement baust und über die Datenbankschnittstelle (PHP: Datenbankerweiterungen - Manual) von PHP an Deine Datenbank sendest.

Phil

Geschrieben (bearbeitet)

Hi...

vielen Dank für deine Antwort.. =)

Hat geklappt.

Nun habe ich eine Tabelle jetzt ist aber in der CSV Lieferzeit nicht mit drin. Wie kann ich dem MySQL nun sagen er soll Lieferzeit auslassen? Er trägt dann natürlich Lieferkosten in Lieferzeit ein und Lieferkosten sind dann mit einer 0 versehen. Oder kann ich das irgendwie in der CSV machen?

Viele dank für eure Hilfe

Bearbeitet von Dennis1488
Geschrieben

Hat geklappt.

Nun habe ich eine Tabelle jetzt ist aber in der CSV Lieferzeit nicht mit drin. Wie kann ich dem MySQL nun sagen er soll Lieferzeit auslassen? Er trägt dann natürlich Lieferkosten in Lieferzeit ein und Lieferkosten sind dann mit einer 0 versehen. Oder kann ich das irgendwie in der CSV machen?

Setze einfach das Feld auf "NULL" = leer, muss natürlich von der Tabelle her zulässig sein

Phil

Geschrieben

Ne das hat leider nicht geholfen. Er setzt die Werte trotzdem wie gewohnt fort.

Muss ich in der CSV evtl auch ein Leerfeld machen damit er das so annimt?

Danke für deine schnelle Hilfe :)

Geschrieben

Du wirst irgendwo ein SQL Statement erzeugen, dort trägst für den Wert des Feldes, das eben keinen Inhalt bekommt den Wert "NULL" in das Statement ein.

Die CSV sollte nicht verändert werden. Wenn ich eine Tabelle mit 5 Spalten habe, dann kann ich auch nur die Spalten 1,2,5 setzen, indem ich sie über die Namen ansprechen "insert into <fields> VALUES <Werte>"

Man kann in der Tabelle auch Defaultwerte mitgeben.

Phil

Geschrieben

Okay...

Vielleicht als kleine Info dazu...ich benutze MySQL mit PHP Admin also mache ich es einfach über den Frontend bereicht...Denn über Komandozeile komme ich nicht weit da ich Null Ahnung von SQL habe leider....

Gibt es vielleicht bei PHPmyAdmin eine einfachere Lösung?

Geschrieben

Vielen Dank für die tollen Antworten.

Gibt es eigentlich auch eine Vorlage eines Import Scriptes wo ich einfach nur die Datenbank etc ändern muss?

Ich benutze MySQL 5

Danke

/Dennis

Geschrieben

Ich habe hier ein tolles Script gefunden.

Ich habe alles gemacht wie es in der Datei steht jedoch klappt es nicht so ganz

Habt Ihr eine Idee warum nicht?

Falls ja könntet Ihr ein Anleitung für Dummies beipacken? :D

Vielen Dank

csvtosql1.1.zip

Geschrieben

Habt Ihr eine Idee warum nicht?

Dir ist schon bewusst, dass die Informationen, die Du postet, absolut unzureichend sind. Welche Fehlermeldung tritt auf? Was steht in der Logdatei? Wo sind die Probleme? (Ggf musst Du in der php.ini auch das Logging einschalten)

Falls ja könntet Ihr ein Anleitung für Dummies beipacken? :D

Sicherlich nicht, denn Mitdenken wird von Dir erwartet.

Warum schreibst Du das Script nicht selbst?

Textdatei in Array einlesen, Das Array durchlaufen und jedes Element / Zeile mit "explode" in Spalten trennen. SQL Statement (Insert) mit den Spalten erzeugen und ausführen.

Phil

Geschrieben

Weil ich leider keine Ahnung von dem ganzen habe.

Ich bin auch schon eifrig dabei mich in SQL, PHP und alles ein zu lesen aber bis ich das drauf habe das ich mal eben ein script schreiben kann dauert es sicher noch eine weile...

Also Fehler ist folgender.

Ich gebe Ihm den Dateipfad und alles. Wird auch alles auf dem Webserver richtig angezeigt das klicke ich auf den Button "Und Los" aber es passiert leider nix. Der Pfad ist aber definitiv richtig....

Geschrieben

Also nun hat alles geklappt ^^

Nun habe ich aber eine CSV Datei bekommen wo Preise enthalten sind die z.b so aussehen: 2,34

Wenn ich nun die CSV Datei Importiere dann sieht es so aus 2.00 ist das normal?

Wie kann ich die Preise so anzeigen lassen in der MySQL Tabelle: 2,34?

Wenn ich das auch noch weiss dann bin ich rundum glücklich ^^

Geschrieben

im englischen zahlenformat gibt es nun mal kein "," sondern ein "."

entweder du formatierst die zahlen im excel um.. oder dein php script macht das

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...