Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL]zawarcie warunku MYSQL w nawiasie, nawiasy w MYSQL
piekloniebo
post
Post #1





Grupa: Zarejestrowani
Postów: 45
Pomógł: 1
Dołączył: 8.06.2009
Skąd: Sopot

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


Witam,
Mam takie pytanie co powoduje zawarcie warunku w MYSQL w nawias tak jak w poniższym kodzie bo jak próbowałem bez nawiasu to wyświetla jakieś dziwne wyniki.

  1. $list = "SELECT #__{vm}_orders.order_shipping,
  2. #__{vm}_order_item.order_id,
  3. #__{vm}_order_item.product_id,
  4. #__{vm}_order_item.order_item_id,
  5. #__{vm}_order_item.order_item_name,
  6. #__{vm}_order_item.order_status,
  7. #__{vm}_order_item.product_final_price
  8. ";
  9. $list .= " FROM #__{vm}_order_item, #__{vm}_orders WHERE ";
  10. $q = "";
  11. IF (!empty($keyword)) {
  12. $q .= "(#__{vm}_order_item.order_id LIKE '%$keyword%' "; ->chodzi mi o tą linię dlaczego te warunki są w nawiasie
  13. $q .= "OR #__{vm}_order_item.order_status LIKE '%$keyword%' ";
  14. $q .= "OR #__{vm}_order_item.order_item_name LIKE '%$keyword%' ";
  15. //$q .= "OR CONCAT(`first_name`, ' ', `last_name`) LIKE '%$keyword%' ";
  16. $q .= ") AND "; -> tutaj się nawias kończy
  17. }
  18.  
  19.  



Pozdrawiam,
Darek
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
vokiel
post
Post #2





Grupa: Zarejestrowani
Postów: 2 592
Pomógł: 445
Dołączył: 12.03.2007

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


Nawiasy w sql mają podobne zadanie jak normalnie: grupują działania:
  1. SELECT * FROM test WHERE id=1 AND id_2=4 OR id_3 = 5
Rekordy, gdzie id=1 oraz id_2 =4 lub id_3=5 (czyli wystarczy ze id_3=5 i już jest ok, lub id=1 i id_2=4 niezależnie od id_3)

  1. SELECT * FROM test WHERE id=1 AND (id_2=4 OR id_3 = 5)
Rekordy, gdzie id=1 i albo id_2=4, albo id_3=5 (czyli id musi być 1 i jedno z dwóch id_2=4 lub id_3=5, ale id=1 musi być)
Go to the top of the page
+Quote Post

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: 19.09.2025 - 10:59