Umfangreiche Produktdatenbank erstellen

ben-pen

ben-pen

Aktives Mitglied
Thread Starter
Dabei seit
26.08.2005
Beiträge
1.500
Reaktionspunkte
9
Hallo werte Macuser.

Ich hoffe ich bin hier richtig. In unserer Firma habe ich jetzt den Auftrag unsere Homepage neu zu gestalten und zu erstellen. Leider bin ich auf dem Gebiet der Webdatenbanken ein Laie, und brauche euren Rat!

Also, hier kurz der Umfang der Produktdatenbank:
- ca. 150 Produkte
- jedes Produkt hat nochmals eine Vielzahl von Unter-Varianten mit einzelnen Artikelnummern
- zu jedem Produkt ein Text + einige Hinweise
- zu jedem Produkt 1-2 Download-Links
- zu jedem Produkt 1-5 Abbildungen
- es sollte eine Suchmöglichkeit nach einzelnen Artikelnummern geben
- alles dreisprachig
- keine Bestellmöglichkeit

Also, eine typisch umfangreiche Produktdatenbank, welche ich erstellen muss.

Meine Fragen:
- Muss ich ein Datenbankprogramm selber erstellen (MySQL ...)?
- Gibt es eine einfache Software, mit der ich eine Datenbank erstellen und verwalten kann?
- Welche Programmiersprache ist empfehlenswert?

Es werden im Laufe der Arbeit garantiert noch viele Fragen auftreten, aber diese ersteinmal um mir eine Vorstelleung des Ausmaßen zu machen.

Im Prinzig bin ich ein absoluter Laie. Hab zwar schon gewisse HTML-Kenntnisse und ein paar Pages erstellt, aber immer mit Golive oder Dreamweaver. Sind diese Programme evtl. auch für eine solche Datenbank zu verwenden?

Es wäre gut, wenn jemend, der Erfahrung mit solch eine Datenbank hat, mir ein paar grundlegende Tipps gibt.

Vielen vielen Dank

BP
 
Hi,
als Programmiersprache / Datenbank ist PHP / MySQL empfhlenswert. Zum administrieren der Datenbank gibt es z. B. phpMyAdmin (ein OpenSource Webfrontend), aber auch andere Möglichkeiten.

Allerdings, sorry ist net bös gemeint, wenn du dich selbst als Laie auf dem Gebiet betitelst, wirst du mit der Aufgabe überfordert sein. Das ist schon ein echter Brocken für Profis auf dem Gebiet.

Alternativ zur Selbsterstellung kannst du mal nach "fertigen" Lösungen googlen oder aber (auch wenn der Code ziemlich unsauber ist) die dynamische PHP-Erstellung mit Dreamweaver in Angriff nehmen.
 
Danke für die erste schnelle Antwort.

Ich hab mir eigentlich schon gedacht, dass dies ein richtiger Brocken sein wird. Aber irgendwie muss und will (Ehrgeiz ;-) ich es doch packen. Werd mich wahrscheinlich in PHP und MySQL reinlesen müssen.
Aber, wenn es vielleicht wirklich mit Dreamweaver geht, wäre es mal ein Versuch wert, oder? Aber ich denke, auch da muss ich mich mit PHP .... auseinandersetzen.

Eine fertige Lösung wäre auch toll, muss mal schaun ob ich da was finde. Oder hat vielleicht jemand eine Empfehlung?

THX

BP
 
Die Frage ist natürlich auch, welche technischen Möglichkeiten der Server bietet, auf dem die Site dann liegen soll. Wenn Ihr Euren eigenen habt, seid Ihr flexibler als wenn Ihr ein Hostingpaket bei einem großen Anbieter Euer eigen nennen dürft.
 
Wenn du's selbst erstellen willst, solltest dich definitiv mit Datenbanken auseinandersetzen. Denn das Datenbankdesign musst du selbst erstellen und das sollte durchdacht sein! DW bietet dir nur die Möglichkeiten zur Konnektivität und zur Tabellenabfrage (habe das vor urzeiten mal genutzt: DW UltraDev4). Um eine reale Testumgebung zu schaffen musst du einen Web- und Datenbankserver lokal installieren.

Für Beginner ist hier am besten:

www.apachefriends.org
www.phpmyadmin.net

Da findest du fertige Pakete für alle relevanten Betriebssysteme und schon genanntes Webfrontend.

"Fertige" Lösungen sind mir für deine dedizierte Aufgabe nicht bekannt, aber da weiß vielleicht jemand anders weiter.

Ansonsten ist PHP prinzipiell relativ einfach zu erlernen, was die Syntax und Logik angeht, trotzdem wird das nicht von heute auf morgen perfekt sein.
 
Nach meinen Infos steht bei uns MySQL und PHP zur Verfügung.
 
Noch vergessen: auf jeden Fall gehört gute Literatur in jedes Entwickler-Regal bzw. auf dessen Schreibtisch!
 
Das ist richtig. Hab schon einige Literatur unter die Lupe genommen.

Man, hoff ich pack das. Zeit und Geduld ist hier wahrscheinlich am gefragtesten
 
Also du solltest dich auf jeden Fall mit Datenbankdesign auseinandersetzen, damit du später ein leicht pflegbares System hast. Irgendwas runterprogrammieren was läuft, wird wohl nicht so das Problem sein, aber damit es wirklcih wartbar wird, dazu gehört nunmal viel Erfahrung bzw. entsprechendes Wissen. Also erstmal verstehen wie man relationale Datenbanken aufbaut, dann tust dich auf jeden Fall nachher leichter. Also vorausgesetzt du entscheidest dich MySQL zu verwenden.
 
Geduld wirst du auf jeden Fall brauchen, der Faktor Zeit ist für mich - dadurch, dass du kompletter Anfänger bist - nicht einzuschätzen. Andererseits ist's natürlich schon etwas besonders, so eine Seite auf die Beine gestellt zu haben.

Ein Tipp noch: versuch dich, wenn du wirklich von Hand codest, gleich in OOP (objektorientierte Programmierung) einzuarbeiten. Die Aufsplittung in Unterkategorieen etc. schreit förmlich nach der Vergabe von Attributen und du wirst den Code wesentlich flexibler gestalten / erweitern können.
 
Man oh man. Das wird wirklich noch harte Arbeit.

Kannst du mir OOP genauer erklären. Ich kann damit nicht viel anfangen.

Andere Frage: Kennt jemand von euch "Typo3"? Wäre das evtl etwas was ich verwenden könnte? www.typo3.de

BP
 
Typo ist eher etwas für Profis->sehr mächtige Enterprise-Datenbank aber auch extrem hoher Einarbeitungs- und Entwicklungsgrad. Aufsetzen könntest du die Seite damit sicherlich, nur ist das auch nicht ohne: fehlende Plugins für deine Anforderungen etc.

Bezüglich OOP:
ich kann nachher vielleicht noch ein paar Weblinks raussuchen, die das Thema gut erläutern; schreib mir ggf. nochmal 'ne PM zur Erinnerung! Das Erklären würde hier den Rahmen sprengen, gerade als Anfänger. Ich hatte das nur erwähnt, damit du schon mal im Hinterkopf hast, das diese Programmierart für dein Vorhaben besser geeignet ist.
 
vergiss OOP.

fang erst mal an, mit dem SQL-admin-ding (myPHPadmin) eine datenbank anzulegen, mach eine tabelle mit 2 einträgen, einmal ID und einmal irgendwas.
dann schau dir an, wie du mit PHP auf diese daten zugreifst.

wenn das klappt, dann haste schon halb gewonnen.

ich glaube du solltest für den anfang mal nur die client-seite umsetzen, also fertige daten aus der datenbank auslesen.
danach kannste, wenn du willst, ein nettes CMS schreiben, wo dann DAUs auch daten eingeben können.
dieser teil ist aufwändiger als nur das auslesen-teil.

ich hab viel von www.w3schools.com gelernt.
ganz einfache beispiele und erklärungen, auf denen du aufbauen kannst.
 
Such Dir einen Open Source Shop aus dem Internet.
So habe ich das damals gemacht, bei meiner Schwester. War zwar nicht die Beste Wahl wie ich mittlerweile weiß, aber als Rookie die schnellste Art den Shop erst einmal Online zu bringen. MYSQL, PHP usw. habe ich erst später dazu gelernt.

Typo3 kann viel, hat auch Shop extensions, nur selber programmieren geht wahrscheinlich schneller als sich in Typo3 einzuarbeiten. Es ist extrem schlecht dokumentiert!

Es gibt doch ein paar Open Source Shops, die kannste ja mal zu Testzwecken am MAC installieren. Dazu muss nur php und MYSQL am MAC laufen.
Wenn Dir einer zusagt, nimm den her.

Vorteile von Open Source sind:
- umsonst
- beliebig von Dir erweiterbar
- fast alle laufen über php und MYSQL

Wenn Du mal Ahnung von php hast, kannste den Shop selber erweitern. Ich mache das am Shopsystem meiner Schwester. Da habe ich einige nützliche Sachen in den Adminbereich integriert. z.B. eine Bestellübersicht, aktuellste Bestellung ist immer ganz oben. Mit einem Klick auf die Bestellnummer geht ein Fenster mit den ganzen bestellten Artikeln auf. Alles zum ausdrucken bei Bedarf.
Meine Schwester ist dankbar um diese Funktion, weil Sie so einen Überblick über alle Bestellungen hat, so etwas gab es vorher nicht. Da kam nur eine Mail das bestellt wurde. Und so eine Mail ist schnell verschwunden! :D
 
ben-pen schrieb:
Also, hier kurz der Umfang der Produktdatenbank:
- ca. 150 Produkte
- jedes Produkt hat nochmals eine Vielzahl von Unter-Varianten mit einzelnen Artikelnummern
- zu jedem Produkt ein Text + einige Hinweise
- zu jedem Produkt 1-2 Download-Links
- zu jedem Produkt 1-5 Abbildungen
- es sollte eine Suchmöglichkeit nach einzelnen Artikelnummern geben
- alles dreisprachig
- keine Bestellmöglichkeit


Immobilien oder Autos !?


in jedem Falle ist das etwas für eine individuelle Lösung, wenn es gut werden soll. Das heißt eigenes Produktbezogenes DB-Design, ggf. Kapselung durch Objekte und Aufbau einer Suchseite, sowie Präsentation der Ergebnisse. Das alles geht nicht wirklich sinnvoll vorgefertigt. Insbesondere CMSe (wie Typo3, joomla,..) scheiden hier m.e. aus! Do it yourself and a longer way to Tiparary for you ;)

das ist ein gutes Stück arbeit, an dessen Ende Du wissen wirst wie DBMS funktionieren, wie man PHP programmiert und was OOP ist! Ohne all das wird es nicht gehen - zumindest nicht zufriedenstellend für den Auftraggeber!
 

Dem kann ich nicht ganz zustimmen: wenn ein so großes Projekt umgesetzt werden soll, ist prozeduraler Code gerade für Anfänger noch schlechter zu überschauen (wegen der Codelänge, etlichen if/else oder switches z. B.). Außerdem können einzelne Fehler / Verbesserungen / Umstrukturierungen mit OOP besser abgehandelt werden.

Prinzipiell ist natürlich mores' Vorschlag richtig: erst mal schauen wie man an Daten kommt und diese verarbeiten kann. Aber im Hinblick auf die Durchführung des Projektes ist es m. E. nach besser, objektorientiert zu arbeiten.

Ansonste sollte es KEIN Shop werden! Zwar ähnliche Charakteristika von der Produktpräsentation, aber eben kein Warenkorb-System mit Bestellmöglichkeit.

edit:

wie wegus schon schreibt, die genannten Anforderungen verlangen eine Custom-Lösung. Wenn man ein bestehendes CMS in der Richtung überarbeiten will, muss man neben PHP / MySQL auch noch den Programmaufbau und die Modularität des CMS kennen und dass macht das Ganze noch aufwendiger.
 
Zuletzt bearbeitet:
Vielen Dank für eure rege Beteiligung und eure Hilfe.

Vielleicht bin ich nach dem Projekt hier nicht mehr der Fragensteller sondern der Antwortgeber ;-)

Ich rudere jetzt noch mal kurz in eine andere Richtung. Und zwar:

Angenommen ich gestalte/programmiere die Seite mit stinknormalem HTML und Golive oder so. Könnte ich da nicht eine Art Vorlagenseite für die Produkte erstellen, wo ich dann aus einer Excel-Tabelle die verschiedenen Produkte einfließen lassen könnte. Mit einem Prog oder PlugIn oder so. Klingt jetzt vielleicht blöd, aber naja.
Die Page würde dann natürlich viel einfacher, aber evtl. reicht das aus.

BP
 
Ja, das geht. Ich würde es dann so machen:

HTML-Datei mit [PLATZHALTERN] erstellen. Und dann in dieser Art die Platzhalter ersetzen:

PHP:
$content = join('', file('templates/produkt_ansicht.html'));
$content = str_replace('[PRODUKTNAME]', $produkt_name, $content);
$content = str_replace('[BILDER]', $produkt_bilder, $content);
$content = str_replace('[TEXT]', $produkt_text, $content);
// […]
echo $content;

Natürlich musst Du die Variablen $produkt_name etc. erstmal einlesen, das geht aber relativ einfach, wenn Du die Excel-Tabelle als CSV exportierst.
 
Excel ist sicher nicht optimal, enthält es doch sogar noch Infos zur Schriftart,... - Ein CSV-Export kann aber sehr wohl als DB auf Dateibasis genutzt werden. Sofern nicht in die Datei geschrieben werden muß, ist das durchaus auch eine Lösung!

Von GoLive oder Dreamweaver solltest Du Dich aber etwas lösen, da die Umsetzung nach einer programmierten Lösung verlangt, ist hier eine PHP-IDE wie Zend oder Quanta angebrachter. Die Resultate kannst Du dann für die GUI-Entwicklung in Dreamweaver oder GoLive verwenden. Du erleichterts Dir das Leben enorm, wenn Du nicht mit einem HTML-Designer versuchst zu programmieren. Generell kann man eine Schraube auch mit nem Hammer einschlagen, ein Schraubendreher ist aber das effektivere Werkzeug ;)
 
join('', file('templates/produkt_ansicht.html'));

funktioniert aus welchen Gründen auch immer, nicht überall.

Alternativ:

$content = file_get_contents('templates/produkt_ansicht.html');
 
Zurück
Oben Unten