Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [mysql] Przypisanie do zmiennej wyniku zapytania
Ramzi86
post 15.01.2009, 20:30:19
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 11.01.2009

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


Mam pytanie Co mam napisać żeby do zapytania 3 w miejsce questionmark.gifquestionmark.gif wstawić id samochodu będącego wynikiem zapytania 2 questionmark.gif

Kod
        $zapytanie2 =  "SELECT id_samochod FROM samochod where (model like 'Carisma') and (silnik = 1.6) ";
         $idzapytania2 = mysql_query ($zapytanie2);
      
      
       zapytanie3 = "INSERT INTO raport ( nick,id_samochod ,     rok_produkcji ,rodzaj    ,    min ,    max ,    sr   ) VALUES
            ( 'lajza', questionmark.gif questionmark.gif , 1998,  '$rodzaj', '$spmin', '$spmax' , '$spmin2')";
            
      
       $idzapytania3 = mysql_query($zapytanie3);
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
erix
post 15.01.2009, 21:28:01
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




mysql_insert_id" title="Zobacz w manualu PHP" target="_manual

Poza tym, sprawdź poprawność kodu.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
Ramzi86
post 15.01.2009, 22:06:53
Post #3





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 11.01.2009

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


Zrobiłem tak:
Kod
$zapytanie2 =  "SELECT * FROM samochod where (model like 'Lancer') and (silnik = 2.0); ";
   $idzapytania2 = mysql_query ($zapytanie2);
  
   $zmienna=mysql_fetch_assoc($idzapytania2);
echo $zmienna ['id_samochod'];


I teraz pod $zmienna mam to co chciałem mieć, ale

w bazie silnik jest typu float i mam tam wartości np 1.8, 2.0 2.2 itp
I jak zrobie tak jak powyżej to mi znajdzie Lancera z silnikiem 2.0
Ale jak napisze w warunku silnik = 1.8 to nie znajduje chociaz w bazie taki jest :/

Dlaczego ?
Go to the top of the page
+Quote Post
erix
post 15.01.2009, 22:20:33
Post #4





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Manual:
Cytat
The FLOAT and DOUBLE data types are used to represent approximate numeric data values.


PRZYBLIŻONE, a nie dokładne. Taki sam bug występuje w PHP. Używaj numeric w kolumnie zamiast float: http://forums.mysql.com/read.php?51,127128,127298#msg-127298


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
Ramzi86
post 15.01.2009, 22:35:24
Post #5





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 11.01.2009

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


spośród typów liczbowych niecałkowitych do wyboru mam decimal, float, double i real...

Jeżeli użyje "like" to działa, ale nie w przypadku wartości typu 1.0, 2.0 gdyż w bazie są zapisywane jako 1 , 2
Co należy zrobić aby te wartości widniały w bazie jako 1.0, 2.0 ?
Go to the top of the page
+Quote Post
erix
post 15.01.2009, 23:32:41
Post #6





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




A nie możesz tej wartości po prostu zapisywać jako char(3)? Zawsze masz przecież trzy znaki.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
Ramzi86
post 16.01.2009, 00:18:17
Post #7





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 11.01.2009

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


Wolałem żeby to był float ale już zmieniłem na varchara i spokój Chodzi jak należy smile.gif

Ten post edytował Ramzi86 16.01.2009, 00:18:54
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 - 00:34