Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]Jak zmienić przecinek na ktropkę
guingampe
post
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 14.02.2011

Ostrzeżenie: (0%)
-----


Witam,

pod J!1,5
mam taki kod
Kod
<input class="inputbox required" type="text" name="salary" id="salary" size="10" maxlength="10" value="<?php echo this->row->salary; ?>" />


Podczas wpisywanie liczby z przecinkiem, który dostępny jest na polskich klawiaturach, do bazy zapisywane jest tylko to co stoi przed przecinkiem. Niezbędne jest stosowanie kropki!

Zamienilem kod na
Kod
<input class="inputbox required" type="text" name="salary" id="salary" size="10" maxlength="10" value="<?php echo str_replace(",",".",$this->row->salary); ?>" />


ale to nie rozwiązuje problemu.


Jak poprawnie nalezy wprowadzić str_replace?

Pozdrawiam
Go to the top of the page
+Quote Post
wookieb
post
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




A co robi kod, który masz teraz? Jako wartość pola TEKSTOWEGO w FORMULARZU wstawia tekst w którym zamieniasz przecinek na kropkę.
Dlaczego sądzisz, że ma to zmienić wartość pola zapisywanego do bazy?
Powód edycji: [wookieb]:
Go to the top of the page
+Quote Post
guingampe
post
Post #3





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 14.02.2011

Ostrzeżenie: (0%)
-----


Dzieki za aktywność.

Problem raczej leży gdzie indziej. W mysql typ pola został ustawiony na FLOAT.

Po zmianie na TEXT - oba wskazane kody działają.

Ale czy to znaczy, że dla FLOAT działa kropka i nie można stosować str_replace, żeby zamienić kropke na przecinek?

Ten post edytował guingampe 8.01.2012, 22:47:03
Go to the top of the page
+Quote Post
wookieb
post
Post #4





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Dla float działa kropka. Ale dlaczego uważasz, że zmiana przecinka na kropkę w POLU formularza zmieni wartość wpisywaną DO BAZY?
Go to the top of the page
+Quote Post
guingampe
post
Post #5





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 14.02.2011

Ostrzeżenie: (0%)
-----


W formularzu zostawiłem pierwszy zapis tak jak byl.

Rozumiem, że zmiana powinna nastąpić poza formularzem?

Wstawilem coś takiego:
Kod
$this->row->salary = str_replace(",",".",$this->row->salary);
echo $this->row->salary;


teź nie działa

Próbowałem wstawić tak,
Kod
$this->row->salary = 12.00
$this->row->salary = str_replace(",",".",$this->row->salary);
echo $this->row->salary;

Wtedy zapisuje ładnie 12.00, ale np kiedy zrobilem tak:
Kod
$this->row->salary = 12,00
$this->row->salary = str_replace(",",".",$this->row->salary);
echo $this->row->salary;

to formularz w ogóle nie działa...

próbowałem również wstawić do formularza tak

Kod
<input class="inputbox required" type="text" name="salary" id="salary" size="10" maxlength="10" value="<?php echo  $salary1; ?>" />

Kod
$this->row->salary = $salary1
$this->row->salary = str_replace(",",".",$this->row->salary);
echo $this->row->salary;
w ogole nie dziala - nie zapisuje żadnej danej do bazy..

Ten post edytował guingampe 8.01.2012, 23:18:44
Go to the top of the page
+Quote Post
Mackos
post
Post #6





Grupa: Zarejestrowani
Postów: 362
Pomógł: 44
Dołączył: 10.06.2009

Ostrzeżenie: (0%)
-----


Eh, to zrób tak:
Wejdź na stronę gdzie tak pięknie Ci wypisuje te dane z przecinkiem, a potem wpisz tam kwotę np. 122,67 (ważny przecinek),
a zaraz po tym spróbuj dodać gdzieś w kodzie php tą wartość 122,67 do dowolnej liczby całkowitej.
Tak jak Ci wookieb pisał Twoje rozwiązanie nie ma wiele wspólnego z Twoim głównym pytaniem.

Ten post edytował Mackos 8.01.2012, 23:24:20
Go to the top of the page
+Quote Post
guingampe
post
Post #7





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 14.02.2011

Ostrzeżenie: (0%)
-----


danych z przecinkiem własnie nie wypisuje...

Wiem, że żle ide... bo nie działa (IMG:style_emoticons/default/wink.gif) ale w którym kierunku iść? Chciałbym pokombinować, ale nie wiele moge... Z jednej strony musze trzymac sie szablonu formularza, bo to część całego komponentu...a z drugiej strony wpisywanie wartości z kropką jest uciążliwe... Ta wartośc liczbowa dottyczy wynagrodzenia za godzinę, rozumiesz lepiej byłoby gdyby byla z pzrecinkiem wstawiana do formularza i zamieniana w trakcie zapisu do bazy na kropkę.

Najlatwiej udało mi się zmienić to poprzez zmiane typu w bazie na Text, ale obawiam się ze takie pozostawienie doprowadzi, że zamiast stawki, będą dopiski walutowe itp...

Jestem w przedszkolu? Czy jakoś nalezy tam pzrenieść ten post?

Ten post edytował guingampe 8.01.2012, 23:31:55
Go to the top of the page
+Quote Post
shinuexx
post
Post #8





Grupa: Zarejestrowani
Postów: 78
Pomógł: 9
Dołączył: 2.02.2011
Skąd: undefined

Ostrzeżenie: (0%)
-----


daj str_replace do kodu który wpisuje do bazy.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 4.10.2025 - 18:16