2016-04-10 21 views
0

私の製品の下に「関連製品」セクションを追加しようとしています。私は 私は2つの別々の選択肢を使用する場合にのみ、これを動作させることができます。私はそれらを組み合わせようとしていますが、それを働かせることはできません。MySQL 1テーブル、1選択、複数のWheres

OR(アクション= '生きている' ANDケイト= '犬の ORDER productNoのASCのLIMIT BY: - MySQLで

同じテーブル

<?php 
//select items from db 
$items = mysql_query 
    ("SELECT * FROM table WHERE (myinvno='dg300') 
    OR (action='alive' AND cate='dogs' 
    ORDER BY productNo ASC LIMIT 0, 4)"); 

or die(mysql_error()); 
while($item = mysql_fetch_array($items)) 
{ 
?> 

この部分は、関連製品のセクションのためであります0、4) ");

ありがとうございました〜

+2

あなたはSELECTを1つだけ投稿しました。また、あなたの望む出力は正確に何ですか? 2つの製品はどう関連していますか? – kero

+0

主な製品情報がすべてページに掲載されると、関連する製品セクションが表示されます。同じカテゴリにある4つの「関連する」製品の1行グリッド......製品は「ケイト」によって関連しています。どうも。 – acvintage

答えて

0

あなたは'dogs'後にクロージング親を欠落していた

$items = mysql_query(" 
SELECT * 
FROM table 
WHERE (myinvno = 'dg300') OR 
     (action = 'alive' AND cate = 'dogs') 
ORDER BY productNo ASC 
LIMIT 0, 4" 
        ); 

:正しい構文は次のようになります。

編集:

Hmmm。 。 。

SELECT * 
FROM table 
WHERE (myinvno = 'dg300') 
UNION ALL 
(SELECT * 
FROM table 
WHERE (myinvno <> 'dg300') AND 
     (action = 'alive' AND cate = 'dogs') 
ORDER BY productNo ASC 
LIMIT 0, 4 
); 

これは、最初の条件に一致するすべての行に2番目に一致する4つ以上の行を取得します。

+0

ありがとうございます。それはうまくいかなかった。 – acvintage

+0

まだ1台のテーブルで作業している間にもう一度試してみるべきですか? – acvintage

+0

私はちょうどあなたの "編集"を見て、それを今試みます。 – acvintage

関連する問題