2012-03-28 4 views
0

を配列をソートし、ここで私は望ましい結果 が届かないよう、誰もが(クエリは次のような結果のマッチングがループPHPで

- 61|0|0|0|0|0|0|0|0|0|0|0|0|0|70|0|0|66|0|0| 
- 63|0|0|0|0|0|0|0|0|0|0|0|0|0|78|0|0|69|0|0| 
私を取得する参照してください。そのイムが間違ってやっていることを教えてくださいすることができ、私が試したコードの一部です

)。私は値61|0|0|0|0|0|0|0|0|0|0|0|0|0|70|0|0|66|0|0|61|66|70|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|とマッチさせたいのですが、どうすればいいですか?

$value = '61|66|70|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|' $toCompare = explode("|", $value, -1); sort($toCompare); $query = $db -> query("select groups,category_group from products "); while($compare = $query -> fetch_assoc()){ $compareWith = explode("|", $compare['category_group']); sort($compareWith); if ($compareWith == $toCompare) $compareResult = $compare['category_group']; }
+0

$値は文字列であるため引用符で囲む必要があります。 –

+0

あなたは 'var_dump($ compareWith、$ toCompare)'を試して、それらが実際に同じordeRにあるかどうかを確認しましたか? –

+0

クエリには「グループ」がありますが、式には「category_group」があります...? – MrWhite

答えて

0

お客様のフェッチのみgroupsの商品表からですが、ループではcategory_groupを使用しており、毎回$compareResultに上書きします。それを配列にすると、すべての結果配列が得られます。

$compareResult = array(); 
$query = $db -> query("select groups,category_group from products "); 
    while($compare = $query -> fetch_assoc()){ 
     $compareWith = explode("|", $compare['category_group']); 
     sort($compareWith); 
    if ($compareWith == $toCompare) $compareResult[] = $compare; 
} 
+0

私はあなたが言った訂正を行いましたが、結果として空の配列を得ました –

+0

あなたには限られた情報を与え、あなたの質問を編集し、 'products'テーブル構造と追加する配列の結果を追加しました – safarov

+0

ありがとう@safarow –