タイトルが一見意味をなさないことはわかっています。しかし、状況は次のとおりです。DB テーブルの名前は「teams」です。その中には、サッカー チームのポジション (gk1、def1、def2、...、st2) の列がたくさんあります。各列は VARCHAR 型で、プレーヤーの名前が含まれています。「キャプテン」という名前の列もあります。そのコラムの内容は(最も幸運な解決策ではありませんが)キャプテンの名前ではなく、むしろポジションです。
したがって、「st1」のコンテンツがズラタン イブラヒモビッチで、彼がキャプテンである場合、「キャプテン」のコンテンツは文字列「st1」であり、文字列「ズラタン イブラヒモビッチ」ではありません。
ここで、'teams' テーブルから行を取得するクエリを作成する必要がありますが、キャプテンがズラタン イブラヒモビッチの場合のみです。この時点で、彼が st1、st2、またはその他のポジションをプレイしているかどうかはわかりません。そのため、クエリで名前だけを使用して、彼がプレーするポジションがキャプテンとして設定されているかどうかを確認する必要があります。論理的には、次のようになります。
if(ズラタンがキャプテン) 行の内容を取得
MySQL では、if 条件は実際には「where」句になります。でも書き方ってあるの?
$query="select * from teams where ???";
「チーム」テーブルの構造は次のとおりです。
-----------------------------------------------------------------
| gk1 | def1 | def2 | ... | st2 | captain |
-----------------------------------------------------------------
| player1 | player2 | player3 | ... | playerN | captainPosition |
-----------------------------------------------------------------
すべてのフィールドが VARCHAR タイプです。