Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wybór wierszy spełniających wszystkie wymagania
Mugol
post
Post #1





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

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


Witam
Jestem raczej poczatkujący w mysql.

Mam mały problem:
Mam tabele w której mam pola id_produkt i id_atrybut.
W której przypisuje do produktu atrybut. Każdy produkt może mieć kilka atrybutów.

czyli id_produkt może wystąpić kilkukrotnie.

Teraz na podstawie zaznaczonych w wyszukiwarce opcji (atrybutow) chciałbym wybrac odpowiednie id_produktu spełniające wszystkie zaznaczone założenia.

I tutaj pojawia się problem;/

z formularza dostaje tablice $atrybuty

rozbijam ją na stringa

$atr = implode(", ", $atrybuty);

probowałem tak ():

  1. SELECT id_produkt FROM produkt_atrybut WHERE id_atrybut = ALL ($atr) GROUP BY id_produkt;


ale baza zwraca bład przy ALL na próbę probowałem ANY ale ten sam bład. Tak jak by w nawias nie można było wsadzić cyfr tylko podzapytanie.

Probowałem też przerobić to zapytanie:
  1. $podzapytanie = "SELECT id_produkt ";
  2. $podzapytanie .= "FROM produkt_atrybut ";
  3. $podzapytanie .= "WHERE ";
  4.  
  5. foreach ($atrybuty as $row) {
  6. $podzapytanie .= "id_atrybut = '".$row."' AND ";
  7. }
  8.  
  9. $podzapytanie = rtrim( $podzapytanie, ' AND' );
  10.  
  11. $podzapytanie .= " GROUP BY id_produkt ";
  12. $podzapytanie .= ";";


Ale Z AND nie daje wyników dla więcej niz jednej opcji a z OR nie filtruje wystarczjąco.

Będę wdzięczny za jakąś podpowiedź.
Go to the top of the page
+Quote Post

Posty w temacie


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 Aktualny czas: 22.08.2025 - 01:59