Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] Zwracanie wyniku z bazy
pkosciej
post
Post #1





Grupa: Zarejestrowani
Postów: 53
Pomógł: 0
Dołączył: 16.02.2012

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


Oto mój kawałek pseudokodu:

Użytkownik pisuje w formularz markę samochodu (parametr - 'samochod') dalszym etapie przekazywane jest to do kodu php

  1. $samochod = $_REQUEST['samochod']; //deklarowanie zmiennej samochód podanej w formularzu
  2.  
  3. echo $samochod; //wyświetla wcześniej wpisana markę samochodu
  4.  
  5. $sql = 'SELECT marka FROM samochody WHERE marka LIKE "$samochod"';
  6.  
  7. $zalog = mysql_query($sql);
  8.  
  9. if (!$zalog)
  10. exit ('Problem')


teraz chciałbym taki myk aby:
jeżeli w bazie znajduje się taka marka samochodu to wyskoczy komunikat "jest taki samochod"
jezeli w bazie nie ma takiego samochodu tzn MySQL zwrócił pusty wynik (zero rekordów) wyskoczy komunikat "nie ma takiego samochodu"

jak to wykonać?
Prosze o pomoc
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
pkosciej
post
Post #2





Grupa: Zarejestrowani
Postów: 53
Pomógł: 0
Dołączył: 16.02.2012

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


Biorąc Wasze wszystkie uwagi wydedukowałem coś takiego:

  1. $samochod = $_POST['samochod'];
  2. echo $samochod;
  3. $sql = 'SELECT marka FROM SAMOCHODY WHERE marka LIKE "$samochod" ';
  4.  
  5. $result = mysql_query($sql);
  6. $num_results = mysql_num_rows($result);
  7. print "<p>Ilosc: ".$num_results."</p>";
  8.  
  9. if ( $num_results > 0 ) {
  10. echo 'jest';}
  11. else
  12. {
  13. echo 'nie ma';
  14. }


Polecenie to działa nie wywala żadnych błędów... prawie działa... jednak zwraca zły wynik.
kiedy w formularzu wpisze Ford to wartość $samochod przyjmuje Ford i to ładnie wyświetla mi się w echo $samochod.
jednak $num_results wyświetla mi wynik zerowy, czemu tak jest?
Próbowałem wpisać nazwę samochodu na sztywno czyli zamieniłem linijke:

  1. $sql = 'SELECT marka FROM SAMOCHODY WHERE marka LIKE "$samochod" ';


na

  1. $sql = 'SELECT marka FROM SAMOCHODY WHERE marka LIKE "Ford" ';


Wynik zwrócił mi się wtedy prawidłowy równy jeden, nie rozumiem czemu jak podstawiam zmienna w zapytaniu to to nie działa
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 14.10.2025 - 02:44