Homepage selbermachen 7.851 Themen, 35.615 Beiträge

Tarifrechner - Wie programmiert man den am besten per PHP und SQ

Gutemine / 12 Antworten / Baumansicht Nickles

Hi erst einmal an alle :-)

Ich muss einen Tarifrechner erstellen und hab keine Ahnung wie ich sowas hinbekommen kann. Ich denke am besten wäre es wenn die Tarife in einer SQL-Datenbank sind und dann von der Seite aus via Anfrage durch ein Formular in PHP der günstigste Tarif angezeigt wird oder so.

Beispiel bei Telefontarifen:

Der User gibt ein, dass er zwischen <12-15> Uhr ein <Ortsgespräch> führen möchte, und einen Tarif <ohne Voranmeldung> sucht. Aus den Angaben <12-15>,<Ortsgespräch> und <ohne Voranmeldung> soll dann ein PHP-Script den günstigsten Tarif in einer Liste ganz oben als empfohlenen ausgeben.

Und nun meine kleine Frage an Euch: Wie krieg ich das hin ? :-)

Danke in jedem Fall schon mal im Vorraus für Eure Antworten :-)

bei Antwort benachrichtigen
xafford Gutemine „Tarifrechner - Wie programmiert man den am besten per PHP und SQ“
Optionen

Die größte Aufgabe dafür ist das Design der zugehörigen Datenbank. Ich würde folgenden Ansatz wählen:

Feld 1: Anbieter char(65) Primary Key //Name des Anbieters
Feld 2: Anmeldung Tiny Int(1) NOT NULL default 0 Index //Anmeldung nötig oder nicht (1,0)
Feld 3: Takt int(3) Index //Taktung in Sekunden
Feld 4: Einwahl double(2,2) default 0.00 Index //Einwahlgebür in cent
Feld 4 - Feld X: double(3,2) //Hier für z.B. jede Stunde die Gebühren eintragen, also 24 Felder.

Für jede Zone dann eine eigene Tabelle (Ortsgespräch, Fern, etc).
Mit einer Abfrage in der Art:
SELECT Anbieter FROM Ortsgespraeche WHERE MIN( Summe der Stunden in denen Telefoniert wird) AS preis ORDER BY preis LIMIT so viel wie Du anzeigen willst.
Wenn du den wirklichen Preis willst, dann mußt Du das natürlich noch entsprechend aufbereiten.

Eventuell geht´s auch noch einfacher, ich kenne mich mit den Tarifstrukturen nicht aus.

Pauschalurteile sind immer falsch!!!
bei Antwort benachrichtigen
Gutemine xafford „Die größte Aufgabe dafür ist das Design der zugehörigen Datenbank. Ich...“
Optionen

Danke für Deine Antwort :-)

Okay, das mit der Datenbank müsste ich (hoffentlich) via PhpMyAdmin hinbekommen. Aber wie kann ich dann von der Webseite aus via Anfrage durch ein Formuar eine Liste ausgeben ?

bei Antwort benachrichtigen
Pitje_Puck Gutemine „Tarifrechner - Wie programmiert man den am besten per PHP und SQ“
Optionen

Meiner Ansicht nach bist du nicht sooo firm in Sachen PHP und Mysql, sich da an einen Tarifrechner als erstes zu machen ist schon etwas gewagt, nimms nicht persönlich ich spreche aus Erfahrung. Ich empfehle lieber, sich per google.de nach etwas vorgefertigtem (vielleicht auch ein direktes Script) umzusehen

bei Antwort benachrichtigen
Gutemine Nachtrag zu: „Tarifrechner - Wie programmiert man den am besten per PHP und SQ“
Optionen

Nein, nehm ist nicht persönlich da Du ja recht hast. Meine Erfahrungen bezüglich PHP und MySQL beschränken sich zur Zeit auf das verwenden und anpassen vorgefertigter Scripts (Foren z.B.). Ich habe schon auf den mir bekannten gängigen Seiten (z.B. phpwelt.de, phparchiv.de u.s.w.) nach vorgefertigten Scripts gesucht, aber nichts gefunden (auch nicht via Allesfinder Google). Es scheint als gäbe es kein solches Script in vorgefertigter Fassung. Vielleicht ist meine Hoffnung, dass es nicht soo sehr schwer sein sollte eine Lösung zu finden nur das Resultat meines PHP-Neulings-Leichtsinns - dennoch muss ich eine Lösung finden...

Ich bin daher weiterhin für jeden Tipp und für jede Hilfestellung sehr dankbar :-)

bei Antwort benachrichtigen
matren Gutemine „Tarifrechner - Wie programmiert man den am besten per PHP und SQ“
Optionen

Das sollte mit PHP und MySQL kein Problem sein. Wenn Du dich mit Datenbankdesign, HTML, SQL und PHP auskennst. Da kann ich dich sicherlich unterstützen. Aber: wie zum Teufel aktualisierst Du Deine Daten, die ändern sich doch laufend ?

gruss

bei Antwort benachrichtigen
Gutemine matren „Das sollte mit PHP und MySQL kein Problem sein. Wenn Du dich mit...“
Optionen

Ehrlich gesagt hab ich von PHP und SQL noch recht wenig Ahnung. Die aktualisierung der Daten geschieht von Hand, da es hierfür wohl kaum die Möglichkeit git einen "Grabber" zu programmieren. Die jetzige Aufgabe die ich zu lösen hab besteht daraus eine Datanbank mit den Tarifen zu erstellen. Der Benutzer gibt dann seine gewünschten Attribute in einem Formular an, und dann soll eine Tabelle erscheinen mit dem günstigsten Tarif an oberster Stelle, mit Link, Eigenschaften des Angebotes u.s.w...

Knifflig aber irgendwie muss es ja gehen. Für Hilfe bin ich immer dankbar. Kannst mir ja mal mailen an dasdas@wudu.de :-)

bei Antwort benachrichtigen
Pitje_Puck Gutemine „Ehrlich gesagt hab ich von PHP und SQL noch recht wenig Ahnung. Die...“
Optionen

Ich bleibe dabei, ich würde erstmal kleinere Brötchen backen bevor ich mich an eine Torte begebe. Ich glaube nicht, dass wir das hier so vermitteln können, es sei denn jemand ist so frei und schreibt Dir das Script

bei Antwort benachrichtigen
Gutemine Pitje_Puck „Ich bleibe dabei, ich würde erstmal kleinere Brötchen backen bevor ich mich an...“
Optionen

Schon klar, Pitje, hast ja auch eigentlich Recht. Das Problem ist nur, dass ich mir meine Aufgabe nicht aussuchen kann :-)

Ich muss irgendwie so einen Tarifrechner/Tarifvergleich umsetzen mit Hilfe von PHP und SQL. Aber sooo schwer kanns doch eigentlich auch nicht sein durch ein Formular Datensätze aus der Datenbank auszulesen und dann gelistet nach einem bestimmten Wert auszugeben...

Weiterhin bin ich für jeden "sachdienlichen Hinweis" (wie bei der Polizei) sehr dankbar. Vielleicht kennt ja jemand ein Script dass man nur noch anpassen muss ?

bei Antwort benachrichtigen
matren Gutemine „Schon klar, Pitje, hast ja auch eigentlich Recht. Das Problem ist nur, dass ich...“
Optionen

Alles möchte ich dir nicht in den Schoß legen, daher hier erstmal ein allgemeiner Vorschlag zu den Datenbanktabellen:

Tabellen:
a) Anbieter (enthällt alle Anbieterdetails, Homepagelinks etc. also alles was du an Anbieterinfos speichern musst
b) Tarife (enthält alle Tarife. Im speziellen folgende Informationen:
- die Anbieter ID dieses Tarifs
- gegebenfalls ein Name
- Startzeit (ab wann ist der Tarif gültig - z.b. als Timestamp)
- Endzeit des Tarifs
- Anmeldung erforderlich (als Bool Feld (oder bei manchen Datenbanken ein Char (1) Feld wo dann "Y" oder "N" eingetragen wird))
- Tarifart (evtl. kann noch eine Tarifarttabelle angelegt werden und hier dann die TarifartID.
- Taktung (in sekunden)
- Taktpreis (in cent)

evtl. musst Du noch weitere Felder anlegen (siehe auch xaffords antwort)

Es ist, soweit ich weiss, verdammt schwierig den Tarifdschungel in eine Struktur zu pressen. (Das bleibt letztendlich dir überlassen.
Stell dich auf jeden Fall auf Änderungen ein. Im Normalfall steigen die Anforderungen mit der Zeit sobald der erste Prototyp steht und auf einmal gibt es zig Ausnahmen, die dann irgendwie berücksichtigt werden müssen).

Allgemein:
-Stell dir eine Liste aller Daten zusammen die irgendwo rein müssen.
-Überleg dir in welche Gruppe (Tabelle) diese Daten reinpassen - z.B. Tarif, Anbieter, etc.) evtl. ist es hilfreich vorerst Excel-Tabellen anzulegen und mit Beispieldaten zu füttern)
-Erstell daraus die Datenbanktabellen (gib jeder Tabelle ein ID-Feld,
in der jedesmal eine eindeutige Nummer pro Datensatz abgelegt wird).

Mach dich am besten erstmal über Datenbankdesign mit relationale Datenbanken schlau. Ich habe damals irgendwo was in der MSDN von Microsoft gefunden (Ich glaub es war damals noch was zu Access 97).
Im Internet dürften sich dazu einiges finden.

bei Antwort benachrichtigen
matren Gutemine „Schon klar, Pitje, hast ja auch eigentlich Recht. Das Problem ist nur, dass ich...“
Optionen

Um ein wenig HTML Kentniss wirst Du nicht drumrum kommen.
Hier ein simples Beispiel eines Formulars auf einer HTML Seite:



Sorry wg. den . Habs hier nicht anders hingekriegt.
Die kannst du rauslöschen.

Prinzipiell funktioniert das so:
1) HTML Seite mit Formular anzeigen
2) User gibt seine Daten ein und drückt auf Abschicken
3) Der Browser schickt alle Daten an das angegebene Ziel (action)
(in diesem Fall ein PHP Script das die Daten auswertet)

Wenn Du mehr infos über HTML brauchst empfehle ich dir die SelfHTML Seiten von Stefan Münz: http://www.netzwelt.com/selfhtml

Wenn Du dennoch Probleme damit hast, dann nimm einfach einen Editor wie Frontpage (lass dich nicht von dem ganzen Müll den Frontpage in den HTML Code schreibt nicht abschrecken. Ab FrontPage2000 ist es besser geworden) und pass den HTML-Code entsprechend an.
bei Antwort benachrichtigen
matren Gutemine „Schon klar, Pitje, hast ja auch eigentlich Recht. Das Problem ist nur, dass ich...“
Optionen

Mir gehr langsam die Lust aus, aber hier ein paar links:

Die wichtigste Seite die du bei PHP brauchen wirst ist http://www.php.net

Hier ein Beispiel eines Formulars und wie du die werte mit PHP einliest: http://www.php.net/manual/de/tutorial.forms.php

Und hier ein Beispiel um mit PHP eine MySQL Datenbank abzufragen und die Daten auszugeben: http://de3.php.net/manual/de/ref.mysql.php
(etwas weiter unten unter "Beispiel" etwas weiter unten).

Ich hoffe damit ist dir jetzt mal für den Anfang geholfen.

bei Antwort benachrichtigen
Pitje_Puck matren „Das sollte mit PHP und MySQL kein Problem sein. Wenn Du dich mit...“
Optionen

Naja am sinnvollsten ist wohl auch eine Weitere Schnittstelle auf die DB, eine Eingabemaske, mit der man per Web seine Daten aktualisieren kann

Wobei ich sagen muss, man probt hier den Zwergenaufstand, denn onlinekosten.de und teltarif.de gibts bereits und hier gibts wahrscheinlich aktuellere Infos und man wird nur schwer besucher überzeugen können, den eigenen privaten Tarifrechner irgendwo im Web aufzusuchen. DAs wäre so wie wenn ich mich jetzt aufmache und ein eigenes OS auf den Markt schmeissen will, aber erstmal die Programmiersprache lernen muss, um dann mit MS zu konkurrieren.

bei Antwort benachrichtigen