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

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

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

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

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...