Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [SQL][PHP]funkcja str_replace - zamiana znaków, zamiana, zapis i odczyt z bazy danych
kosmic
post 20.12.2011, 08:56:17
Post #1





Grupa: Zarejestrowani
Postów: 132
Pomógł: 0
Dołączył: 31.10.2007

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


witam,
mam mały problem i troszke sobie nie radzę z jego rozwiązaniem, a mianowicie chodzi mi o pewnego typu sytuację, jaka zachodzi w moim skrypcie...

powiedzmy, że chcę zapisać do bazy daną cyfrę, a dokładniej kwotę, którą pobieram z pliku test.csv !
no i pobrana kwota to powiedzmy: 1.234.567,89 zł lub 1 234 567,89zł - w zależności jak sobie wyeksportuję plik,
ale zmierzam do sedna, ponieważ aby poprawnie i czytelnie było to później odczytane, to chciałbym zapisać to do bazy w taki sposób: 1 234 567,89zł, choć te grosze to już są mało istotne i może być to bez nich...

chodzi o to, że potrzebuje później wyciągać te dane, aby dokładnie i czytelnie były widoczne, do tego jeśli takich liczb jest 500, to najmniejszą kwotę i największą itp... no i podmieniam sobie znaki np:

Kod
$nd2 = trim(str_replace(".", " ", $d2));
lub
$nd2 = trim(str_replace(" ", "", $d2));


no i teraz jeśli pole tabeli w sql ma atrybut INT: to zapisuje się tylko pierwsza liczba, do pierwszej spacji, np: 1, chyba że zamienię kropkę lub spację na puste pole i liczba jest zapisana bez żadnego odstępu: 1234567
i w tym przypadku swobodnie znajde min, max i pobiorę żądaną kwotę, ale wyświetla mi się właśnie jako jeden ciąg cyfr, a to nie jest już czytelne i nie łądnie wygląda,

jeśli natomiast atrybut pola jest powiedzmy varchar, to mogę zapisać tak jak chcę do bazy: 1 234 567,89 - ale wtedy są przekłamania jeśli chodzi o max i min, no i wartości też są tylko do pierwszej spacji

min i max pobieram w ten sposób:
Kod
$min_turn = mysql_query("SELECT MIN(dane2) AS min_dane2 FROM baza");
$row = mysql_fetch_assoc($min_turn);
$min = $row['min_dane2'];

$max_turn = mysql_query("SELECT MAX(dane2) AS max_dane2 FROM baza");
$row = mysql_fetch_assoc($max_turn);
$max = $row['max_dane2'];


proszę o pomoc, bo co prawda mogę zapisać to bez żadnych odstępów do tabeli i potem to wyświetlić, ale w przypadku liczb rzędu kilkanaście milionów złotych, to nie są czytelne te liczby, bo trzeba liczyć trójkami, aby wiedzieć czy jest to milion, czy dziesięc itp...
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Wersja Lo-Fi Aktualny czas: 24.07.2025 - 18:37