テーブルが 2 つあります。プロフィールと請求書。プロファイルは、すべてのメンバーが含まれるメイン テーブルです。次に、これらの人々の何人かは請求書を持っています(個人は請求書を持っていないか、1 つまたは複数の請求書を持っている可能性があります)。請求書テーブルには、プロファイル内の関連 ID にリンクする「profileid」フィールドがあります。請求書テーブルには、「支払済み」または「未払い」のいずれかを示す「支払済み」という名前のフィールドがあります。
それが明確であることを願っています
これで、すべてのプロファイルを検索できる検索ページができました。2 つのチェックボックスがあるので、支払い済みの請求書と未払いの請求書をすべてフィルタリングできます。
個別には正常に機能しますが、一緒には機能しません。つまり、支払い済みの請求書のボックスにチェックを入れると、これまでに請求書を支払ったすべてのプロファイルが表示され、未払いにチェックを入れると、未払いの請求書を持つすべての人が表示されます。しかし、両方のボックスにチェックを入れると、結果は 0 になります。
ここに私のカウントクエリがあります:
$query = "SELECT COUNT(DISTINCT profiles.id) AS num FROM profiles
LEFT JOIN invoices ON (profiles.id=invoices.profileid)
AND (invoices.paid='Paid' OR invoices.paid='Unpaid')
WHERE
(
IFNULL(invoices.paid, '') LIKE '$paid%'
AND IFNULL(invoices.paid, '') LIKE '$unpaid%'
);
これに何年も費やし、それを機能させることができません。どんな助けも大歓迎です。ありがとう