2017-12-22 16 views
-1

2回の照会の代わりに2つの異なる目的で使用する照会があります。配列内のすべての同じ値をグループ化します。

アレイにはカテゴリに属する​​材料が含まれています。

私は彼らが次のクエリを使用して取得:

SELECT cnt.title as content_title, 
cnt.alias as content_alias, 
cnt.id as content_id, 
cnt.catid, 
cnt.introtext, 
cnt.images, 
cat.id as cat_id, 
cat.parent_id, 
cat.title as cat_title, 
cat.alias as cat_alias 
FROM snm_content cnt 
INNER JOIN snm_categories cat 
ON cnt.catid = cat.id 
WHERE cat.parent_id = 15 

まず私は、すべてのカテゴリを持つドロップダウンリストがあり、その下にすべての材料は、(ので、ユーザは、私がいることを追加したときに、後でそれらをフィルタリングすることができます)。ただし、このクエリではすべての製品とそのカテゴリ名が取得されるため、ドロップダウンですべてのカテゴリが1回ではなく複数回表示されます。

私はそれらをクエリでグループ化できますが、ドロップダウンの下にすべての製品を表示するために2番目のクエリを追加する必要があることを意味します。

私の質問: アレイ内のすべてのカテゴリをグループ化するにはどうすればよいですか?

これには単純なPHP関数が必要です。

+0

グループのすべてのカテゴリ '' ので、所望の出力を追加してください例

$pets = array('type' => 'dog', 'age' => 1, 'type'=>'cat', 'age' => 2); 

については

あなたは、このようなことをグループに各列をarray_columnを使用することができます私の配列の中には何も意味がありません –

+0

@ DanielE.私はそれがきれいだと思った私のポストからr。同じクエリを使用して、材料1(カテゴリ1)、材料2(カテゴリ1)、すべての材料とそのカテゴリを取得します。すべてのカテゴリをドロップダウンに表示したいのですが、すべてのカテゴリではなく、各カテゴリのみを表示します。材料。 – twan

+1

php関数 'array_unique'ですか? –

答えて

0

グループ化できます。

var_dump(array_column($pets, 'type')); 

プロデュース:

array('dog', 'cat'); 
関連する問題