Hi,
Ich schreibe grad ein kleines Kassenprogramm für das Restaurant in dem ich arbeite, es ist in php aufgebaut und läuft auf einem alten PC auf dem Localhost, Datenbanken wie MySQL oder so werden nicht unterstützt. Daher war ich gezwungen einen etwas Komplexeren lösungsweg zu gehen.
Nun aber zu meinen Problemen,
zum einen suche ich einen weg um auf den Seiten für die einzelnen Tisch die Preise der Artikel zusammenzurechnen, die sind in [span class=„preis“] angegeben ich hoffen das es da eine möglichkeit gibt das einfach alle Werte von dieser span class zusammengerechnet werden mitels php oder Javascript oder so ?
und das zweite Problem,
ich nutze momentan php zum schreiben der Artiel in eine dat-Datei, dass prinzip von Gästebüchern:
<?php $daten1="".$_POST[artikel].""; $datenbank = "daten.dat";
$datei = fopen($datenbank1,"a");
fwrite($datei, $daten);
?\>
Soweit so gut,
aber jetzt zu Problem zwei, wenn ich leute Kassiert habe bleiben die Artikel ja in der daten.dat, was muss ich tun damit ich die daten.dat bzw. deren Inhalt löschen kann?
hoffe Ihr könnt mir helfen,
lg. Meganova
sind in [span class=„preis“] angegeben ich hoffen das es da
eine möglichkeit gibt das einfach alle Werte von dieser span
class zusammengerechnet werden mitels php oder Javascript oder
so ?
Schau doch mal bei http://de.selfhtml.org/javascript/objekte/document.htm vorbei. Da stehen etliche Funktionen, um bestimmte Elemente zu suchen.
Ein getElementsByClassName gibt es IIRC nicht. Aber das kann man sich schreiben oder danach googlen, das haben andere auch schon getan.
bleiben die Artikel ja in der daten.dat, was muss ich tun
damit ich die daten.dat bzw. deren Inhalt löschen kann?
Z.B. Daten einlesen und alle, bis auf das zu löschende, wieder schreiben.
Schau doch mal bei http://de.selfhtml.org/javascript/objekte/document.htm vorbei.
Da stehen etliche Funktionen, um bestimmte Elemente zu suchen.
Ein getElementsByClassName gibt es IIRC nicht. Aber das kann
man sich schreiben oder danach googlen, das haben andere auch
schon getan.
Hab mal bei Selfhtml nachgeschaut, kann aber nicht wirklich was zu meinem Problem finden, gut Classen auslesen ja, aber wie ich Javascript dazu bringe die Werte zu berechnen weiss ich nicht.
Z.B. Daten einlesen und alle, bis auf das zu löschende, wieder
schreiben.
Daten Auslesen geht mit:
<?php $datenbank = "daten.dat"; $datei = fopen($datenbank,"r"); fpassthru($datei);
?\>
hab mir sagen lasse, dass bei fopen die Methode "r" zum auslesen steht. aber was muss ich für eine Methode nehmen damit nichts ausgelesen wird sondern entfernt ?
lg. Meganova
*schrei*
Datenbank?? öhm…
was auch immer ihr da macht - aua!
ihr lest nur eine Datei aus und gebt den Inhalt aus - mal abgesehen von einer extremen unsicherheit habt ihr damit noch andere Probleme wie z.B. Dateizugriffsprobleme, die im schlimmsten Fall sogar die Datei („Datenbank“) löschen könnten, wenn man sie im falschen Moment aufruft…
Nichtsdestotrotz wäre der richtige Buchstabe zum Schreiben „r+“ bzw „a“ oder „a+“
Nachzulesen hier: http://be.php.net/manual/de/function.fopen.php
Ich warne allerdings nochmal ausdrücklich: Tut nix, wovon ihr keine Ahnung habt oder sichert zumindest regelmässig das, was ihr habt…
Hab mal bei Selfhtml nachgeschaut, kann aber nicht wirklich
was zu meinem Problem finden, gut Classen auslesen ja, aber
wie ich Javascript dazu bringe die Werte zu berechnen weiss
ich nicht.
Naja, rechnen lässt sich mit „+“ oder „-“ oder „*“ oder …
Was genau ist Dein Problem da?
hab mir sagen lasse, dass bei fopen die Methode „r“ zum
auslesen steht. aber was muss ich für eine Methode nehmen
damit nichts ausgelesen wird sondern entfernt ?
Zu dem löschen des Inhaltes der Datenbank hab ich was auf php.net gefunden, das läuft jetzt.
Naja, rechnen lässt sich mit „+“ oder „-“ oder „*“ oder …
Was genau ist Dein Problem da?
Das Problem ist folgendes:
Von einem Formular aus werden in der daten.dat diese Werte gespeichert.
1
Artikel 1
1,50 €
Jetzt geht es darum das ich eine Funktion brauch die bei jedem eintrag „preis“ x „Maenge“ rechnet Und eine zweite Funktion die alle gesammtpreise berechnen.
Im prinzip also eher simpel, aber ich hab kein Plan wie ich das umsetzten soll.
Ich warne allerdings nochmal ausdrücklich: Tut nix, wovon ihr
keine Ahnung habt oder sichert zumindest regelmässig das, was
ihr habt…
Was meinst Du mit „im falschen moment zugreifen“ und „im schlimsten Fall löschen“ Deises kleine „Kassenprog.“ läuft nur lokal auf einem PC und es greift auch nur immer eine Person auf eine Dantebank zu. Naja gut und Dantensichernung machen wir eigendlich sehr regelmässig.
Von einem Formular aus werden in der daten.dat diese Werte
gespeichert.
1
Artikel 1
1,50 €
Das sind aber keine Formularelemente. Dazu brauchst Du .
Jetzt geht es darum das ich eine Funktion brauch die bei jedem
eintrag „preis“ x „Maenge“ rechnet Und eine zweite Funktion
die alle gesammtpreise berechnen.
Das würde ich nicht mit JavaScript machen, sondern in dem Script, das die Werte speichert in PHP. Da hast Du doch Deine Werte in $_POST (oder $_GET, je nachdem, welche Methode Du eingestellt hast) und kannst sie einfach aufsummieren.
Beispiel:
$gesamtsumme=0;
for ($i=0;$i
> Im prinzip also eher simpel, aber ich hab kein Plan wie ich
> das umsetzten soll.
Ich glaube, Du brauchst die Grundlagen des Programmierens und die Grundlagen des Programmierens in der Sprache, die Du für Deine Zwecke einsetzen wirst.
P.S.: Normalerweise heißt es ja "Menge" und nicht "Mänge".
Die Probleme, die er ansprach treten tatsächlich nur auf, wenn mehr als einer auf die Dateien zugreift. Dann kann es zu Überschreibungen oder tatsächlich zu Löschungen aller Daten in der einen Datei kommen, wenn nämlich mehr als einer gleichzeitig darauf zugreift.
Ein Mechanismus dagegen ist „File Locking“. Beim Arbeiten mit Textdateien musst Du das Locking aber selber umsetzen, bei einer Datenbank sind solche Mechanismen immer gleich enthalten.
Das sind aber keine Formularelemente. Dazu brauchst Du
.
Das was ich geschrieben hab mit span class… ist das was über das Script in der datei gespeichert wird.
Das würde ich nicht mit JavaScript machen, sondern in dem
Script, das die Werte speichert in PHP. Da hast Du doch Deine
Werte in $_POST (oder $_GET, je nachdem, welche Methode Du
eingestellt hast) und kannst sie einfach aufsummieren.
ich hab’s mit $_POST gemacht.
Ich glaube, Du brauchst die Grundlagen des Programmierens und
die Grundlagen des Programmierens in der Sprache, die Du für
Deine Zwecke einsetzen wirst.
Dass glaube ich auch. In sachen PHP kenne ich mich so gut wie garnicht aus.
P.S.: Normalerweise heißt es ja „Menge“ und nicht „Mänge“.
Ich weiss „Maenge“ ist nur ein kleiner tippfehler, das kann ich später noch ändern.
Kann ich Dir dann jetzt noch weiterhelfen? Hast Du noch konkrete Fragen? Das Programmieren kann ich Dir nicht beibringen. Und Tutorials zu PHP gibts wahrscheinlich genug.
Dieser Codeschnipsel gibt ja auch kein Ergebnis aus. Er berechnet nur eines.
Aber der Codeschnipsel ist auch aus dem Zusammenhang gerissen, weil ich nicht weiß:
a) wie die Felder Deines Formulars heißen
b) wie viele Felder Dein Formular hat
c) ob Du das Zwischenergebnis in $ergebnis noch irgendwo ander brauchst, weil das mit jedem Durchlauf immer wieder überchrieben wird.
Aber ohne den Gesamtcode kann man einen solchen zugeschnittenen Code nicht erstellen.
Und - Du musst jetzt nicht Deinen Code posten, denn ich für meinen Teil schreibe keine kompletten Codes. Ich versuche Wissen zu vermitteln. Ich habe Dir einen Beispielscode geschrieben, nun bist Du an der Reihe, den zu verstehen. Diese Mühe scheinst Du Dir gar nicht gemacht zu haben, denn sonst hättest Du sofort gesehen, dass der Code keine Ausgabe macht und was der sonst noch für Nachteile für Dich hat (s.o.).
Du hast weniger ein Problem mit der Programmierung, als vielmehr ein Problem mit dem Finanzamt, wenn Du eine solche Lösung einsetzt. Sagen Dir die Abkürzungen GOB/GOSB/GDPdU/AO/HGB etwas? Hast Du verstanden, welche Anforderungen sich danach für ein Kassensystem in der Gastronomie ergeben? Vermutlich nicht, denn schon die paar Sätze die Du über deinen Lösungsansatz schreibst, lassen mir die Haare zu Berge stehen. Tu Dir einen Gefallen, und bastel Dir etwas, das keiner gesetzlichen Regulierungsflut unterliegt, wie ausgerechnet ein Kassenprogramm, denn wenn da etwas schief läuft, bist Du ggf. sogar noch schadenersatzpflichtig