Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> liczby zmiennoprzecinkowe a sql
arek100
post 25.01.2008, 18:30:11
Post #1





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 23.01.2008

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


Witam, mam formularz który przesyła metodą POST liczby, jednak gdy musze przesłać np. liczbę 9,2 w do bazy dochodzi 9,0. pole w bazie mam ustawione na double(3,1). czy trzeba jakoś definiować to pole?
Kod
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-2" />
</head>
<form  action="#" method="post">
<input type="text" name="lp" size="2">


<input type="text" name="sesja" size="2">


<input type="text" name="wynik" size="2">


<?php
@$db = mysql_pconnect("xx, "xx", "xx");

if (!$db)
     {
     print "Nie można nawiązać połączenia z bazą danych";
     exit;
     }
mysql_select_db("projekt");
$srednia1 = mysql_fetch_array(mysql_query("select * from numer where lp ='".$lp."' "));
$suma1 = $srednia1[9] + $srednia1[8] + $srednia1[7] + $srednia1[6] + $srednia1[5] + $srednia1[10];
wynik = mysql_query("update numer set wynik = '".$suma1."' where lp= '".$lp."' ");
$query1 = mysql_query("update numer set sesja".$sesja." = '".$wynik."' where lp = '".$lp."' ");
?>
</form>
</html>


A drugie pytanie to: dlaczego nie wyświetla mi polskich znaków
Go to the top of the page
+Quote Post
sobstel
post 25.01.2008, 19:31:23
Post #2





Grupa: Zarejestrowani
Postów: 853
Pomógł: 25
Dołączył: 27.08.2003
Skąd: Katowice

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


Zapewne chodzi o, że powinno być 9.2 (z kropką), a nie 9,2 ( z przecinkiem). Poza tym dla walut i innych rzeczy, gdzie chcesz porównywać lepiej użyć DECIMAL.

Polecam lekturę:
http://dev.mysql.com/doc/refman/5.0/en/pro...with-float.html
oraz http://dev.mysql.com/doc/refman/5.0/en/num...e-overview.html

Ten post edytował sopel 25.01.2008, 19:32:36


--------------------
"If debugging is the process of removing bugs, then programming must be the process of putting them in..."
sobstel.org
Go to the top of the page
+Quote Post
webdice
post 25.01.2008, 19:33:46
Post #3


Developer


Grupa: Moderatorzy
Postów: 3 045
Pomógł: 290
Dołączył: 20.01.2007




Pole typu FLOAT/DOUBLE a liczby zmiennoprzecinkowe w formacie X.X.
Go to the top of the page
+Quote Post
arek100
post 25.01.2008, 19:57:10
Post #4





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 23.01.2008

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


Zgadza się, chodził o to że z przecinkiem nie przechodziło tylko z kropka guitar.gif , tylko jeszcze aby mi się wyświetlały polskie znaki to juz by było 90% sukcesu rolleyes.gif . THX
Go to the top of the page
+Quote Post
webdice
post 25.01.2008, 20:00:06
Post #5


Developer


Grupa: Moderatorzy
Postów: 3 045
Pomógł: 290
Dołączył: 20.01.2007




Strzelam,

  1. <?php
  2. mysql_query ('SET NAMES utf8');
  3. mysql_query ('SET CHARACTER_SET utf8_unicode_ci');
  4. ?>


zaraz po połączeniu się z bazą. Wstaw sobie odpowiednie kodowanie najprawdopodobniej utf8 lub latin2. Jeśli to nie pomoże podaj więcej szczegółów, a najlepiej poszukaj na forum, było wiele razy.

Ten post edytował webdicepl 25.01.2008, 20:00:20
Go to the top of the page
+Quote Post
arek100
post 25.01.2008, 20:20:24
Post #6





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 23.01.2008

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


W bazie mam pole typu varchar(30) i są wprowadzane z polskimi znakami, ale chodzi o napisy na stronie a szczególnie o ą i ź, mam kodowanie strony:
Kod
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-2"/>

co z nim nie tak??
Go to the top of the page
+Quote Post

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: 11.05.2024 - 12:03