xFiSiRaZx Geschrieben 4. Oktober 2017 Teilen Geschrieben 4. Oktober 2017 Moin zusammen, ich administriere zur Zeit mehr oder weniger einen Onlineshop. Und jetzt habe ich von meinem Ausbilder die Aufgabe bekommen, dass ich ein PHP Script erstellen soll. Dieses PHP Script soll eine bestimmte SQL Tabelle (und von da auch nur bestimmte Spalten ) in eine CSV Datei exportieren und per E-Mail gesendet werden. Letzten Endes soll das ein Cronjob werden ,der dieses Script einmal in der Stunde durchführt. Aber wie ich diesen erstelle weiss ich schon. Jetzt bin ich natürlich ein blutiger Anfänger der 0,0 h Zeit in sowas jemals investiert hat und stehe bei 0. Wie man eine PHP Datei erstellt und wie man die per FTP auf den Webserver hochlädt weiß ich auch schon nur wird's schwer bei dem eigentlichen script. Und da wollte ich euch mal fragen ob ihr Tipps oder Vorlagen für mich habt die am besten noch selbsterklärend sind, um so ein Script zu schaffen. Wir benutzen phpMyAdmin auf nem Mittwaldserver. Danke schonmal. Gruß Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
bimbelbee Geschrieben 4. Oktober 2017 Teilen Geschrieben 4. Oktober 2017 Bitte mehr Infos.. Was für ein Server? Webspace / vServer? Betriebssystem? Welchen Zugriff? Windows - Aufgabenplanung Linux - cron Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Thanks-and-Goodbye Geschrieben 4. Oktober 2017 Teilen Geschrieben 4. Oktober 2017 vor 51 Minuten schrieb xFiSiRaZx: Wir benutzen phpMyAdmin phpMyAdmin ist "nur" ein in PHP geschriebenes Tool zur Verwaltung von mySQL-Datenbanken. Hat mit dem PHP-Serverdienst erstmal nichts zu tun. vor 54 Minuten schrieb xFiSiRaZx: auf nem Mittwaldserver. Der Hostingdienstleister ist vollkommen irrelevant. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
xFiSiRaZx Geschrieben 5. Oktober 2017 Autor Teilen Geschrieben 5. Oktober 2017 Ok Leute, ich habe gerade mit jemandem aus der IT Abteilung gesprochen. Es ist so, dass ich nur einen Report brauche aus Teilen einer bestimmten Datenbank. Dieser Report soll an eine E-Mail gesendet werden. Es ist also keine SQL Datenbanksicherung. Wir haben auf der Adminfläche vom Mittwaldserver einen Cronjobmanager wo ich nur den Scriptpfad auf dem Server eintragen muss und schon läuft der Cronjob. Also nix mit Linux oder Windowssystemen. Ein Beispiel zur Veranschaulichung Eine SQL Tabelle hat 6 Spalten. Wir sind in nem Unternehmen ,wo jede Woche 3 neue Leute eingestellt werden. Die Tabelle zeigt Personaldaten von Mitarbeitern an (Name, Nachname, Adresse, Telefon, Geburtsort, Familienstand) So aus der Tabelle brauche ich jetzt eine wöchentliche Abfrage NUR von den Spalten Name,Adresse, Telefon und Familienstand. Aber auch nur von der Woche aus gesehen und nicht insgesamt. Sagen wir mal die Tabelle gibt es seit dem 1.1.2017. Wenn ich eine Abfrage in der KW 40 mache will ich nur Daten von der KW40 haben und nicht die gesamte Tabelle. Diese Daten sollen in eine CSV Datei exportiert werden und per E-Mail an eine bestimmte E-Mailadresse gesendet werden. Mein Ausbilder hilft mir leider nicht und somit bin ich auf mich alleine gestellt mit dem Internet zusammen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Whiz-zarD Geschrieben 5. Oktober 2017 Teilen Geschrieben 5. Oktober 2017 Ein Ausbilder ist dafür da, dass er ausbildet, ansonsten macht die Ausbildung keinen Sinn und man könnte sich ein Buch kaufen, es durchlesen und auf die Ausbildung scheißen... Die Datenbank-Abfrage ist eine simple SQL-Abfrage. Hast du mit SQL schon Erfahrung? Um E-Mails mit PHP zu verschicken, gibt es die mail()-Funktion. Hast du mit PHP schon mal gearbeitet? Ich persönlich bin aber kein Freund von stiller Post mit E-Mails. Auch ist die Lösung sehr fehleranfällig. Was ist, wenn der Server nicht erreichbar ist? Oder die E-Mail nicht versendet werden kann? etc. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
bimbelbee Geschrieben 5. Oktober 2017 Teilen Geschrieben 5. Oktober 2017 Ich will dir die Arbeite natürlich nicht komplett abnehmen aber ich denke Grundsätzlich sollte der Aufbau des auszuführenden Scripts sein: Bau dir einen SQL Befehl. Da sind Grundlagen soweit bekannt? Das Internet kann da super helfen womit du dir die Daten aus der Tabelle ziehst und anschließend in einer Datei speicherst? Ich denke das geht :-) - Mit dem eine Woche Intervall musst dich auch mal schlau machen oder vllt. weiß das wer anders. SELECT Name, Nachname, Adresse, Telefon, Geburtsort, Familienstand FROM MITARBEITER; Tu dir das in in dein Script und lass danach z.B ein weiteres Script laufen welches wenn gewünscht per PHP die Mail verschickt. Thema Anhang ist auch ein nettes Thema, dass man sich aneignen kann mit Tutorials Grundaufbau : <?php $from = "emailtest@YOURDOMAIN"; $to = "adresse@domain.de"; $subject = "PHP Mail"; $message = "This is a test to check the PHP Mail functionality"; $headers = "From:" . $from; mail($to,$subject,$message, $headers); ?> Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
xFiSiRaZx Geschrieben 5. Oktober 2017 Autor Teilen Geschrieben 5. Oktober 2017 Ich hab mit SQL leider noch garnix zu tun gehabt. Bei PHP hatte ich mir mal für 2 Tage ein paar simple PHP Funktionen angeguckt und dies war es dann auch schon. Könnt ihr mir erklären wofür ihr dieses "$" davor macht ? Das steht doch dafür dass man eine Variable deklarieren will oder ? Also man muss wahrscheinlich in einem PHP Script auch noch SQL jetzt einbauen oder ? Ich verzweifel echt an dieser Aufgabe Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
KeeperOfCoffee Geschrieben 5. Oktober 2017 Teilen Geschrieben 5. Oktober 2017 Sorry, aber wenn du ein blutiger Anfänger bist, dann hat dir dein Ausbilder diese Aufgabe wohl bewusst gegeben, damit du mal ein paar Stunden/Tage davor sitzt und dir die Materie anguckst Du hast wahrscheinlich auch im privaten dich noch nicht mit diesen Themen auseinander gesetzt. Wäre es ne exotische Sprache, okay ich würds verstehen. Aber zu PHP gibt es im Internet nahezu keine Frage, die nicht schon irgendwo gestellt wurde. Und PHP selbst müsste auch extrem gut dokumentiert sein. Wenn dir jetzt hier Code hingeworfen wird, dann bringt das gar nichts und ist wohl auch nicht der Hintergedanke deines Ausbilders. Also: Google anwerfen und lernen, dass gehört zum Job JimTheLion reagierte darauf 1 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Whiz-zarD Geschrieben 5. Oktober 2017 Teilen Geschrieben 5. Oktober 2017 vor 2 Minuten schrieb KeeperOfCoffee: Also: Google anwerfen und lernen, dass gehört zum Job Ja und Nein. Ja, es gehört zum Job und Nein, das sollte in der Ausbildung nicht der Normalfall sein, denn Google kann gute Ausbildung nicht ersetzen. Der Azubi sollte schon in der Lage sein, die Aufgabe zu lösen. Wenn er aber sich erstmal die Grundlagen zu SQL, PHP sich alleine beibringen muss, wird es schnell demotivierend. Ein Ausbilder oder ein Ausbildungsbeauftragter sollte bestmöglich immer zur Rat und Tat zur Seite stehen. Dass es nicht immer möglich ist, ist klar aber es sollte nicht der Normalzustand sein. Dann bringt auch die Ausbildung nichts. Schon mal gerade über PHP sehr viel Schrott im Internet zu finden ist, da PHP eine Sprache ist, die gerne von Anfängern gewählt wird, die dann gefährliches Halbwissen in den Äther pusten. Genau wegen diesem Desaster haben wir es zu verdanken, dass viele Webseiten selbst heute noch Passwörter mit MD5 hashen und dies als "Verschlüsselung" verkaufen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
JimTheLion Geschrieben 5. Oktober 2017 Teilen Geschrieben 5. Oktober 2017 (bearbeitet) Stimmt schon, aber jetzt 100 Zeilen Code zu posten kann auch nicht die Lösung sein. Wir können ja schlecht die Ausbildung übernehmen. @xFiSiRaZx am besten teilst du dir die Aufgabe erstmal auf die einzelnen Schritte auf. Sobald du einen Schritt fertig hast kannst du den Code dazu ja posten und wir zeigen dir wo du etwas verbessern kannst. Oder beantworten Fragen wenn du dabei auf ein (konkretes) Problem stößt. Wichtig sind natürlich zuerst die Grundlagen der Sprache. Da habe ich kein gutes und aktuelles Tutorial zur Hand. Die Seite von Peter Kropff ist aber für den Einstieg ganz ok. http://www.peterkropff.de/site/php/grundlagen.htm Die Seite ist auch für viele bei den ersten Schritten hilfreich gewesen: http://www.schattenbaum.net/php/ Daten aus der Datenbank holen Der erste Schritt ist einfach. Ich empfehle PDO um auf die Datenbank zuzugreifen, da musst du dann zwar die Objekt-Syntax nutzen, die Methoden sind aber am intuitivsten bedienbar. Kurze Einleitung: https://php-de.github.io/jumpto/pdo/ Längere Einleitung: http://www.peterkropff.de/site/php/pdo.htm Die Abfrage um die Daten abzuholen ist für Anfänger vielleicht ein bisschen schwierig. Ist aber am Ende auch nur sowas wie "SELECT felder FROM tabelle WHERE (aktuellesDatum - datumsSpalte) < 8" Daten in eine Datei auf den Server schreiben Um die Daten aus der Datenbank als CSV zu speichern könntest du ein entsprechendes SQL-Statement nutzen: https://stackoverflow.com/a/356605/3595565 Dafür müssen aber auch die Rechte, sowohl für den User des OS als auch von MySQL entsprechend gesetzt werden. Deshalb empfehle ich schon gleich den anderen Weg zu gehen: Mit PHP ist das wegschreiben der Daten aber auch nicht schwierig, http://www.php.net/manual/de/function.fputcsv.php oder http://de2.php.net/manual/de/function.file-put-contents.php können dabei helfen. Dabei muss dann auch darauf geachtet werden, dass die Berechtigung zum Schreiben in Verzeichnis/Datei gesetzt ist (aber man spart sich die Berechtigung von MySQL aus). Datei als Email verschicken Zum Mailversand nochmal diesen Link: https://php-de.github.io/jumpto/mail-class/ Die bestehenden Mailerklassen nutzen am Ende auch nur die mail()-Funktion, bieten aber Komfort wenn du mehr brauchst als eine einfach Textmail und sind gut getestet und bewährt. Bearbeitet 5. Oktober 2017 von PVoss xFiSiRaZx und RipperFox reagierten darauf 2 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
xFiSiRaZx Geschrieben 5. Oktober 2017 Autor Teilen Geschrieben 5. Oktober 2017 Gut ich danke euch schon mal für die hilfreichen Antworten Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
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.