![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 5.11.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam. Mam taki problem i nie mam pojęcia jak to zrobić. Otórz wykonuję zapytanie do bazy: SELECT cena FROM ........ WHERE cena='".$cena."' .......
Cena nie jest jedynym warunkiem, ale nie o to chodzi. Chodzi o to że w bazie znajduje się wartość np: 20.99 (typ kolumny to FLOAT(10,2) na 100% jest tam ta wartość bo sprawdzałem. Przy wykonaniu zapytania $cena=20.99 a jednak MYSQL nie widzi podobieństwa i nie znajduje mi tej ceny. Wyświetlałem sobie tą $cena przed zapytaniem i jest poprawna. Inne wartość WHERE też są ok. Problem jest z ceną :/ POMOCY. Co zrobić żeby MYSQL porównał obie wartości poprawnie? zapomniałem dodać że jesli w bazię będzie wartość 10.00 i taką samą chcemy porównać to ZNAJDZIE! więc 10.00 == 10.00 20.99 != 20.99 (IMG:http://forum.php.pl/style_emoticons/default/blinksmiley.gif) (IMG:http://forum.php.pl/style_emoticons/default/sciana.gif) Ten post edytował zflyk 11.11.2007, 02:05:27 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 62 Pomógł: 3 Dołączył: 10.09.2004 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 5.11.2007 Ostrzeżenie: (0%) ![]() ![]() |
w koncu kolumna liczbowa a nie tekstowa, prawda ... wiec czemu liczba podana stringowo? no pomysł niezły, ale niebardzo :/
Update robi ok
wpisuje 35.30 ale przy SELECT już nie.
czy w takiej postawi jak proponowałeś
nic nie zwraca Dla
jest OK i dla innych wartości po przecinku nie znajduje nic (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 158 Pomógł: 43 Dołączył: 9.11.2007 Ostrzeżenie: (0%) ![]() ![]() |
Możesz zastosować DECIMAL, a nie FLOAT. Problem z liczbami rzeczywistymi jest opisany w dokumentacji
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 62 Pomógł: 3 Dołączył: 10.09.2004 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
mozna CASTowac ale to juz mija sie z celem
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 5.11.2007 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki za propozycje ale już sobie poradziłem. Przeglądając to forum natknąłem się na "zamienny sposób na ten problem. Koleś napisał że on zamienia kropki na spacje, więc poszedłem tym tropem. napisałem prostą funkcję która zamienia kropkę na spacje lub odwrotnie, sama sprawdza co ma zrobić i zamieniłem w bazie Float na Varchar (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) jest OK
Oto ta funkcja, może komuś się przyda:
Ten post edytował zflyk 12.11.2007, 00:18:58 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 62 Pomógł: 3 Dołączył: 10.09.2004 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Po co uruchamiać do tego wyrażenia regularne?
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 5.11.2007 Ostrzeżenie: (0%) ![]() ![]() |
BO eregi troche kojarzę a strpos nie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) więc dlatego
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 62 Pomógł: 3 Dołączył: 10.09.2004 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Uuu Panie (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) to tak jakby nie wiedzieć jak włączyć komputer ale umieć napisać Windowsa w assemblerze (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 5.11.2007 Ostrzeżenie: (0%) ![]() ![]() |
Uuu Panie (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) to tak jakby nie wiedzieć jak włączyć komputer ale umieć napisać Windowsa w assemblerze (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) HEHEHE (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) ( a asemblera znam (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) ale żeby winde w nim napisać to (IMG:http://forum.php.pl/style_emoticons/default/ohmy.gif) ) można zamknąć temat bo małe OT zaczyna się robić. Ten post edytował zflyk 12.11.2007, 00:15:50 |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 548 Pomógł: 2 Dołączył: 19.07.2003 Ostrzeżenie: (0%) ![]() ![]() |
witam
Twoje zapytanie nadal wysyłało cenę jako tekst. Nie jest ważne jak jest zmienna w php inicjowana/jakiego jest typu. Masz: Kod "UPDATE gm_towary SET cena='".$cena."' WHERE id='1'" a powinieneś mieć: Kod "UPDATE gm_towary SET cena=".$cena." WHERE id='1'" czyli bez pojedynczych ' pozdrawiam |
|
|
![]()
Post
#12
|
|
Grupa: Zablokowani Postów: 16 Pomógł: 1 Dołączył: 12.09.2006 Ostrzeżenie: (0%) ![]() ![]() |
Nie jest ważne jak jest zmienna w php inicjowana/jakiego jest typu. W tym wypadku jest ważne, bo konwersja float=>string (w php a nie mysql'u) jest powodem problemu. Powinno być:
albo:
Z uwagami o apostrofach się zgadzam. |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 5.11.2007 Ostrzeżenie: (0%) ![]() ![]() |
Już próbowałem bez apostrofów, bo ktoś wcześniej o tym pisał, ten sam objaw.
tego też próbowałem i nic :/ Już sobie z tym poradziłem. Dzięki za odpowiedzi. Pozdr |
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.09.2025 - 20:20 |