Datentyp für Preis

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Datentyp für Preis

    Ich habe ein kleines Problem in meiner Datenbank wo ich die Lösung nicht sehe.

    Ich möchte Preise abspeichern und habe dafür in einer Tabelle der Datenbank eine Spalte mit dem Datentyp "DOUBLE(3,2)" eingebaut. Wenn ich nun einen Preis eintragen möchte wird leider nur der Wert vor dem Komma eingeschrieben, alles was danach kommt verschwindet. Wenn ich den Wert mit "." statt "," eingebe trägt er alles richtig ein. Ist das normal so?!?

    Wenn das so normal und richtig ist, dann gleich die nächste Frage. Wie kann ich Ihm sagen das er beim importieren von Daten aus einem "," ein "." machen soll und beim auslesen dies alles wieder umkehrt?

    Schon mal DANKE!

  • #2
    zu 1. Ja es ist so, alle Zahlen werden intern immer in englischen Format abgelegt

    zu 2a. vor dem Speichern entsprechend prüfen unf ggf. ersetzen, z.B. mit str_replace, preg_replace

    zu 2b. mit number_format, sprinft, printf in gewünschten Format ausgeben

    Kommentar


    • #3
      Okay, mit dem englischen Format kann ich wohl leben!

      Nun aber mal zu den anderen Dingen die Du nanntest!
      Ich kann ja mit phpmyAdmin wunderbar nen Befehl zum importieren aus einer Datei erzeugen...macht er ja super alleine dann. An welcher Stelle sollte ich dann dieses "str_replace" einbauen?

      Sicher wäre es besser, wenn ich mit php (damit wird die Datenbank später ausgelesen und bearbeitet, etc) jede Zeile der csv-Datei auslese. Diese dann durch "str_replace" jage und erst dann in die Datenbank spiele! Mit welchem Befehl kann ich mit php eine Datei Zeile für Zeile auslesen?
      Zuletzt geändert von VerNetzer; 23.02.2005, 12:50.

      Kommentar


      • #4
        Vor dem Import der Datei diese per PHP öffnen und alle "," durch "." ersetzen und da die Funktion einbauen.
        it's not a bug,
        it's a feature!

        Kommentar


        • #5
          Original geschrieben von XGremliN
          Vor dem Import der Datei diese per PHP öffnen und alle "," durch "." ersetzen und da die Funktion einbauen.
          Danke...aber den Gedanken habe ich auch gerade bei meinem letzten Beitrag rein geschrieben!

          Mit welchem Befehl könnte ich denn Zeile für Zeile auslesen?!?

          Kommentar


          • #6
            Befehle als Vorschlag: fopen, fget usw. sollten da helfen oder mal hier im Forum suchen, wie man Dateien ausliest.
            it's not a bug,
            it's a feature!

            Kommentar


            • #7
              nur so nebenbei weil ich das problem bei preisen auch schon hatte:

              musst du auch auf brutto/netto preise achten? dann kann es evtl. sinnvoll sein mehr als 2 nachkommastellen abzuspeichern!

              ich hatte es z.b. in einem rechnungssystem mal dass man wenn man eine rechnung schreibt auswählen kann ob die angegebenen preise brutto oder netto sind! wenn nun bruttopreise angegeben wurden muss man das ja erst in netto umrechnen und dann in der datenbank abspeichern. wenn dann nur 2 nachkommastellen abgespeichert werden kann es schnell zu fehlern kommen... vor allem wenn die position dann noch eine große anzahl hat!

              Kommentar

              Lädt...
              X