私はPDOにかなり慣れていませんが、おそらく簡単な答えがある何かに出くわしました。
カテゴリ番号の配列があり、一致するカテゴリ番号を持つすべてのアイテムを見つけるためにmysqlデータベースを検索する必要があります。
別のクエリからカテゴリ配列を受け取っているので、DBに正しく接続していることがわかります。
$category = Array ( [0] => 3259 [1] => 3617 [2] => 3257 [3] => 3258 [4] => 3450 [5] => 3452 [6] => 3478 [7] => 3479 [8] => 3480 [9] => 3448 [10] => 3449 [11] => 3451 [12] => 3456 [13] => 3454 [14] => 3455 [15] => 3459 [16] => 3460 [17] => 3458 [18] => 3453 [19] => 3461 [20] => 3462 [21] => 3457 [22] => 3463 [23] => 3447 )
次に、アイテムデータベースを調べて、一致するカテゴリを確認する必要があります。各アイテムには複数のカテゴリを含めることができ、各カテゴリには4桁の数字があります。複数のカテゴリはa=で区切られます
$categoryResults = $conn->prepare('SELECT * FROM items WHERE category like :cats ORDER BY promotions,price ASC');
$categoryResults->execute(array(':cats' => '%'.$category.'%'));
$categoryNumber = $categoryResults->rowCount();
これは私が間違っているように見えるところです。mysqlリクエストを使用すると、配列を介したループを使用して手動でビルドし、長いSQLクエリを取得できます。
'Select * From items WHERE category like '%3259%' OR WHERE category LIKE '%3617%'........etc
しかし、これがPDOを使用する利点の1つであると確信しています。それに追加するだけで、結果が一意である必要があります。アイテム97がカテゴリ3259およびカテゴリ3617にある場合、結果を1回だけ取得したいと思います。
前もって感謝します。