Du wrdest die Frage nicht stellen, wenn das funktionierte ... :-(
Ich bin schockiert, denn eigentlich soll es ...
Was geht schief, wenn Du die Angaben mit Komma machst?
Wahrscheinlich wird der Fehler durch ein fehlendes settype($npreis[$i],"double") ausgelst. Diese Variablentyp-nderung gehrt nach den Austausch von Komma durch Punkt mit ereg_replace. Was nichts wird sind, sind Tausenderpunkte.
Gru,
Andreas.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
-
2003-01-28
Aus Brutto 39,90 werden netto 33.6206896551
in die wiederum nachdem man den Artikel neu auftruft ergeben 39,00 Euro Brutto.
Wenn PHPAY gleich die Finanzamtsteuer abzieht das wre nicht so schn.
Gruss Jrgen
(Bist du gerade fleissig (in 10 Minuten 3 Fragen beantwortet)
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
:-) Ja offenbar ist es der Typenfehler... Wenn PHP einen numerischen Wert verarbeiten soll, nimmt es, was es 'versteht'. In diesem Falle die 39.
Irgendwo in der admin/item.php fehlt der Aufruf von settype().
Stichwort Flei: Im Allgemeinen geht es schneller Fragen im Forum zu beantworten und Ratschlge zu geben als selbst zum Texteditor zu greifen und gleichmal ein gebugfixte Datei upzuloaden ... ;-)
Gru,
Andreas.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Bei mir funktioniert das mit folgendem Schema:
(Komma bei Preiseingabe und nderung verwenden)
Beim Speichern eines neuen Artikels ($mode=="new")
$npreis[$i] = ereg_replace(",",".",$npreis[$i]);
if ($vatvalue=="1") { $npreis[$i] = $npreis[$i]/$vat ; }
settype($npreis[$i], "double");
Anzeigen des Nettopreises beim ndern des Artikels ($chg=="edit)
$nettopreis_gespeichtert=number_format((round(($price_row[0]),2)),2,",",".");
Speichern des genderten Preises bei ndern des Artikels ($mode=="edit")
$npreis[$i] = ereg_replace(",",".",$npreis[$i]);
settype($npreis[$i], "double");
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hallo Heinz,
mit meiner item.php kannst du leider nichts anfangen, da sie stark vendert ist und daher mit deiner version nicht laufen wrde.
Ich zeig dir nochmal die ndereungen, die du per suchen und ersetzen ndern kannst.
# item.php
#ndern innerhalb von -----elseif ($mode=="edit") {
#original:-------------------------------
while ($ncurID[$i]) {
if ($vatvalue=="1") { $npreis[$i] = $npreis[$i]/$vat ; }
$npreis[$i] = ereg_replace(",",".",$npreis[$i]);
settype($npreis[$i], "double");
$upd_res = db_query("insert into price values('%','$art', '$langID', '$ncurID[$i]', '1', '$npreis[$i]')"); $i++;
}
#gendert:--------------------------------------
while ($ncurID[$i]) {
$npreis[$i] = ereg_replace(",",".",$npreis[$i]);
settype($npreis[$i], "double");
if ($vatvalue=="1") { $npreis[$i] = $npreis[$i]/$vat ; }
$upd_res = db_query("insert into price values('%','$art','$langID','$ncurID[$i]','1','$npreis[$i]')"); $i++;
#------------------------------------------------------------------
#neu innerhalb von -----if ($mode=="new") {-------
#original:-------------------
while ($ncurID[$i]) {
if ($vatvalue=="1") { $npreis[$i] = $npreis[$i]/$vat ; }
$upd_res = db_query("insert into price values('%','$new_row[0]', '$langID', '$ncurID[$i]', '1', '$npreis[$i]')") or db_die();
#gendert-------------------
while ($ncurID[$i]) {
$npreis[$i] = ereg_replace(",",".",$npreis[$i]);
if ($vatvalue=="1") { $npreis[$i] = $npreis[$i]/$vat ; }
settype($npreis[$i], "double");
$upd_res = db_query("insert into price values('%','$new_row[0]', '$langID', '$ncurID[$i]', '1', '$npreis[$i]')") or db_die();
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
hat wunderbar funktionert, ich habe nur noch eine frage: beim anlegen eines neuen artikels wird ja automatisch ein punkt hinter die tausender stelle gesetzt. wenn ich jetzt den artikel ndern will, z.b. nur die menge, wird der preis mit dem punkt hinter der tausender stelle bernommen und setzt sich dann auf 1,38 zurck. weisst du da eine lsung? das wre mein letzter bug, den ich zu beseitigen htte. evtl. knnte ich auf den punkt verzichten
gruss, heinz
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Ich mu mich hier mal einmischen: Die Ausgabe fr das Formularfeld wird ja mit number_format() fomatiert. Als letztes Argument wird der Punkt als Tausendertrenner angegeben. Nimm den dort einfach weg, dann sollte es funktionieren.
Gru,
Andreas.
PS: Aus dem langen Thread entnehme ich, da mein Update nicht funktioniert hat - mal abgesehen vom Tausenderpunkt?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hallo Andreas,
was muss ich ndern damit ich in der Artikelverwaltung automatisch die Preise mit Kommas eingeben kann.
Im Vorraus besten Dank
Jrgen
Du wrdest die Frage nicht stellen, wenn das funktionierte ... :-(
Ich bin schockiert, denn eigentlich soll es ...
Was geht schief, wenn Du die Angaben mit Komma machst?
Wahrscheinlich wird der Fehler durch ein fehlendes settype($npreis[$i],"double") ausgelst. Diese Variablentyp-nderung gehrt nach den Austausch von Komma durch Punkt mit ereg_replace. Was nichts wird sind, sind Tausenderpunkte.
Gru,
Andreas.
Aus Brutto 39,90 werden netto 33.6206896551
in die wiederum nachdem man den Artikel neu auftruft ergeben 39,00 Euro Brutto.
Wenn PHPAY gleich die Finanzamtsteuer abzieht das wre nicht so schn.
Gruss Jrgen
(Bist du gerade fleissig (in 10 Minuten 3 Fragen beantwortet)
:-) Ja offenbar ist es der Typenfehler... Wenn PHP einen numerischen Wert verarbeiten soll, nimmt es, was es 'versteht'. In diesem Falle die 39.
Irgendwo in der admin/item.php fehlt der Aufruf von settype().
Stichwort Flei: Im Allgemeinen geht es schneller Fragen im Forum zu beantworten und Ratschlge zu geben als selbst zum Texteditor zu greifen und gleichmal ein gebugfixte Datei upzuloaden ... ;-)
Gru,
Andreas.
Bei mir funktioniert das mit folgendem Schema:
(Komma bei Preiseingabe und nderung verwenden)
Beim Speichern eines neuen Artikels ($mode=="new")
$npreis[$i] = ereg_replace(",",".",$npreis[$i]);
if ($vatvalue=="1") { $npreis[$i] = $npreis[$i]/$vat ; }
settype($npreis[$i], "double");
Anzeigen des Nettopreises beim ndern des Artikels ($chg=="edit)
$nettopreis_gespeichtert=number_format((round(($price_row[0]),2)),2,",",".");
Speichern des genderten Preises bei ndern des Artikels ($mode=="edit")
$npreis[$i] = ereg_replace(",",".",$npreis[$i]);
settype($npreis[$i], "double");
hallo peter,
knntest du mir die umgeschriebene datei freundlicherweise zusenden? ich bekomme das irgendwie nicht geregelt. vielen dank im voraus.
gruss, heinz
Hallo Heinz,
mit meiner item.php kannst du leider nichts anfangen, da sie stark vendert ist und daher mit deiner version nicht laufen wrde.
Ich zeig dir nochmal die ndereungen, die du per suchen und ersetzen ndern kannst.
# item.php
#ndern innerhalb von -----elseif ($mode=="edit") {
#original:-------------------------------
while ($ncurID[$i]) {
if ($vatvalue=="1") { $npreis[$i] = $npreis[$i]/$vat ; }
$npreis[$i] = ereg_replace(",",".",$npreis[$i]);
settype($npreis[$i], "double");
$upd_res = db_query("insert into price values('%','$art', '$langID', '$ncurID[$i]', '1', '$npreis[$i]')"); $i++;
}
#gendert:--------------------------------------
while ($ncurID[$i]) {
$npreis[$i] = ereg_replace(",",".",$npreis[$i]);
settype($npreis[$i], "double");
if ($vatvalue=="1") { $npreis[$i] = $npreis[$i]/$vat ; }
$upd_res = db_query("insert into price values('%','$art','$langID','$ncurID[$i]','1','$npreis[$i]')"); $i++;
#------------------------------------------------------------------
#neu innerhalb von -----if ($mode=="new") {-------
#original:-------------------
while ($ncurID[$i]) {
if ($vatvalue=="1") { $npreis[$i] = $npreis[$i]/$vat ; }
$upd_res = db_query("insert into price values('%','$new_row[0]', '$langID', '$ncurID[$i]', '1', '$npreis[$i]')") or db_die();
#gendert-------------------
while ($ncurID[$i]) {
$npreis[$i] = ereg_replace(",",".",$npreis[$i]);
if ($vatvalue=="1") { $npreis[$i] = $npreis[$i]/$vat ; }
settype($npreis[$i], "double");
$upd_res = db_query("insert into price values('%','$new_row[0]', '$langID', '$ncurID[$i]', '1', '$npreis[$i]')") or db_die();
vielen dank peter,
hat wunderbar funktionert, ich habe nur noch eine frage: beim anlegen eines neuen artikels wird ja automatisch ein punkt hinter die tausender stelle gesetzt. wenn ich jetzt den artikel ndern will, z.b. nur die menge, wird der preis mit dem punkt hinter der tausender stelle bernommen und setzt sich dann auf 1,38 zurck. weisst du da eine lsung? das wre mein letzter bug, den ich zu beseitigen htte. evtl. knnte ich auf den punkt verzichten
gruss, heinz
Ich mu mich hier mal einmischen: Die Ausgabe fr das Formularfeld wird ja mit number_format() fomatiert. Als letztes Argument wird der Punkt als Tausendertrenner angegeben. Nimm den dort einfach weg, dann sollte es funktionieren.
Gru,
Andreas.
PS: Aus dem langen Thread entnehme ich, da mein Update nicht funktioniert hat - mal abgesehen vom Tausenderpunkt?
hallo andreas,
dein update hat sicher prinzipiell funktioniert, ich hatte nur probleme bei der umsetzung (:-
aber dafr hat dein letzter tipp einwandfrei geklappt, jetzt funktioniert das perfekt. vielen dank noch mal.
gruss, heinz
Kann mich nur anschlieen, funktioniert wunderbar!