このような 2 つの mysql クエリがあるとします。
if(!empty($company))
{
$q1="SELECT * FROM TABLE1 WHERE company='$company'";
}
else
{
$q1="SELECT * FROM TABLE1;
}
$r1=mysqli_query($q1);
if(!empty($color))
{
$q2="SELECT * FROM TABLE1 WHERE color='$color'";
}
else
{
$q2="SELECT * FROM TABLE1;
}
$r2=mysqli_query($q2);
結果を表示しているときに、pid(auto_incrementing 主キー) を比較してみました。
if($r1['pid]==$r2['pid])
{
/* display the contents */
}
しかし、pidが等しくない場合、何も表示されず、さらに両方が同じペースで増加しない場合、r1のpidの次の結果は23になる可能性がありますが、r2では12になります。何も表示されません。結果が少ないクエリは明らかにフィルターを機能させます。結果を表示しているwhileループの1サイクル内で小さいpidを大きいpidに等しく設定するにはどうすればよいですか? これができれば、私の問題も解決すると思いますか?
どうすればこれを達成できますか?
両方のクエリに共通する結果を表示したいだけです。
PS : これらのクエリは動的に生成されるため、$color または $company のいずれかが空の場合、すべてがテーブルから選択されます。
更新*例*
r1 はこれを返します
pid company color
1 acer red
3 hp red
5 logitech red
6 compaq red
7 microsoft red
8 lenovo red
AND r2 はこれを返します
pid company color
5 logitech red
6 compaq red
7 microsoft red
13 nvidia red
次に、上記の結果から、pid 5、6、7 が r1 と r2 の両方に存在することがわかります。これらの pid に関するすべての列を表示する方法