私は数日間頭を悩ませていて、やろうとしていることを達成する方法を見つけることができません(私はウェブ全体を検索しました!)。WHERE 句、ネストされた IF および CASE 関数を使用してみましたが、役に立ちませんでした。
モデルに関する情報を含むテーブルがあります。情報には、実際に住んでいる「国」という名前のフィールドが含まれています。「hideme」と呼ばれるフィールドもあり、その国の人の検索結果に表示されたくない場合は 1、表示されたくない場合は 0 になります。MaxMind の GeoIP DB で訪問者の国を取得しています。
ですから、これが私が望んでいることです。より明確に言いたいのは、訪問者がたとえば米国出身で、モデルが米国出身で「hideme」フィールドが 1 の場合、彼女は結果に表示されるべきではないということです。PHP や国コードの取得に問題はありません。正しい SELECT ステートメントだけです。
これまでの私のコードは次のとおりです。
$select = "SELECT user
IF (country != '$country_id', country,
IF (hideme = 1, 1, 0))
FROM models";
$result = mysql_query($select);
while ($row = mysql_fetch_array($result))
{
echo $row[user];
}
よろしくお願いします!