Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][SQL], zamiana varchar na money
gromas
post 12.10.2007, 07:47:14
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 26.07.2007

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


problem polega na tym ze $zminna w formacie varchar przychodzi z POSTa

i ma byc wpisana do tabeli

ale przed tym trzeba zrobic convert

i teraz po pierwsze w ktorym miejscu

po drugie jak skonstruowac polecenie convert

szukalem i znalazlem tylko konvertowanie danych pobieranych z bazy i przenoszonych do bazy ale nigdzie nie bylo z POSTa
Go to the top of the page
+Quote Post
uli
post 12.10.2007, 08:22:26
Post #2





Grupa: Zarejestrowani
Postów: 318
Pomógł: 6
Dołączył: 27.01.2005

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


A po co?

Problem tkwi w tym żeby w zapytaniu nie walnąć apostrofów:

Przykład:

  1. <?php
  2. $a = $_POST["pole_money"];
  3. $a = str_replace(',' , '.' , $a); // zamiana przecinka na kropkę
  4. ?>


ŹLE -> INSERT INTO tabela VALUES('$a');
DOBRZE -> INSERT INTO tabela VALUES($a);

Ten post edytował uli 12.10.2007, 08:24:21


--------------------
Prawo Wylera:
Nie ma rzeczy niemożliwych dla kogoś, kto nie musi ich zrobić sam.
Go to the top of the page
+Quote Post
gromas
post 12.10.2007, 08:41:37
Post #3





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 26.07.2007

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


do bazy wrzucam przez UPDATE

jak rozumiem przed updatem zamieniam , na . potem

  1. <?php
  2. if ( isset($_POST[statusakcja]) ) {
  3. mssql_query("UPDATE tw_Cena SET tc_CenaNetto0 = $a WHERE tc_IdTowar = '$_POST[sid]'");
  4. ?>


zaden blad nie wywala

ale tez wartosc w bazie sie nie zmienia
Go to the top of the page
+Quote Post
uli
post 12.10.2007, 09:26:45
Post #4





Grupa: Zarejestrowani
Postów: 318
Pomógł: 6
Dołączył: 27.01.2005

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


Preferowałbym raczej:

  1. <?php
  2. if ( isset($_POST[statusakcja]) ) {
  3. $zapytanie = "UPDATE tw_Cena SET tc_CenaNetto0 = ".$a." WHERE tc_IdTowar = '".$_POST[sid]."'";
  4. mssql_query($zapytanie);
  5. ?>


A co wywala mssql_error()?


--------------------
Prawo Wylera:
Nie ma rzeczy niemożliwych dla kogoś, kto nie musi ich zrobić sam.
Go to the top of the page
+Quote Post
gromas
post 12.10.2007, 10:25:51
Post #5





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 26.07.2007

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


ok dalem rade

po pierwsze zastosowalem zmiane , na . - zeby sie nie meczyc przy wpisywaniu

  1. <?php
  2. $a = $_POST[cena];
  3. $a = str_replace(',' , '.' , $a); // zamiana przecinka na kropkę
  4. ?>



a pozniej wystarczylo tylko

  1. <?php
  2. if ( isset($_POST[akcja]) ) {
  3. mssql_query("UPDATE tw_Cena SET tc_CenaNetto0 = CONVERT(money, $a) WHERE tc_IdTowar='$_POST[sid]'");
  4. }
  5. ?>


i niedosc ze fomat jest zgodny to mozna wpisywac i kropki i przecinki smile.gif
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: 14.08.2025 - 11:34