Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Bardziej zaawansowane zapytanie Mysql
wasyleq
post 23.07.2010, 18:29:51
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 10.07.2010

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


Witam

Bawię się w stworzenie konfiguratora komputerów,
Mam sklep oparty na Oscommerce, problem polega na tym, że mam w bazie osobno tabele products_to_categories i osobno mam także products_description

Muszę wybrać z tabeli products_to_categories produkty o wybranych kategoriach (co robię zapytaniem $obudowa_a i działa)
... A później z wyniku wybrać pierwszą komórkę z każdego wiersza jako kod produktu (products_id - czyli u mnie $ind_ob)
... I każde z tych products_id wybrać z tabeli products_description.

Niestety skrypcik nie chce zadziałać nie wiem czemu sad.gif

  1. ////---------------------------------------------------------->Obudowy
  2. echo'<center><form action="konf_pc.php"><select name="obudowa">';
  3. $obudowa_a="select * from `products_to_categories` where `categories_id` = '418' or `categories_id` = '419' or `categories_id` = '420' or `categories_id` = '421';";
  4. $obudowa_b=mysql_query($obudowa_a);
  5. while ($obudowa_c=mysql_fetch_row($obudowa_b))
  6. {
  7. $ind_ob=$obudowa_c[0];
  8. echo'ind_ob= '.$ind_ob;
  9. $aobudowa_a="select * from `products_description` where `products_id` = $ind_ob ';";
  10. $aobudowa_b=mysql_query($aobudowa_a);
  11. while($aobudowa_c=mysql_fetch_row($aobudowa_b))
  12. {
  13. echo'<option>'.$aobudowa_c[2].'</option>';
  14. }
  15. }
  16. echo'</select></center>';
  17. echo'<center><input type = submit value = "OK"></center></form>';
  18. $wob=(isset($_GET['obudowa'])) ? $_GET['obudowa'] : false;
  19. echo'<center><b> Wybrana obudowa : '.$wob;


Nie wiem gdzie popełniam błąd

Pomóżcie

Ten post edytował wasyleq 23.07.2010, 18:40:58
Go to the top of the page
+Quote Post
cojack
post 23.07.2010, 18:59:10
Post #2





Grupa: Zarejestrowani
Postów: 898
Pomógł: 80
Dołączył: 31.05.2008

Ostrzeżenie: (20%)
X----


  1. SELECT product_description.* FROM products_description LEFT JOIN products_to_categories ON ( product_to_categories.products_id = product_description.products_id ) WHERE product_to_categories.categories_id = '418' OR product_to_categories.categories_id = '419' OR product_to_categories.categories_id = '420' OR product_to_categories.categories_id = '421';



@edit
> Bardziej zaawansowane zapytanie Mysql - kpina jakaś czy co?

Ten post edytował cojack 23.07.2010, 19:02:22


--------------------
cojack blog - mój blog (na jakiś czas off).
"jak czegoś nie wiem, to nie myślę że wiem" - moja domena
Go to the top of the page
+Quote Post
Crozin
post 23.07.2010, 19:19:02
Post #3





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


@cojak: o IN() słyszał?[sql]...WHERE produc...categories_id IN (418, 419, 420, 421);[/code]
Go to the top of the page
+Quote Post
cojack
post 23.07.2010, 20:22:50
Post #4





Grupa: Zarejestrowani
Postów: 898
Pomógł: 80
Dołączył: 31.05.2008

Ostrzeżenie: (20%)
X----


Crozin pewnie że słyszałem i używam, nawet ANY, SOME i ALL ostatnio mi się udało użyć, ale w referencji manuala mysql nie ma słowa o tym że w IN mogą być wartości po przecinku tylko że tam może leżeć subquery

http://dev.mysql.com/doc/refman/5.0/en/any...subqueries.html

chyba że ja źle szukam ;]


--------------------
cojack blog - mój blog (na jakiś czas off).
"jak czegoś nie wiem, to nie myślę że wiem" - moja domena
Go to the top of the page
+Quote Post
Mchl
post 23.07.2010, 20:25:51
Post #5





Grupa: Zarejestrowani
Postów: 855
Pomógł: 145
Dołączył: 17.07.2008
Skąd: High Memory Area

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


Bo tym razem to nie operator, ale funkcja (przynajmniej tak sklasyfikowane w manualu, bo na dobrą sprawę ni pies ni wydra...)

http://dev.mysql.com/doc/refman/5.1/en/com...tml#function_in

Ten post edytował Mchl 23.07.2010, 20:26:47
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: 24.07.2025 - 10:20