コーチが自分のチームを選択できるスポーツ チームのページに取り組んでいます。私がやろうとしていることは次のとおりです。
1) 異なる位置を印刷する
2) ポジション名の横に、そのポジションにのみ関連するプレーヤーを割り当てます。(つまり、ポジション名がフランカーの場合、フランカーのみがドロップダウン メニューに表示されます)
上記の問題に対する私の論理は次のとおりです。
- 位置名を $position という配列に割り当てます 配列をループします
- ループごとに異なる値を持つ位置で、データベースにクエリを実行します。
- ポジションに一致する選択されたプレーヤーは、$playerName という配列に割り当てられます
- $position 変数を出力する
- ポジションごとにドロップダウンメニューを作成
- $playername 配列の値をドロップダウン メニューのオプション要素に割り当てます。
これで、ドロップダウン メニューを使用してさまざまなポジションが表示され、その横に、ポジションに関連するプレイヤー名が表示されます。
//位置配列を作成
$position = array( "THP", "HKR", "LH", "LK4", "LK5", "FLH" ); echo '<form name="slectPlayers" method="post">'; foreach ($position as $pposition) { $result = mysql_query("SELECT `player_id`,`name`,`surname` FROM `player_info` WHERE `position` = '$pposition'") or die(mysql_error()); while ($row = mysql_fetch_array($result)) { //create arrays $id[] = $row['player_id']; $playerName[] = $row['name']; $playerLastName[] = $row['surname']; // print position and open select element foreach ($position as $playerPosition) { print $playerPosition; echo '<select>'; foreach ($playerName as $name) { //assign playername to position element echo '<option>' . $name; '</option>'; echo '</select>'; echo '<br />'; } //close assign player nae to position loop } //end print position and open select loop } //end while loop } //end opening for each loop echo '</form>';
残念ながら、私のロジックが間違っているか、コードが間違っています。これは私が得る出力です:(すべてのドロップダウンメニューにTendaiという名前のみが表示され、他の名前は表示されないことに注意してください)
誰かが私を正しい方向に向けることができれば、私は午前中ずっとこれに苦労していました。
(モディレーターへの注意: 上の画像には実名は含まれておらず、架空のデータベースにすぎません)