Wie eine Online-Datenbank erstellen? (SQL + PHP?)

nciht schrieb:
Das kannst du mEn noch immer recht einfach mit csv und script lösen. Du brauchst für die Filter nur ein script, welches dir aus der Tabelle immer die gewünschten Fahrzeuge heraussucht, ..

Wie sieht es denn bei CSV mit wartbarkeit aus? Einzelne Einträge ändern löschen, neu Verknüpfen etc.? Da hab ich keine Ahnung, ist bei mir generell 10 Jahre her ^^
 
Hanni2k schrieb:
Wie sieht es denn bei CSV mit wartbarkeit aus?
mWn alles recht mühselig, aber es geht ja erst mal darum, dass er das mit der Webseite hinbekommt - ein Schritt nach dem anderen - und nicht alles gleichzeitig lernen muss.

Eine Datenbank, kann er sich danach immernoch bauen und muss dann nicht mal so viel umprogrammieren, da er z.B. einfach aus der Datenbank eine csv exportiert und die dann auf die Webseite überträgt (praktisch kann das dann sogar erstmal ganz einfach z.B. MS Access sein). In dem Fall muss auch die Datenbank nicht zwingend auf dem Webserver liegen und muss auch nur laufen, wenn er etwas ändert, bzw. die Daten exportiert. Aber das wäre dann eben der nächste Schritt.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: madmax2010 und Hanni2k
Ich wollte hier auch mal etwas beitragen.

Imho ist das Allerwichtiste:
  • Bevorzuge Computersprachen und -Technologien die du beherrschst
  • Fang erst mal einfach an

Auf dich und deine Aufgabe bezogen:
Am aller einfachsten ist eine öffentliche Tabellenkalukation

Falls du selber entwickeln bevorzugst:
  • Daten im JSON-Format erstellen (JSON-Array gleichartiger JSON Objekte). Das hat einige schlagende Vorteile. in dynamischen Webseiten werden Datensätze im Endeffekt in Javascript-Objekte umgewandelt. Das ist absolut unabhängig davon ob die eigentliche Datenablage als XLS, SQL, CSV, etc erfolgt.
  • Diese JSON Datensätze dann nativ/direkt in Javascript laden per JSON.parse. Es ist keine weitere Logik zum Verarbeitung von Datenformaten notwendig
  • Gewünschte Webseite mit purem HTML/CSS Javascript erstellen.
Das sollte nicht mehr als ein paar Stunden dauern
 
  • Gefällt mir
Reaktionen: McMoneysack91 und nciht
Ich glaube das größte Problem ist, dass ich zwar ganz genau weiß, was ich will, aber zu geringe Kenntnisse bzw Fähigkeiten in dem Bereich habe, während hingegen ihr einen Haufen an Kenntnissen und Fähigkeiten mitbringt, aber mein Vorhaben aus meinen wilden Erklärungen herausinterpretieren müsst :D

Ich denke, ich werde einfach mal mit meinen jetzigen Fähigkeiten und Kenntnissen etwas bauen und dann hier im Forum verlinken und auf Wunsch natürlich auch herzlich gerne Quellcodes veröffentlichen.

BTW, bin gerade hierauf https://www.edv-lehrgang.de/php-funktion-fgetcsv/ und hierauf https://hellocoding.de/blog/coding-language/php/csv-datei-lesen-schreiben gestoßen und das riecht ganz verdächtig nach euren Vorschlägen.
 
Zuletzt bearbeitet von einem Moderator:
  • Gefällt mir
Reaktionen: nciht
Wenn ich das richtig verstanden habe, ist das ja eine reine Informationsdatenbank. Das heißt die Besucher werden nur lesend auf die Daten zugreifen, wo auch immer sie nun herkommen (Datenbank, CSV, etc). In dem Falle beschränkt sich die Behandlung der CSV-Datenbasis lediglich auf das Lesen der Datei, filtern der gewünschten Zeilen (zB eine banale String-Suche) und Darstellung der gefilterten Daten in einer Tabelle.

Selbst wenn gewünscht ist, dass Besucher die Datenbank mit Datensätzen füllen können, würde ich das sowieso nicht voll freigeben, auch nicht bei einer SQL-Datenbank im Hintergrund. Stattdessen würde ich entsprechende Eingabeformulare für neue Daten erstellen, die dann separat gespeichert werden (quasi eine output-csv). So kannst du als Admin die Vorschläge sichten und gegebenenfalls validieren, um sie anschließend in die Datenbank-CSV-Datei einzupflegen.

McMoneysack91 schrieb:
Ich glaube das größte Problem ist, dass ich zwar ganz genau weiß, was ich will, aber zu geringe Kenntnisse bzw Fähigkeiten in dem Bereich habe
Genau deswegen kamen ja die Vorschläge in Richtung google docs und dergleichen. Das war in keinster Weise böse gemeint oder so, sondern eine Einschätzung deiner Fähigkeiten und deiner Zielsetzung. Das Projekt als solches ist aber ohne Frage ein gutes Ziel zum Lernen, weil es nicht besonders komplex ist. Ich würde an deiner Stelle aber erstmal im Trockenversuch daheim starten bevor du sowas online stellst, einfach aus Prinzip.
 
Raijin schrieb:
Das heißt die Besucher werden nur lesend auf die Daten zugreifen
Exakt. Ich alleine kann die Tabelle bearbeiten. Der Besucher sieht nur die Ergebnisse wie eine große Enzyklopädie. Das einzige was er selbst "machen" darf, ist eben diese Filter setzen, die ebenfalls nur ich vorgeben werde.

Raijin schrieb:
Ich würde an deiner Stelle aber erstmal im Trockenversuch daheim starten bevor du sowas online stellst, einfach aus Prinzip.
Das online zu machen, stelle ich mir einfacher vor, es mit euch zu teilen. Ihr seht sofort den Quellcode und könnt direkt Patzer erkennen oder Ergänzungen benennen.
 
Weil das zum "Code teilen und bewerten" optimal geeignet ist.
Und wenn du mehr programmieren willst in Zukunft kommst du um Git eh nicht drum rum.

PS: grad erst gesehen, dass du ne Website hast. Du solltest ernsthaft über ein Impressum nachdenken! Spätestens weil unten Werbung (powered by) ist. Kann sonst schnell unangenehm werden, grad weil du die Page auch auf YT verlinkst.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: McMoneysack91
Eigentlich ist dein Vorhaben ganz einfach umzusetzen wenn man die Technologie beherrscht.
Genau das ist das Problem hier. Du beherrschst es nicht, aber zum Glück ist dir das auch bewusst.

Ein öffentlicher Auftritt, ohne Absicherung der Seite kann dazu führen dass du bzw. dein Server für böse Sachen missbraucht werden kann -> du haftest.

Die Datenbank, sofern es eine gibt, kann ohne Beachtung von bestimmten Regeln ganz einfach ausgelesen werden von fremden. Okay, bei dir stehen da keine Kundendaten drin, ist also nicht kritisch, aber dennoch eine Lücke.

Du willst ein Auto bauen nur mit dem Wissen dass der Motor die Räder zu drehen bewegt.
Alles andere weißt du nicht und genau deshalb ist das Projekt, leider, zum Scheitern verurteilt, so leid es mir auch tut.

Was ich dir empfehlen würde:
Account auf Github anlegen (kostenlos), du sollst mit einem Git Repository deine App entwickeln. Niemand entnickelt heute ohne eine Versionsverwaltung.

Github hat Millionen apps, die frei öffentlich zugänglich sind.
Schau dir den Code an, kopier ihn dir, forke ihn (klone das gesamte Repository mit Code).
Dort gibt es mehr als genug Beispiele mit einer einfachen PHP Seite und echten SQL Anbindung.

Lern diese einfachen Strukturen kennen, lern PHP einzurichten und mit SQL umzugehen.

Hier ein Beispiel, leider mit mysqli aber immerhin besser als csv-dateien.
https://github.com/weixiong15/PHP-Bookstore-Website-Example

edit:
Auch bei meinem verlinkten Beispiel tun mir die Augen weh wenn ich den Code anschaue aber so startet jeder Mal. Hat nichts mit guter Programmierung zutun aber für Lernzwecke top.
 
[ChAoZ] schrieb:
Die Datenbank, sofern es eine gibt, kann ohne Beachtung von bestimmten Regeln ganz einfach ausgelesen werden von fremden. Okay, bei dir stehen da keine Kundendaten drin, ist also nicht kritisch, aber dennoch eine Lücke.
Ist zwar grundsätzlich richtig, dass man sich um Sicherheit immer Gedanken machen sollte, aber hier sollen Daten aus einer .csv Datei ausgelesen und in einer Tabelle angezeigt werden. Da sind Betrachtungen zur sinnvollen Datenbankanbindung fehl am Platz. Die Daten sind ohnehin für jeden sichtbar.

Ich würde es zwar nicht so angehen und auch dafür plädieren, dass man sich zuerst mit Grundlagen auseinander setzt, aber für einen unerfahrenen Enthusiasten ist es IMHO ein gangbarer Weg, tabellarische Daten (bis zu einer gewissen) Größe einfach in einer Tabelle anzuzeigen und diese filterbar zu machen. Dafür bietet HTML+JavaScript genug Möglichkeiten mit überschaubarem Lernaufwand: https://www.tablefilter.com/linked-filters.html
 
  • Gefällt mir
Reaktionen: nciht
Rossie schrieb:
Dafür bietet HTML+JavaScript genug Möglichkeiten mit überschaubarem Lernaufwand: https://www.tablefilter.com/linked-filters.html
Oh Junge Junge, das sieht meinem Vorhaben gefährlich ähnlich.

Nun muss ich noch irgendwie versuchen 1 + 1 zusammenzuführen. Ich habe eine .csv Datei erstellt (super simpel) und diese auf meinen File Manager hochgeladen. Sie liegt im selben Verzeichnis wie die .html Datei, die sie auslesen und darstellen soll.

Ich muss nur noch verstehen wie ich mit PHP daraus Arrays und all das erstelle, um das auch visuell für den Anwender anzuzeigen.
 
McMoneysack91 schrieb:
Ich muss nur noch verstehen wie ich mit PHP daraus Arrays und all das erstelle, um das auch visuell für den Anwender anzuzeigen.
Es braucht nicht zwingend eine Verarbeitung auf dem Server. Man könnte die Tabellendaten auch mittels JavaScript laden.
 
Nein.
Natürlich kann man mit Javascript auch externe Daten einlesen. Da Javascript -anders als PHP- im Clientbrowser läuft, muss man berücksichtigen, dass man nicht nicht per Filesystem auf beliebige Dateien zugreifen kann, die auf dem Server liegen. Das ist beschränkt auf Webressourcen wie CSS und JS welche in der HTML Seite eingebunden werden.
 
LencoX2 schrieb:
Natürlich kann man mit Javascript auch externe Daten einlesen. Da Javascript -anders als PHP- im Clientbrowser läuft, muss man berücksichtigen, dass man nicht nicht per Filesystem auf beliebige Dateien zugreifen kann, die auf dem Server liegen. Das ist beschränkt auf Webressourcen wie CSS und JS welche in der HTML Seite eingebunden werden.
Klar kann man auf beliebige Dateien zugreifen, solange man den Webserver kontrolliert (was hier ja wohl der Fall ist) bzw. der Zugriff auf eine Ressource erlaubt ist (CORS).

Dieser JavaScript CSV-Parser hat eine entsprechende Demo-Seite, wo man sich unter dem "Remote File" Reiter das Ergebnis für eine .csv Datei vom Server lokal (in der Browser-Console) anzeigen lassen kann: https://www.papaparse.com/demo.
 
  • Gefällt mir
Reaktionen: KitKat::new()
Ich bezogen mich auch Browserclient und beliebige Dateien auf Server per Filesystem. Da gibt es Einschränkungen.
Javascript auf dem Host direkt ausgeführt, kann das natürlich auch auch.
 
LencoX2 schrieb:
Ich bezogen mich auch Browserclient und beliebige Dateien auf Server per Filesystem. Da gibt es Einschränkungen.
Ich bin mir nicht sicher, was dir hier vorschwebt.

Der TE könnte eine Lösung mittels JavaScript realisieren, die lokal im Browser läuft und vom Server die .csv Datei bezieht, deren Daten lokal verarbeitet und in einer Tabelle angezeigt werden. Dazu braucht es auf dem Host nur einen Webserver für statische Dateien. Dort wird kein JavaScript ausgeführt.
 
Zurück
Oben